亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

性能測試裝置及其工作方法

文檔序號:7766153閱讀:241來源:國知局
專利名稱:性能測試裝置及其工作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種性能測試裝置及其工作方法。
背景技術(shù)
隨著下一代網(wǎng)絡(luò)(Next Generation Network, NGN)和 IMS (IP Multimedia Subsystem, IP多媒體子系統(tǒng))的部署和發(fā)展,越來越多的特色業(yè)務(wù)被挖掘出來,并且也有越來越多的用戶參與到這個部署的網(wǎng)絡(luò)中,這對服務(wù)器承受能力,即服務(wù)器性能,將會是一個不小的挑戰(zhàn)。在通常情況下,為數(shù)不多的客戶端連接到服務(wù)器時,服務(wù)器的響應(yīng)速度是比較理想的。但是,隨著越來越多的用戶加入到網(wǎng)絡(luò)中,服務(wù)器要提供服務(wù)的客戶端越來越多,可能就會導(dǎo)致服務(wù)器的性能大大降低,系統(tǒng)性能明顯降低,進而會嚴重影響客戶的使用。因此,為了確保服務(wù)器能夠運行在最佳的性能狀態(tài),需要對服務(wù)器的性能進行相應(yīng)的測試。其中,容量是性能中的一種很重要指標(biāo),有必要對服務(wù)器的容量進行性能測試,找出目前服務(wù)器系統(tǒng)中存在的瓶頸,以便進一步完善服務(wù)器的性能。現(xiàn)有的客戶端大多都采用一機一端的方式,即一臺計算機(PC)只能安裝一個客戶端,從而在對服務(wù)器進行大話務(wù)量測試時,必須要使用大量的(例如上萬臺)終端同時登陸服務(wù)器、以及同時執(zhí)行同一操作來實現(xiàn)大話務(wù)量。顯然,這種情形難以用現(xiàn)有的客戶端來實現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種性能測試裝置及其工作方法,以解決現(xiàn)有技術(shù)中的客戶端難以實現(xiàn)服務(wù)器的性能測試的問題。根據(jù)本發(fā)明的一個方面,提供了一種性能測試裝置,包括測試模塊,用于模擬至少一個客戶端向服務(wù)器發(fā)送信令以對服務(wù)器進行性能測試,其中,服務(wù)器為NGN網(wǎng)絡(luò)服務(wù)器或IMS網(wǎng)絡(luò)服務(wù)器;界面模塊,用于顯示性能測試的結(jié)果。根據(jù)本發(fā)明的另一方面,提供了一種性能測試裝置的工作方法,包括模擬至少一個客戶端向服務(wù)器發(fā)送信令以對服務(wù)器進行性能測試,其中,服務(wù)器為NGN網(wǎng)絡(luò)服務(wù)器或 IMS網(wǎng)絡(luò)服務(wù)器;顯示性能測試的結(jié)果。通過本發(fā)明的性能測試裝置(或工具)能夠模擬至少一個、甚至上萬個客戶端向 NGN網(wǎng)絡(luò)或IMS網(wǎng)絡(luò)中的服務(wù)器發(fā)送信令來實現(xiàn)對該服務(wù)器的性能測試,從而解決了現(xiàn)有技術(shù)中的客戶端難以實現(xiàn)服務(wù)器的性能測試的問題。


此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實施例的性能測試裝置的結(jié)構(gòu)示意圖2是根據(jù)本發(fā)明第一優(yōu)選實施例的性能測試裝置的結(jié)構(gòu)示意圖;圖3是根據(jù)本發(fā)明第二優(yōu)選實施例的性能測試裝置的結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明優(yōu)選實施例的性能測試裝置由軟件實現(xiàn)時的架構(gòu)示意圖;圖5是根據(jù)本發(fā)明實施例的服務(wù)器性能測試裝置的工作方法的流程圖;圖6是根據(jù)本發(fā)明優(yōu)選實施例的服務(wù)器性能測試裝置的具體工作流程圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖1是根據(jù)本發(fā)明實施例的性能測試裝置的結(jié)構(gòu)示意圖,包括測試模塊10,用于模擬至少一個客戶端向服務(wù)器發(fā)送信令以對服務(wù)器進行性能測試,其中,服務(wù)器為NGN網(wǎng)絡(luò)服務(wù)器或IMS網(wǎng)絡(luò)服務(wù)器;界面模塊20,用于顯示性能測試的結(jié)果。在實際應(yīng)用中,該性能測試裝置能夠模擬的客戶端數(shù)M最大可以達到6萬個,甚至更多。本實施例中的性能測試裝置(或工具),能夠模擬至少一個、甚至上萬個客戶端向 NGN網(wǎng)絡(luò)或IMS網(wǎng)絡(luò)中的服務(wù)器發(fā)送信令來實現(xiàn)對該服務(wù)器的性能測試,從而解決了現(xiàn)有技術(shù)中的客戶端難以實現(xiàn)服務(wù)器的性能測試的問題。為了根據(jù)實際需求來模擬預(yù)定數(shù)量的客戶端以及實現(xiàn)對服務(wù)器進行登陸測試,該性能測試裝置可以采取多線程管理多客戶端的方式,并預(yù)先配置需要創(chuàng)建的線程數(shù)目N、登陸的客戶端數(shù)目M等,這樣,就可以由這N個線程發(fā)起這M個客戶端的登陸流程,其中,每個客戶端可以同時獨立完成各自的登陸流程,并能同時實現(xiàn)相同的用戶操作,進而實現(xiàn)對服務(wù)器進行大話務(wù)量的登陸測試。因此,在該優(yōu)選實施例中,如圖2所示,該性能測試裝置還可以包括配置模塊30和數(shù)據(jù)初始化模塊40,其中配置模塊30用于預(yù)先配置測試參數(shù), 其中,測試參數(shù)包括所要創(chuàng)建的線程數(shù)N、所要模擬的客戶端數(shù)M、服務(wù)器域名,其中,N和M 均為正整數(shù);數(shù)據(jù)初始化模塊40用于創(chuàng)建N個線程,這N個線程分別建立與服務(wù)器的鏈接 (TCP鏈接或者UDP鏈接),在線程建立與服務(wù)器的鏈接失敗后,釋放該鏈接所占用的鏈路, 并同時關(guān)閉鏈接失敗的線程;測試模塊10還包括登陸模塊102,用于觸發(fā)這N個線程模擬 M個客戶端使用上述建立的鏈接向域名為上述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令(可以有多條,在實際應(yīng)用中登陸相關(guān)信令可以有20多條),以向該服務(wù)器進行登陸;處理模塊 104,用于根據(jù)所發(fā)送的登陸相關(guān)信令的數(shù)量以及服務(wù)器針對該登陸相關(guān)信令返回的信令的數(shù)量,計算服務(wù)器對該登陸相關(guān)信令的丟包率,并提供給界面模塊20進行顯示。從而,實現(xiàn)了大量的(M可達到上萬,如6萬)客戶端同時登陸服務(wù)器的登陸測試,并進而能夠測試出服務(wù)器處理客戶端登陸流程的丟包率。在實際應(yīng)用時,配置模塊30可以根據(jù)用戶手工在界面模塊20中輸入的測試參數(shù)進行預(yù)先配置。對于創(chuàng)建的N個線程可以采用Windows下的多線程技術(shù)。例如,每個客戶端的登陸相關(guān)信令有20條(即有20種信令,如注冊信令等),那么顯示模塊20可以顯示出每種信令的發(fā)送總數(shù)、接收到的服務(wù)器針對每種信令返回的響應(yīng)信令的總數(shù)、以及使用上述數(shù)據(jù)計算出的服務(wù)器對每種信令處理的丟包率。對于登陸流程的性能測試,該性能測試裝置在實際應(yīng)用時提供了兩種不同的測試流程,一種是自動登陸流程,另一種是手動登陸流程,其中,在自動登陸流程中該裝置可以對所要模擬的所有客戶端不斷地執(zhí)行登陸和注銷操作,而在手動登陸流程中,所要模擬的所有客戶端全部登陸成功后,即可對登陸后服務(wù)器提供的各種功能(對應(yīng)服務(wù)器的各種功能模塊)進行測試。用戶可以根據(jù)自己的實際需求來選擇使用上述的兩種中的一種登陸測試流程。為了實現(xiàn)上述功能,如圖3所示,登陸模塊102可以包括自動登陸模塊1022,用于在配置模塊30預(yù)先配置的測試參數(shù)還包括測試總時間T和登陸時間間隔Δ T的情況下, 觸發(fā)這N個線程模擬M個客戶端重復(fù)地進行登陸以及注銷操作,直至測試總時間T到達或者接收到來自用戶的停止指令;其中,每次進行登陸(即每次對M個客戶端進行登陸)時, 這N個線程會按照登陸時間間隔Δ T依次地登陸這M個客戶端,其中,對于M個客戶端的調(diào)配問題,可以采取壓力均布的原則,將這M個客戶端平均地分配給N個線程(即N個線程均勻分擔(dān)需要管理的客戶端)。即,第一個客戶端的第一個登陸相關(guān)信令發(fā)出ΔΤ時間之后, 再發(fā)送第二個客戶端的第一個登陸相關(guān)信令。從而實現(xiàn)了自動登陸流程,可見,自動登陸流程只能測試服務(wù)器的登陸性能。為了實現(xiàn)性能測試裝置的上述手動,登陸模塊102包括手動登陸模塊IOM,用于在配置模塊30預(yù)先配置的測試參數(shù)還包括登陸時間間隔△ T的情況下,觸發(fā)N個線程模擬 M個客戶端進行登陸,并在登陸成功后啟動業(yè)務(wù)測試模塊106,其中,N個線程按照登陸時間間隔ΔΤ依次地登陸M個客戶端,其中,對于M個客戶端的調(diào)配問題,可以采取壓力均布的原則,將這M個客戶端平均地分配給N個線程(即N個線程均勻分擔(dān)需要管理的客戶端)。 則,測試模塊10還可以包括業(yè)務(wù)測試模塊106,用于觸發(fā)N個線程模擬M個客戶端向服務(wù)器發(fā)送與服務(wù)器提供的操作功能相對應(yīng)的SIP(kssion Initiation Protocol,會話初始化協(xié)議)信令和/或HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)信令。從而,能同時實現(xiàn)相同的用戶操作,能夠?qū)崿F(xiàn)服務(wù)器的HTTP信令、SIP信令的性能測試,且能模擬實際應(yīng)用的各種場景,進而實現(xiàn)對服務(wù)器的大話務(wù)量的壓力測試??芍?,手動登陸模塊10M提供的手動登陸流程主要是針對服務(wù)器提供的各種功能模塊的單條信令測試,當(dāng)最后一個客戶端登陸成功之后,用戶即可進行各種功能模塊的某條信令的單獨測試,并且當(dāng)M個客戶端登陸服務(wù)器持續(xù)了一定時間之后,手動登陸模塊 10M會自動對每個客戶端發(fā)起登陸刷新,以便保證測試的正常進行。但當(dāng)客戶端需要退出登陸時,用戶可以點擊按鈕上的注銷或者退出按鈕,即可退出本次在服務(wù)器上的登陸。對于自動登陸模塊1022和手動登陸模塊10M,如果用戶觸發(fā)了界面(即界面模塊20)上的退出按鈕,則在退出之前裝置需要清空分配給客戶端的所有的數(shù)據(jù)區(qū)并殺死N個進程。在具體實施的過程中,為了準(zhǔn)確控制發(fā)送信令的速度,自動登陸模塊1022和手動登陸模塊10M在一次登陸全部M個客戶端時,可以采用多媒體定時器控制發(fā)送信令的頻率 (即1/ΔΤ),所要模擬的M個客戶端中的每個客戶端均具有唯一的序號,例如可以依次排序為1,2,…,M,由多媒體定時器進行計時,每次Δ T到達,即根據(jù)當(dāng)前客戶端的序號通知相應(yīng)的線程(即管理該當(dāng)前客戶端的線程)觸發(fā)該客戶端的登陸流程(即模擬該客戶端向服務(wù)器發(fā)送登陸相關(guān)信令)。另外,也可以不按照客戶端的序號,而是依次觸發(fā)N個線程依次地模擬自己所管理的客戶端向服務(wù)器發(fā)送登陸相關(guān)信令。顯然,本領(lǐng)域技術(shù)人員還可以采用其他的具體實施方式
,只要使得兩個客戶端的登陸流程之間相差ΔΤ即可。由于實際應(yīng)用中,登陸相關(guān)信令可能有20多條,根據(jù)實際需求還可以選擇僅針對其中的一種或多種信令來對服務(wù)器進行性能測試,這樣,登陸模塊102還用于在配置模塊 30預(yù)先配置的測試參數(shù)還包括所要發(fā)送的一種或多種信令類型的情況下,觸發(fā)這N個線程模擬M個客戶端使用建立的鏈接向服務(wù)器發(fā)送登陸相關(guān)信令中的一種或多種信令類型的信令,進行登陸。從而,實現(xiàn)了發(fā)送的信令的控制。在業(yè)務(wù)測試模塊106中,N個線程中的每個線程均綁定有一個UDP^ser Data Protocol,用戶數(shù)據(jù)協(xié)議)socket (套接字)和多個TCP (Transmission Control Protocol, 傳輸控制協(xié)議)socket,其中,TCP socket的個數(shù)不小于與該線程分配的客戶端的個數(shù),每個線程用于通過其所綁定的UDP socket向服務(wù)器發(fā)送上述與服務(wù)器提供的操作功能相對應(yīng)的SIP信令,和/或通過其所綁定的TCP socket向服務(wù)器發(fā)送上述與服務(wù)器提供的操作功能相對應(yīng)的HTTP信令。也就是說,與服務(wù)器進行SIP信令交換,采取一個線程使用一個 socket的策略,即同一個線程中的多個客戶端共用一個UDP socket,但是與服務(wù)器的HTTP 信令交換,是一個客戶端至少需要一個TCP socket,根據(jù)需要測試服務(wù)器的實際情況來確定HTTP信令采用長連接或短連接。如果客戶端的數(shù)量很大,則需要將該socket的讀、寫緩存設(shè)置為較大的值,否則,網(wǎng)卡會內(nèi)存溢出,丟掉部分信令,從而影響服務(wù)器的性能測試。同樣,為了實現(xiàn)信令發(fā)送的控制,業(yè)務(wù)測試模塊106還可以用于在配置模塊30預(yù)先配置的測試參數(shù)還包括所要發(fā)送的一種或多種信令類型的情況下,觸發(fā)這N個線程分別通過各自綁定的UDP socket向服務(wù)器發(fā)送SIP信令中的一種或多種信令類型的信令,和/ 或通過各自綁定的TCP socket向服務(wù)器發(fā)送HTTP信令中的一種或多種信令類型的信令。 從而能夠針對某一條信令或某些信令實現(xiàn)大話務(wù)量的性能測試。另外,業(yè)務(wù)測試模塊106還可以用于在配置模塊30預(yù)先配置的測試參數(shù)還包括信令發(fā)送頻率f和信令發(fā)送次數(shù)C的情況下,觸發(fā)這N個線程分別通過各自綁定的UDP socket按照該信令發(fā)送頻率f向服務(wù)器發(fā)送SIP信令C次,和/或通過各自綁定的TCP socket按照該信令發(fā)送頻率f向服務(wù)器發(fā)送HTTP信令C次。從而,實現(xiàn)了在測試服務(wù)器的某一個或一些功能的性能時,可以通過設(shè)置測試時間、信令發(fā)送頻率以及信令發(fā)送次數(shù)等來控制服務(wù)器的負載大小,進而統(tǒng)計出服務(wù)器在不同負載下的性能。與服務(wù)器的登陸性能測試相同,在對服務(wù)器的功能性能測試時,處理模塊104也可以用于根據(jù)所發(fā)送的SIP信令和/或HTTP信令的數(shù)量以及服務(wù)器針對SIP信令和/或 HTTP信令返回的信令的數(shù)量,計算服務(wù)器對SIP信令和/或HTTP信令處理的丟包率,并提供給界面模塊20進行顯示。該優(yōu)選實施例的服務(wù)器性能測試裝置設(shè)計簡單,可以很好地應(yīng)用于服務(wù)器的SIP信令和HTTP信令的性能測試中,有很好的實際應(yīng)用價值。可以根據(jù)實際需要對一些關(guān)鍵數(shù)據(jù)進行統(tǒng)計,并發(fā)給界面進行顯示,從而可以方便地對服務(wù)器性能進行評估并發(fā)現(xiàn)服務(wù)器的性能瓶頸。上述SIP信令和HTTP信令的目的IP地址顯然是該服務(wù)器的IP地址、端口號是服務(wù)器端口號,可以通過界面模塊20和配置模塊30進行預(yù)先配置。在實際應(yīng)用中,上述服務(wù)器提供的操作功能比如有消息類相關(guān)操作、聊天室的相關(guān)操作、群組相關(guān)操作、通訊錄相關(guān)操作、發(fā)布個人狀態(tài)、訂閱、以及狀態(tài)呈現(xiàn)等功能。在具體實施的過程中,可以根據(jù)實施需要使用硬件裝置來實現(xiàn)上述的性能測試裝置,同樣,也可以使用軟件來實現(xiàn)上述的性能測試裝置,例如,將該軟件安裝到PC中,通過 PC的屏幕進行顯示,以及通過PC的鍵盤、鼠標(biāo)等進行輸入。使用軟件來實現(xiàn)上述的性能測試裝置的軟件架構(gòu)示意圖如圖4所示,包括以下部分接口 anterface)主界面(即上述的界面模塊20和配置模塊30,可以由該軟件所安裝到的裝置的屏幕、鍵盤、鼠標(biāo)等來實現(xiàn)該界面模塊20和配置模塊30)和線程管理模塊的總的接口;線程管理(Thread Manage)模塊主要負責(zé)管理根據(jù)用戶通過界面模塊20預(yù)先配置的線程數(shù)N所創(chuàng)建的N個線程,并分配每個線程所管理的客戶端數(shù)(例如,將M個客戶端平均分配給N個線程),為主界面定義各種操作的接口,并將每個接口翻譯成線程消息發(fā)給各個線程處理;該線程管理模塊可以由上述的數(shù)據(jù)初始化模塊40和測試模塊10來實現(xiàn)。線程(Thread) 1、線程2、線程3···線程N :N個線程(線程數(shù)目是用戶在界面模塊 20和配置模塊30中配置),每個線程可以綁定一個用于收發(fā)SIP信令的UDP socket和多個用于收發(fā)HTTP信令的TCP socket (圖中僅示出了一個TCP socket的情況)。每個線程需要將來自線程管理模塊的消息翻譯為具體的信令發(fā)給對應(yīng)的服務(wù)器,同時也要將服務(wù)器返回的信令做統(tǒng)計,并發(fā)給主界面進行顯示。注意,如果客戶端的數(shù)量很大,則需要將socket 的緩存重新設(shè)置為較大的值,否則,網(wǎng)卡會內(nèi)存溢出,丟掉部分信令,從而影響服務(wù)器的性能測試。結(jié)合圖1至圖4所示的性能測試裝置,該裝置對服務(wù)器進行性能測試的工作方法, 如圖5所示,包括以下步驟步驟S502,模擬至少一個客戶端向服務(wù)器發(fā)送信令以對服務(wù)器進行性能測試,其中的服務(wù)器為下一代網(wǎng)絡(luò)NGN網(wǎng)絡(luò)服務(wù)器或IP多媒體子系統(tǒng)IMS網(wǎng)絡(luò)服務(wù)器;例如,可以發(fā)送登陸相關(guān)信令進行服務(wù)器的登陸性能測試,還可以發(fā)送SIP信令和/或HTTP協(xié)議信令對服務(wù)器的某一個或一些功能模塊的性能進行測試。步驟S504,顯示性能測試的結(jié)果。在實際應(yīng)用中,該性能測試裝置能夠模擬的客戶端數(shù)M最大可以達到6萬個,甚至更多。本實施例中的性能測試裝置(或工具),能夠模擬至少一個、甚至上萬個客戶端向 NGN網(wǎng)絡(luò)或IMS網(wǎng)絡(luò)中的服務(wù)器發(fā)送信令來實現(xiàn)對該服務(wù)器的性能測試,從而解決了現(xiàn)有技術(shù)中的客戶端難以實現(xiàn)服務(wù)器的性能測試的問題。為了根據(jù)實際需求來模擬預(yù)定數(shù)量的客戶端以及實現(xiàn)對服務(wù)器進行登陸測試,該性能測試裝置可以采取多線程管理多客戶端的方式,并預(yù)先配置需要創(chuàng)建的線程數(shù)目N、登陸的客戶端數(shù)目M等,這樣,就可以由這N個線程發(fā)起這M個客戶端的登陸流程,其中,每個客戶端可以同時獨立完成各自的登陸流程,并能同時實現(xiàn)相同的用戶操作,進而實現(xiàn)對服務(wù)器進行大話務(wù)量的登陸測試。因此,在該優(yōu)選實施例中,在步驟S502之前,還需要預(yù)先配置測試參數(shù),其中,測試參數(shù)包括所要創(chuàng)建的線程數(shù)N、所要模擬的客戶端數(shù)M、服務(wù)器域名,其中,N和M均為正整數(shù);然后,創(chuàng)建N個線程,這N個線程分別建立與服務(wù)器的鏈接 (TCP鏈接或者UDP鏈接),在線程建立與服務(wù)器的鏈接失敗后,釋放該鏈接所占用的鏈路, 并同時關(guān)閉鏈接失敗的線程;則步驟S502中這N個線程就可以模擬M個客戶端使用上述建立的鏈接向域名為服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令以進行登陸,并根據(jù)所發(fā)送的登陸相關(guān)信令的數(shù)量以及服務(wù)器針對登陸相關(guān)信令返回的信令的數(shù)量,計算服務(wù)器對登陸相關(guān)信令的丟包率;從而實現(xiàn)服務(wù)器的大話務(wù)量的登陸性能測試。最終,步驟S504中顯示的性能測試的結(jié)果為上述計算得到的服務(wù)器對登陸相關(guān)信令的丟包率。如圖6所示,在實際實施的過程中,上述的性能測試裝置的工作方法的流程包括以下步驟(圖中僅示出了步驟2-4)步驟1,通過界面模塊20接受用戶設(shè)置測試參數(shù),并通過配置模塊30進行參數(shù)配置。通過該界面,各個線程才能響應(yīng)用戶的指令,發(fā)送相應(yīng)的信令到服務(wù)器,同時將服務(wù)器應(yīng)答的信令結(jié)果提示給用戶,分析并實時顯示測試結(jié)果,得出服務(wù)器的性能參數(shù)。上述的測試參數(shù)包括所要模擬的客戶端數(shù)M、所要創(chuàng)建的線程數(shù)N、服務(wù)器域名、服務(wù)器的IP地址、 服務(wù)器端口號、客戶端登陸頻率(即登陸時間間隔△ T的倒數(shù))、以及發(fā)送信令控制等;該界面還可以將服務(wù)器的返回結(jié)果顯示出來,,以方便對服務(wù)器性能的評估和發(fā)現(xiàn)服務(wù)器的瓶頸。例如IMS網(wǎng)絡(luò)中,登陸性能測試過程中需要發(fā)送的登陸相關(guān)信令包括查詢與下載好友列表、好友資料、群組列表、群組資料、個人資料、以及個人狀態(tài)呈現(xiàn)等。步驟2,數(shù)據(jù)初始化模塊40進行用戶數(shù)據(jù)初始化,包括創(chuàng)建N個獨立的線程(線程1-N),每個線程建立和服務(wù)器對應(yīng)的TCP或者UDP鏈接,如果鏈接失敗,則釋放該鏈路資源,同時關(guān)閉對應(yīng)的線程;每個線程可以綁定一個用于收發(fā)SIP消息的UDP socket和多個用于收發(fā)HTTP消息的TCP socket (TCP socket的個數(shù)),并且采取壓力均布的原則,將M個客戶端平均地分配給N個線程,同時動態(tài)分配用戶區(qū),并且在每個用戶中保存一些必須的關(guān)鍵的數(shù)據(jù)。在該模塊中,改變線程數(shù)、操作的用戶數(shù)目以及發(fā)送信令的數(shù)目,都會影響服務(wù)器總的負載大小。因此,在整個測試過程中,可以通過改變參數(shù)的輸入值來測試服務(wù)器的不同負載下的性能,對比發(fā)現(xiàn)服務(wù)器性能中的瓶頸。本步驟可以采用Windows下的多線程技術(shù)。步驟3,根據(jù)用戶通過操作界面模塊20中的按鈕(如自動登陸按鈕或手動登陸按鈕),進入自動登陸流程(即啟動自動登陸模塊102 或手動登陸流程(即啟動手動登陸模塊 1024);對于登陸性能測試,可以采用多媒體定時器,所有客戶端順序登陸。具體的,由多媒體定時器進行計時,每次△ T達到,即根據(jù)當(dāng)前客戶端序號通知相應(yīng)的線程觸發(fā)該客戶端的登陸流程,比如注冊信令、獲取本人信息的信令、獲取好友信息信令以及群組信息相關(guān)信令等等。。其中,自動登陸流程僅能測試服務(wù)器的登陸性能,當(dāng)最后一個客戶端登陸成功了,N個線程就開始注銷此次登陸的所有客戶端但不釋放用戶數(shù)據(jù)區(qū)分配的資源,所有的客戶端注銷完畢后再重新登陸,一直循環(huán)直到達到設(shè)定的測試總時間或者用戶點擊了界面的停止按鈕。手動登陸流程主要是針對服務(wù)器的各種功能模塊的單條信令測試,當(dāng)最后一個客戶端登陸成功之后,用戶即可進行各種功能模塊的某條信令的單獨測試,并且當(dāng)客戶端登陸服務(wù)器持續(xù)了一定時間,N個線程會自動地對每個客戶端發(fā)起刷新登陸,這樣以便保證測試的正常進行,但當(dāng)需要退出登陸時,用戶可以點擊按鈕上的注銷或者退出按鈕,即可退出本次在服務(wù)器上的登陸信息。如果用戶觸發(fā)了界面的退出按鈕,則在退出之前需要清空所有的用戶數(shù)據(jù)區(qū)并殺死N個進程。從而,能夠測試出服務(wù)器處理客戶端登陸流程的丟包率,以便找出服務(wù)器登陸模塊的瓶頸,進而對服務(wù)器該性能進行改進步驟4,在步驟3中選擇了手動登陸流程之后,當(dāng)M個客戶端中的最后一個客戶端登陸成功之后,業(yè)務(wù)測試模塊106即可觸發(fā)N個線程針對服務(wù)器的某一個或一些功能,模擬 M個客戶端與服務(wù)器進行SIP和/或HTTP信令交換,采取一個線程使用一個UDP socket的策略,即同一個線程中的多個客戶端共用一個UDP socket,但是與服務(wù)器的HTTP信令交換,是一個客戶端至少需要一個TCP socket,根據(jù)需要測試服務(wù)器的實際情況來確定HTTP 信令采用長連接或短連接。如果客戶端的數(shù)量很大,則需要將socket的讀、寫緩存重新設(shè)置為較大的值,否則,網(wǎng)卡會內(nèi)存溢出,丟掉部分信令,從而影響服務(wù)器的性能測試。從而, 實現(xiàn)了上萬客戶端同時發(fā)送同一條或者多條SIP信令、HTTP信令,比如消息類相關(guān)操作、聊天室的相關(guān)操作、群組相關(guān)操作、通訊錄相關(guān)操作、發(fā)布個人狀態(tài)、訂閱、狀態(tài)呈現(xiàn)等等功能的大容量測試。在該模塊中,用戶測試服務(wù)器的某一功能的性能時,可以通過設(shè)置測試時間、信令發(fā)送頻率以及信令發(fā)送次數(shù)等等,可以控制服務(wù)器的負載大小,統(tǒng)計出服務(wù)器在不同負載下的性能。例如,IMS網(wǎng)絡(luò)中涉及到的信令操作主要有群組的相關(guān)操作、好友相關(guān)操作、聊天室的相關(guān)操作、本人的相關(guān)操作、消息類的相關(guān)操作以及呼叫相關(guān)操作等,測試工具需要對服務(wù)器的上述功能模塊進行單獨或組合的性能測試,以便發(fā)現(xiàn)服務(wù)器的上述各個功能模塊可能存在的瓶頸,從而進行改進和提高。從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果(1)提供了一種通用的服務(wù)器性能測試裝置及其工作方法,該測試裝置能夠?qū)崿F(xiàn)上萬個客戶端同時登陸服務(wù)器,并且同時執(zhí)行同一信令的操作,從而實現(xiàn)了 NGN網(wǎng)絡(luò)或IMS 網(wǎng)絡(luò)中的服務(wù)器的性能測試;(2)本發(fā)明的性能測試裝置的設(shè)計實現(xiàn)簡單、實用、測試結(jié)果準(zhǔn)確,能很好地發(fā)現(xiàn)服務(wù)器的性能瓶頸,并且開放性較好,特別適用于IMS網(wǎng)絡(luò)和NGN網(wǎng)絡(luò)的服務(wù)器的SIP信令和HTTP信令模塊的性能測試。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種性能測試裝置,其特征在于,包括測試模塊,用于模擬至少一個客戶端向服務(wù)器發(fā)送信令以對所述服務(wù)器進行性能測試,其中,所述服務(wù)器為下一代網(wǎng)絡(luò)NGN網(wǎng)絡(luò)服務(wù)器或IP多媒體子系統(tǒng)IMS網(wǎng)絡(luò)服務(wù)器; 界面模塊,用于顯示所述性能測試的結(jié)果。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,還包括配置模塊和數(shù)據(jù)初始化模塊,其中所述配置模塊用于預(yù)先配置測試參數(shù),其中,所述測試參數(shù)包括所要創(chuàng)建的線程數(shù) N、所要模擬的客戶端數(shù)M、服務(wù)器域名,其中,N和M均為正整數(shù);所述數(shù)據(jù)初始化模塊用于創(chuàng)建所述N個線程,所述N個線程分別建立與所述服務(wù)器的鏈接;所述測試模塊還包括登陸模塊,用于觸發(fā)所述N個線程模擬所述M個客戶端使用建立的所述鏈接向域名為所述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令,進行登陸;處理模塊,用于根據(jù)所發(fā)送的所述登陸相關(guān)信令的數(shù)量以及所述服務(wù)器針對所述登陸相關(guān)信令返回的信令的數(shù)量,計算所述服務(wù)器對所述登陸相關(guān)信令的丟包率,并提供給所述界面模塊進行顯不。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述登陸模塊包括自動登陸模塊,用于在所述測試參數(shù)還包括測試總時間和登陸時間間隔的情況下,觸發(fā)所述N個線程模擬所述M個客戶端重復(fù)地進行登陸以及注銷,直至所述測試總時間到達或接收到來自用戶的停止指令;其中,每次進行登陸時,所述N個線程按照所述登陸時間間隔依次地登陸所述M個客戶端,其中,所述M個客戶端平均分配給所述N個線程。
4.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述登陸模塊包括手動登陸模塊,用于在所述測試參數(shù)還包括登陸時間間隔的情況下,觸發(fā)所述N個線程模擬所述M個客戶端進行登陸,并在登陸成功后啟動業(yè)務(wù)測試模塊, 其中,所述N個線程按照所述登陸時間間隔依次地登陸所述M個客戶端,其中,所述M個客戶端平均分配給所述N個線程;所述測試模塊還包括所述業(yè)務(wù)測試模塊,其中所述業(yè)務(wù)測試模塊用于觸發(fā)所述N個線程模擬所述M個客戶端向所述服務(wù)器發(fā)送與所述服務(wù)器提供的操作功能相對應(yīng)的會話初始化協(xié)議SIP信令和/或超文本傳輸協(xié)議HTTP信令;所述處理模塊還用于根據(jù)所發(fā)送的所述SIP信令和/或所述HTTP信令的數(shù)量以及所述服務(wù)器針對所述SIP信令和/或所述 HTTP信令返回的信令的數(shù)量,計算所述服務(wù)器對所述SIP信令和/或所述HTTP信令的丟包率,并提供給所述界面模塊進行顯示。
5.根據(jù)權(quán)利要求2至4中任一項所述的裝置,其特征在于,所述登陸模塊用于在所述測試參數(shù)還包括所要發(fā)送的一種或多種信令類型的情況下, 觸發(fā)所述N個線程模擬所述M個客戶端使用建立的所述鏈接向所述服務(wù)器發(fā)送所述登陸相關(guān)信令中的所述一種或多種信令類型的信令,進行登陸。
6.一種性能測試裝置的工作方法,其特征在于,包括模擬至少一個客戶端向服務(wù)器發(fā)送信令以對所述服務(wù)器進行性能測試,其中,所述服務(wù)器為下一代網(wǎng)絡(luò)NGN網(wǎng)絡(luò)服務(wù)器或IP多媒體子系統(tǒng)IMS網(wǎng)絡(luò)服務(wù)器;顯示所述性能測試的結(jié)果。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在模擬至少一個客戶端向服務(wù)器發(fā)送信令以對所述服務(wù)器進行性能測試之前,還包括預(yù)先配置測試參數(shù),其中,所述測試參數(shù)包括所要創(chuàng)建的線程數(shù)N、所要模擬的客戶端數(shù)M、服務(wù)器域名,其中,N和M均為正整數(shù);創(chuàng)建所述N個線程,所述N個線程分別建立與所述服務(wù)器的鏈接;模擬至少一個客戶端向服務(wù)器發(fā)送信令以對所述服務(wù)器進行性能測試包括所述N個線程模擬所述M個客戶端使用建立的所述鏈接向域名為所述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令,進行登陸;根據(jù)所發(fā)送的所述登陸相關(guān)信令的數(shù)量以及所述服務(wù)器針對所述登陸相關(guān)信令返回的信令的數(shù)量,計算所述服務(wù)器對所述登陸相關(guān)信令的丟包率;顯示所述性能測試的結(jié)果包括顯示計算得到的所述服務(wù)器對所述登陸相關(guān)信令的丟包率。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在所述測試參數(shù)還包括測試總時間和登陸時間間隔的情況下,所述N個線程模擬所述M個客戶端使用建立的所述鏈接向域名為所述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令,進行登陸包括所述N個線程模擬所述M個客戶端重復(fù)地進行登陸以及注銷,直至所述測試總時間到達或接收到來自用戶的停止指令;其中,每次進行登陸時,所述N個線程按照所述登陸時間間隔依次地登陸所述M個客戶端,其中,所述M個客戶端平均分配給所述N個線程。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,在所述測試參數(shù)還包括登陸時間間隔的情況下,所述N個線程模擬所述M個客戶端使用建立的所述鏈接向域名為所述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令,進行登陸包括所述N個線程模擬所述M個客戶端進行登陸,其中, 所述N個線程按照所述登陸時間間隔依次地登陸所述M個客戶端,其中,所述M個客戶端平均分配給所述N個線程;在所述N個線程模擬所述M個客戶端使用建立的所述鏈接向域名為所述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令,進行登陸之后,還包括所述N個線程模擬所述M個客戶端向所述服務(wù)器發(fā)送與所述服務(wù)器提供的操作功能相對應(yīng)的會話初始化協(xié)議SIP信令和/或超文本傳輸協(xié)議HTTP信令;根據(jù)所發(fā)送的所述SIP信令和/或所述HTTP信令的數(shù)量以及所述服務(wù)器針對所述SIP信令和/或所述HTTP信令返回的信令的數(shù)量,計算所述服務(wù)器對所述 SIP信令和/或所述HTTP信令的丟包率;顯示所述性能測試的結(jié)果還包括顯示計算得到的所述服務(wù)器對所述SIP信令和/或所述HTTP信令的丟包率。
10.根據(jù)權(quán)利要求7至9中任一項所述的方法,其特征在于,在所述測試參數(shù)還包括所要發(fā)送的一種或多種信令類型的情況下,所述N個線程模擬所述M個客戶端使用建立的所述鏈接向域名為所述服務(wù)器域名的服務(wù)器發(fā)送登陸相關(guān)信令,進行登陸包括所述N個線程模擬所述M個客戶端使用建立的所述鏈接向所述服務(wù)器發(fā)送所述登陸相關(guān)信令中的所述一種或多種信令類型的信令,進行登陸。
全文摘要
本發(fā)明提供了一種性能測試裝置及其工作方法,其中,該性能測試裝置包括測試模塊,用于模擬至少一個客戶端向服務(wù)器發(fā)送信令以對服務(wù)器進行性能測試,其中,服務(wù)器為NGN網(wǎng)絡(luò)服務(wù)器或IMS網(wǎng)絡(luò)服務(wù)器;界面模塊,用于顯示性能測試的結(jié)果。本發(fā)明能夠模擬至少一個、甚至上萬個客戶端向NGN網(wǎng)絡(luò)或IMS網(wǎng)絡(luò)中的服務(wù)器發(fā)送信令來實現(xiàn)對該服務(wù)器的性能測試,從而解決了現(xiàn)有技術(shù)中的客戶端難以實現(xiàn)服務(wù)器的性能測試的問題。
文檔編號H04L12/26GK102480392SQ20101055618
公開日2012年5月30日 申請日期2010年11月23日 優(yōu)先權(quán)日2010年11月23日
發(fā)明者唐琦, 張繼棟 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1