国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種長連接容量的測試方法及測試系統(tǒng)與流程

      文檔序號:11524018閱讀:269來源:國知局
      一種長連接容量的測試方法及測試系統(tǒng)與流程

      本發(fā)明屬于通信技術(shù)領(lǐng)域,特別涉及長連接容量的測試方法及測試系統(tǒng)。



      背景技術(shù):

      長連接,指在一個客戶端(智能設(shè)備)和云端服務(wù)器系統(tǒng)之間的持久連接后,該連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包。在連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路心跳檢測包。

      長連接多用于操作頻繁、點對點的通訊,每個tcp連接都需要三步握手,每一步握手都需要一定時間。若果是長連接,每個操作完后都不斷開,下次操作時不用建立tcp連接,直接發(fā)送數(shù)據(jù)包。如果是短連接,每個操作時都需要重新建立tcp連接,其處理速度會降低很多。

      目前,長連接被廣泛用于手機app的推送系統(tǒng),以及位于nat網(wǎng)絡(luò)之后的智能設(shè)備,通過長連接穿透nat網(wǎng)絡(luò)而達到及服務(wù)器通信、接受遠程控制命令。

      對于需要支持千萬級長連接數(shù)量的系統(tǒng)而言,測出此系統(tǒng)可以支持的長連接數(shù)量十分重要。理論上長連接數(shù)量最大值并不一定是系統(tǒng)穩(wěn)定運行的最適合值。根據(jù)系統(tǒng)的硬件指標(biāo)及資源配置,在系統(tǒng)穩(wěn)定運行的前提下,確定出長連接數(shù)量的最大值是特別重要。



      技術(shù)實現(xiàn)要素:

      本發(fā)明提供的技術(shù)方案如下:

      本發(fā)明提供一種長連接容量的測試方法,包括以下步驟:s10、客戶端讀取虛擬服務(wù)器上的配置文件,所述配置文件包括業(yè)務(wù)服務(wù)器的臺數(shù)、每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口;s20、所述客戶端根據(jù)所述配置文件,通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的監(jiān)測端口發(fā)起長連接請求;s30、根據(jù)所述客戶端與所述業(yè)務(wù)服務(wù)器建立的長連接,實時檢測所述虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù);所述性能消耗參數(shù)包括cpu使用率、內(nèi)存占用率;s40、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則所述客戶端停止發(fā)起長連接請求,并記錄所述客戶端與所述業(yè)務(wù)服務(wù)器之間已建立的長連接數(shù)量。

      進一步,還包括以下步驟:s41、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則更換所述步驟s20中所述的監(jiān)測端口后,跳轉(zhuǎn)執(zhí)行步驟s20;或更換所述步驟s10中所述的客戶端、以及所述步驟s20中所述的業(yè)務(wù)服務(wù)器后,跳轉(zhuǎn)執(zhí)行步驟s10。

      進一步,在所述步驟s20進一步包括:s21、所述客戶端的多個連接端口根據(jù)所述配置文件,分別通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的一個監(jiān)測端口依次發(fā)起多個長連接請求。

      進一步,在所述步驟s41進一步包括:s411、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則查看該業(yè)務(wù)服務(wù)器的全部監(jiān)測端口是否均與該客戶端的連接端口建立長連接;s412、當(dāng)該業(yè)務(wù)服務(wù)器的部分監(jiān)測端口與該客戶端的連接端口建立長連接,則將所述步驟s21中所述的一個監(jiān)測端口更換成該業(yè)務(wù)服務(wù)器中的一未連接監(jiān)測端口后,跳轉(zhuǎn)執(zhí)行步驟s21;s413、當(dāng)該業(yè)務(wù)服務(wù)器的全部監(jiān)測端口均與該客戶端的連接端口建立長連接,則將所述步驟s10中所述的客戶端更換成另一客戶端,以及將所述步驟s20中所述的業(yè)務(wù)服務(wù)器更換成另一業(yè)務(wù)服務(wù)器后,跳轉(zhuǎn)執(zhí)行步驟s10。

      進一步,在所述步驟s10之前還包括:s01、搭建多臺客戶端、虛擬服務(wù)器、多臺業(yè)務(wù)服務(wù)器之間的拓?fù)錁?gòu)架,以及所述拓?fù)錁?gòu)架的網(wǎng)絡(luò)環(huán)境;所述拓?fù)錁?gòu)架中的多臺業(yè)務(wù)服務(wù)器形成一個業(yè)務(wù)服務(wù)器集群后連接于所述虛擬服務(wù)器。

      進一步,在所述步驟s10之前還包括:s03、在所述業(yè)務(wù)服務(wù)器上分別配置長連接服務(wù)程序的運行環(huán)境模式,所述測試環(huán)境模式包括生產(chǎn)環(huán)境模式、測試環(huán)境模式;所述生產(chǎn)環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器上配置一個監(jiān)測端口運行長連接服務(wù)程序;所述測試環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器上配置多個監(jiān)測端口運行長連接服務(wù)程序。

      進一步,在所述步驟s10之前還包括:s02、在所述虛擬服務(wù)器上的配置文件中至少配置4臺業(yè)務(wù)服務(wù)器,以及配置每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口,所述業(yè)務(wù)服務(wù)器監(jiān)測端口的數(shù)量少于所述客戶端上連接端口的數(shù)量。

      本發(fā)明還提供一種長連接容量的測試系統(tǒng),包括客戶端、虛擬服務(wù)器和業(yè)務(wù)服務(wù)器,所述客戶端包括:讀取模塊,用于讀取虛擬服務(wù)器上的配置文件,所述配置文件包括業(yè)務(wù)服務(wù)器的臺數(shù)、每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口;連接端口,用于根據(jù)所述配置文件,通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的監(jiān)測端口發(fā)起長連接請求;檢測模塊,用于根據(jù)所述客戶端與所述業(yè)務(wù)服務(wù)器建立的長連接,實時檢測所述虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù);所述性能消耗參數(shù)包括cpu使用率、內(nèi)存占用率;連接控制模塊和記錄模塊,當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則所述連接控制模塊用于控制停止發(fā)起長連接請求,并所述記錄模塊用于記錄所述客戶端與所述業(yè)務(wù)服務(wù)器之間已建立的長連接數(shù)量。

      進一步,所述客戶端還包括:更換模塊,用于當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則更換所述的監(jiān)測端口;或更換所述的客戶端、以及所述的業(yè)務(wù)服務(wù)器。

      進一步,所述客戶端的多個連接端口根據(jù)所述配置文件,分別通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的一個監(jiān)測端口依次發(fā)起多個長連接請求。

      與現(xiàn)有技術(shù)相比,本發(fā)明提供的長連接容量的測試方法及測試系統(tǒng),具有以下有益效果:

      1)、本發(fā)明在配置業(yè)務(wù)服務(wù)器、業(yè)務(wù)服務(wù)器的ip和監(jiān)測端口后,客戶端通過虛擬服務(wù)器向業(yè)務(wù)服務(wù)器發(fā)起長連接請求,業(yè)務(wù)服務(wù)器響應(yīng)該長連接請求,并與客戶端建立長連接后,實時檢測虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù)。當(dāng)虛擬服務(wù)器和/或業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,停止發(fā)起長連接請求,記錄得到已建立的長連接數(shù)量。本發(fā)明用最簡潔、最低成本的方法,在設(shè)定硬件指標(biāo)下,使得系統(tǒng)穩(wěn)定運行的情況下,得到系統(tǒng)的長連接數(shù)量。

      2)、本發(fā)明在測試模擬的情況下,一臺客戶端可以通過虛擬服務(wù)器向一臺業(yè)務(wù)服務(wù)器的一個監(jiān)測端口發(fā)起上萬個長連接,那么一臺客戶端可以通過虛擬服務(wù)器向一臺業(yè)務(wù)服務(wù)器的多個監(jiān)測端口發(fā)起百萬個長連接,多臺客戶端可以通過虛擬服務(wù)器向多臺業(yè)務(wù)服務(wù)器發(fā)起千萬個長連接。本發(fā)明用簡單、低成本的系統(tǒng)完成了千萬個長連接的測試。

      3)、本發(fā)明中測試環(huán)境模式適合運用于研發(fā)階段,產(chǎn)品測試階段的長連接數(shù)量測試;生產(chǎn)環(huán)境模式適合運用于產(chǎn)品實際運用過程的長連接數(shù)量確定。一個端口和多個端口在運行過程中,其性能開銷都是一樣的。因此,可以通過測試環(huán)境模式準(zhǔn)確地評估出生產(chǎn)環(huán)境模式中在業(yè)務(wù)服務(wù)器的已定硬件指標(biāo)下,可以支撐的最大長連接數(shù)量。

      4)、本發(fā)明中配置業(yè)務(wù)服務(wù)器上監(jiān)測端口的數(shù)量遠遠少于客戶端上連接端口的數(shù)量,來實現(xiàn)上千萬個長連接數(shù)量的測試;而不是配置業(yè)務(wù)服務(wù)器上監(jiān)測端口的數(shù)量大于或相當(dāng)于客戶端上連接端口的數(shù)量。不僅是為了簡化在配置文件中配置監(jiān)測端口的配置操作步驟,還為了客戶端快速讀取配置文件中配置的監(jiān)測端口。

      附圖說明

      下面將以明確易懂的方式,結(jié)合附圖說明優(yōu)選實施方式,對一種長連接容量的測試方法及測試系統(tǒng)的上述特性、技術(shù)特征、優(yōu)點及其實現(xiàn)方式予以進一步說明。

      圖1是本發(fā)明一種長連接容量的測試方法的流程示意圖;

      圖2是本發(fā)明中另一種長連接容量的測試方法的流程示意圖;

      圖3是本發(fā)明中又一種長連接容量的測試方法的流程示意圖;

      圖4是本發(fā)明一種長連接容量的測試系統(tǒng)的組成結(jié)構(gòu)示意圖;

      圖5是本發(fā)明再一種長連接容量的測試方法的流程示意圖;

      圖6是本發(fā)明另一種長連接容量的測試系統(tǒng)的組成結(jié)構(gòu)示意圖。

      附圖標(biāo)號說明:

      10、客戶端,11、讀取模塊,12、連接端口,13、檢測模塊,14、連接控制模塊,15、記錄模塊,16、查看模塊,17、更換模塊;

      20、虛擬服務(wù)器,21、文件配置模塊;

      30、業(yè)務(wù)服務(wù)器,31、模式配置模塊。

      具體實施方式

      為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對照附圖說明本發(fā)明的具體實施方式。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實施方式。

      為使圖面簡潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實際結(jié)構(gòu)。另外,以使圖面簡潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個,或僅標(biāo)出了其中的一個。在本文中,“一個”不僅表示“僅此一個”,也可以表示“多于一個”的情形。

      如圖1所示,根據(jù)本發(fā)明的一個實施例,一種長連接容量的測試方法,包括以下步驟:s10、客戶端讀取虛擬服務(wù)器上的配置文件,所述配置文件包括業(yè)務(wù)服務(wù)器的臺數(shù)、每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口;

      s20、所述客戶端根據(jù)所述配置文件,通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的監(jiān)測端口發(fā)起長連接請求;

      s30、根據(jù)所述客戶端與所述業(yè)務(wù)服務(wù)器建立的長連接,實時檢測所述虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù);所述性能消耗參數(shù)包括cpu使用率、內(nèi)存占用率;

      s40、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則所述客戶端停止發(fā)起長連接請求,并記錄所述客戶端與所述業(yè)務(wù)服務(wù)器之間已建立的長連接數(shù)量;

      優(yōu)選的,還包括:s41、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則更換所述步驟s20中所述的監(jiān)測端口后,跳轉(zhuǎn)執(zhí)行步驟s20;或更換所述步驟s10中所述的客戶端、以及所述步驟s20中所述的業(yè)務(wù)服務(wù)器后,跳轉(zhuǎn)執(zhí)行步驟s10。

      具體的,lvs是linuxvirtualserver的簡稱,也就是linux虛擬服務(wù)器,lvs的ip負(fù)載均衡技術(shù)是通過ipvs模塊(ip虛擬服務(wù)器)來實現(xiàn)。ipvs是lvs集群系統(tǒng)的核心,安裝在directorserver(調(diào)度器)上,同時,在directorserver(調(diào)度器)上虛擬出一個ip地址??蛻舳吮仨毻ㄟ^這個虛擬的ip地址訪問業(yè)務(wù)服務(wù)器。這個虛擬ip一般稱為lvs的vip,即virtualip??蛻舳税l(fā)起的訪問連接請求首先經(jīng)過vip到達負(fù)載調(diào)度器,然后由負(fù)載調(diào)度器從realserver列表中選取一個服務(wù)節(jié)點(長連接業(yè)務(wù)服務(wù)器)響應(yīng)客戶端的請求。

      socket通常稱作"套接字",用于描述ip地址和端口,是一個通信鏈的句柄,可以用來實現(xiàn)不同虛擬服務(wù)器或不同計算機之間的通信。在internet主機上一般運行了多個服務(wù)軟件,提供多種服務(wù)。每種服務(wù)都打開一個socket,并綁定到一個端口上,不同的端口對應(yīng)于不同的服務(wù)。

      如圖2所示,根據(jù)本發(fā)明的另一個實施例,一種長連接容量的測試方法,包括以下步驟:s01、搭建多臺(例如4臺)客戶端、一臺虛擬服務(wù)器、多臺(例如4臺)服務(wù)器之間的拓?fù)錁?gòu)架,以及所述拓?fù)錁?gòu)架的網(wǎng)絡(luò)環(huán)境;所述拓?fù)錁?gòu)架中的多臺業(yè)務(wù)服務(wù)器形成一個業(yè)務(wù)服務(wù)器集群后連接于所述虛擬服務(wù)器。

      s02、在所述虛擬服務(wù)器上的配置文件中至少配置4臺業(yè)務(wù)服務(wù)器,以及配置每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口。

      s03、在所述業(yè)務(wù)服務(wù)器上分別配置長連接服務(wù)程序的運行環(huán)境模式,所述測試環(huán)境模式包括生產(chǎn)環(huán)境模式、測試環(huán)境模式;所述生產(chǎn)環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器上配置一個監(jiān)測端口運行長連接服務(wù)程序;所述測試環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器上配置多個監(jiān)測端口運行長連接服務(wù)程序。

      s10、客戶端讀取虛擬服務(wù)器上的配置文件,所述配置文件包括業(yè)務(wù)服務(wù)器的臺數(shù)、每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口;

      s21、所述客戶端的多個連接端口根據(jù)所述配置文件,分別通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的一個監(jiān)測端口依次發(fā)起多個長連接請求。

      s30、根據(jù)所述客戶端與所述業(yè)務(wù)服務(wù)器建立的長連接,實時檢測所述虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù);所述性能消耗參數(shù)包括cpu使用率、內(nèi)存占用率;

      s40、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則所述客戶端停止發(fā)起長連接請求,并記錄所述客戶端與所述業(yè)務(wù)服務(wù)器之間已建立的長連接數(shù)量;

      優(yōu)選的,還包括:s41、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則更換所述步驟s20中所述的監(jiān)測端口后,跳轉(zhuǎn)執(zhí)行步驟s20;或更換所述步驟s10中所述的客戶端、以及所述步驟s20中所述的業(yè)務(wù)服務(wù)器后,跳轉(zhuǎn)執(zhí)行步驟s10。

      具體的,測試環(huán)境模式適合運用于研發(fā)階段、或者研發(fā)完成后,對產(chǎn)品進行測試的情況,生產(chǎn)環(huán)境模式適合運用于產(chǎn)品完成后的應(yīng)用環(huán)境中。長連接服務(wù)程序以一個端口運行和以多個端口運行的性能開銷都是一樣的。因此,可以通過測試環(huán)境模式準(zhǔn)確地評估出生產(chǎn)環(huán)境模式中在業(yè)務(wù)服務(wù)器的已定硬件指標(biāo)下,可以支撐的最大長連接數(shù)量。在虛擬服務(wù)器上可以配置4臺業(yè)務(wù)服務(wù)器,也可以配置5、6等臺業(yè)務(wù)服務(wù)器;每臺業(yè)務(wù)服務(wù)器上有6萬多個端口,在6萬多個端口中選擇50、60等個端口作為監(jiān)測端口。每臺客戶端有64511個端口,可以發(fā)起64511個連接(去掉1024個系統(tǒng)保留端口)。以每臺客戶端發(fā)起60000個連接為例,每臺業(yè)務(wù)服務(wù)器上配置50個監(jiān)聽端口,每臺客戶端可以向4臺業(yè)務(wù)服務(wù)器發(fā)起300萬長連接,4臺客戶端就可以向4臺業(yè)務(wù)服務(wù)器模擬1200萬個長連接。如在針對大量的智能設(shè)備(例如3000萬臺以上)和云端服務(wù)器系統(tǒng)之間的業(yè)務(wù)進行測試時,將會出現(xiàn)難以獲得真實的3000萬臺以上的智能設(shè)備進行業(yè)務(wù)測試。

      如圖3所示,根據(jù)本發(fā)明的又一個實施例,一種長連接容量的測試方法,包括以下步驟:s01、搭建多臺(例如4臺)客戶端、一臺虛擬服務(wù)器、多臺(例如4臺)服務(wù)器之間的拓?fù)錁?gòu)架,以及所述拓?fù)錁?gòu)架的網(wǎng)絡(luò)環(huán)境;所述拓?fù)錁?gòu)架中的多臺業(yè)務(wù)服務(wù)器形成一個業(yè)務(wù)服務(wù)器集群后連接于所述虛擬服務(wù)器。

      s02、在所述虛擬服務(wù)器上的配置文件中至少配置4臺業(yè)務(wù)服務(wù)器,以及配置每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口。

      s03、在所述業(yè)務(wù)服務(wù)器上分別配置長連接服務(wù)程序的運行環(huán)境模式,所述測試環(huán)境模式包括生產(chǎn)環(huán)境模式、測試環(huán)境模式;所述生產(chǎn)環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器上配置一個監(jiān)測端口運行長連接服務(wù)程序;所述測試環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器上配置多個監(jiān)測端口運行長連接服務(wù)程序。

      s10、客戶端讀取虛擬服務(wù)器上的配置文件,所述配置文件包括業(yè)務(wù)服務(wù)器的臺數(shù)、每臺業(yè)務(wù)服務(wù)器的ip和多個監(jiān)測端口;

      s21、所述客戶端的多個連接端口根據(jù)所述配置文件,分別通過所述虛擬服務(wù)器向所述業(yè)務(wù)服務(wù)器的一個監(jiān)測端口依次發(fā)起多個長連接請求。

      s30、根據(jù)所述客戶端與所述業(yè)務(wù)服務(wù)器建立的長連接,實時檢測所述虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù);所述性能消耗參數(shù)包括cpu使用率、內(nèi)存占用率;

      s40、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則所述客戶端停止發(fā)起長連接請求,并記錄所述客戶端與所述業(yè)務(wù)服務(wù)器之間已建立的長連接數(shù)量;

      s411、當(dāng)所述虛擬服務(wù)器和/或所述業(yè)務(wù)服務(wù)器的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則查看該業(yè)務(wù)服務(wù)器的全部監(jiān)測端口是否均與該客戶端的連接端口建立長連接;

      s412、當(dāng)該業(yè)務(wù)服務(wù)器的部分監(jiān)測端口與該客戶端的連接端口建立長連接,則將所述步驟s21中所述的一個監(jiān)測端口更換成該業(yè)務(wù)服務(wù)器中的一未連接監(jiān)測端口后,跳轉(zhuǎn)執(zhí)行步驟s21;

      s413、當(dāng)業(yè)務(wù)服務(wù)器的全部監(jiān)測端口與該客戶端的連接端口建立長連接,則將所述步驟s10中所述的客戶端更換成另一客戶端,以及將所述步驟s20中所述的業(yè)務(wù)服務(wù)器更換成另一業(yè)務(wù)服務(wù)器后,跳轉(zhuǎn)執(zhí)行步驟s10。

      具體的,一臺客戶端的6萬個連接端口,首次向虛擬服務(wù)器依次發(fā)起6萬個長連接請求,虛擬服務(wù)器上的負(fù)載調(diào)度器根據(jù)業(yè)務(wù)服務(wù)器的負(fù)載情況,選擇一個業(yè)務(wù)服務(wù)器后,該業(yè)務(wù)服務(wù)器的一個監(jiān)測端口依次響應(yīng)客戶端發(fā)起的6萬個長連接請求。與客戶端依次建立長連接后,實時檢測虛擬服務(wù)器、業(yè)務(wù)服務(wù)器的性能消耗參數(shù)(cpu使用率、內(nèi)存占用率)。

      當(dāng)虛擬服務(wù)器的cpu使用率、內(nèi)存占用率達到80%,和/或業(yè)務(wù)服務(wù)器的cpu使用率、內(nèi)存占用率達到80%時,則該客戶端停止發(fā)起長連接請求,并記錄該客戶端與業(yè)務(wù)服務(wù)器之間已建立的長連接數(shù)量。當(dāng)虛擬服務(wù)器的cpu使用率、內(nèi)存占用率未達到80%,和/或業(yè)務(wù)服務(wù)器的cpu使用率、內(nèi)存占用率未達到80%時,則查看該業(yè)務(wù)服務(wù)器的全部監(jiān)測端口是否均與客戶端的連接端口已建立長連接。

      當(dāng)該業(yè)務(wù)服務(wù)器的部分監(jiān)測端口與客戶端的連接端口已建立長連接,則更換為另一未連接監(jiān)測端口后,重復(fù)上述步驟。該業(yè)務(wù)服務(wù)器的全部監(jiān)測端口均與客戶端的連接端口已建立長連接,則更換成另一客戶端、另一業(yè)務(wù)服務(wù)器后,重復(fù)上述步驟。

      如圖4所示,根據(jù)本發(fā)明的一個實施例,一種長連接容量的測試系統(tǒng),包括多臺客戶端10、一臺虛擬服務(wù)器20、多臺業(yè)務(wù)服務(wù)器30:搭建多臺(例如4臺)客戶端10、一臺虛擬服務(wù)器20、多臺(例如4臺)業(yè)務(wù)服務(wù)器30之間的拓?fù)錁?gòu)架,以及所述拓?fù)錁?gòu)架的網(wǎng)絡(luò)環(huán)境;所述拓?fù)錁?gòu)架中的多臺業(yè)務(wù)服務(wù)器30形成一個業(yè)務(wù)服務(wù)器集群后連接于所述虛擬服務(wù)器20。

      所述業(yè)務(wù)服務(wù)器30包括模式配置模塊31,用于在所述業(yè)務(wù)服務(wù)器30上分別配置長連接服務(wù)程序的運行環(huán)境模式,所述測試環(huán)境模式包括生產(chǎn)環(huán)境模式、測試環(huán)境模式;所述生產(chǎn)環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器30上配置一個監(jiān)測端口運行長連接服務(wù)程序;所述測試環(huán)境模式是指:在所述業(yè)務(wù)服務(wù)器30上配置多個監(jiān)測端口運行長連接服務(wù)程序。

      所述虛擬服務(wù)器20包括文件配置模塊21,用于在所述虛擬服務(wù)器20上的配置文件中至少配置4臺業(yè)務(wù)服務(wù)器30,以及配置每臺業(yè)務(wù)服務(wù)器30的ip和多個監(jiān)測端口。

      每臺客戶端10包括:讀取模塊11,用于讀取虛擬服務(wù)器20上的配置文件,所述配置文件包括業(yè)務(wù)服務(wù)器30的臺數(shù)、每臺業(yè)務(wù)服務(wù)器30的ip和多個監(jiān)測端口;

      所述客戶端10的多個連接端口12根據(jù)所述配置文件,分別通過所述虛擬服務(wù)器20向所述業(yè)務(wù)服務(wù)器30的一個監(jiān)測端口依次發(fā)起多個長連接請求。

      檢測模塊13,用于根據(jù)所述客戶端10與所述業(yè)務(wù)服務(wù)器30建立的長連接,實時檢測所述虛擬服務(wù)器20、業(yè)務(wù)服務(wù)器30的性能消耗參數(shù);所述性能消耗參數(shù)包括cpu使用率、內(nèi)存占用率;

      連接控制模塊14和記錄模塊15,當(dāng)所述虛擬服務(wù)器20和/或所述業(yè)務(wù)服務(wù)器30的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則所述連接控制模塊14用于控制停止發(fā)起長連接請求,并所述記錄模塊15用于記錄所述客戶端10與所述業(yè)務(wù)服務(wù)器30之間已建立的長連接數(shù)量;

      查看模塊16,當(dāng)所述虛擬服務(wù)器20和/或所述業(yè)務(wù)服務(wù)器30的性能消耗參數(shù)達到預(yù)設(shè)性能消耗參數(shù)時,則查看該業(yè)務(wù)服務(wù)器30的全部監(jiān)測端口是否均與該客戶端10的連接端口12建立長連接;

      更換模塊17,用于當(dāng)該業(yè)務(wù)服務(wù)器30的部分監(jiān)測端口與該客戶端10的連接端口12建立長連接,則將所述一個監(jiān)測端口更換成該業(yè)務(wù)服務(wù)器30中的一未連接監(jiān)測端口后,重復(fù)上述步驟;

      更換模塊17,用于當(dāng)業(yè)務(wù)服務(wù)器30的全部監(jiān)測端口與該客戶端10的連接端口12建立長連接,則將所述客戶端10更換成另一客戶端10,以及將所述業(yè)務(wù)服務(wù)器30更換成另一業(yè)務(wù)服務(wù)器30后,重復(fù)上述步驟。

      具體的,檢測模塊13可以設(shè)置在客戶端10上,也可以分別設(shè)置虛擬服務(wù)器20、業(yè)務(wù)服務(wù)器30上。查看模塊16可以設(shè)置在客戶端10上,也可以設(shè)置在業(yè)務(wù)服務(wù)器30上。更換模塊17可以設(shè)置在客戶端10上,也可以設(shè)置在虛擬服務(wù)器20上。

      如圖5、圖6所示,根據(jù)本發(fā)明的再一個實施例,一種長連接容量的測試方法,包括以下步驟:搭建基于客戶機、linux虛擬服務(wù)器lvs和長連接業(yè)務(wù)服務(wù)器的三層拓?fù)浼軜?gòu)的網(wǎng)絡(luò)環(huán)境,長連接業(yè)務(wù)服務(wù)器集群連接linux虛擬服務(wù)器lvs。linux虛擬服務(wù)器lvs理論最大并發(fā)起連接數(shù)量為千萬級。但是理論最大值并不一定是業(yè)務(wù)系統(tǒng)穩(wěn)定運行的最適合值。根據(jù)業(yè)務(wù)系統(tǒng)計算資源的配置,來確定出能使業(yè)務(wù)系統(tǒng)穩(wěn)定運行的最大值,就顯示特別重要。

      在linux虛擬服務(wù)器lvs的配置文件中,配置需要轉(zhuǎn)發(fā)的長連接業(yè)務(wù)服務(wù)器的ip和端口,配置4個服務(wù)器ip,每個服務(wù)器ip配置50個端口的轉(zhuǎn)發(fā)。

      在4臺長連接業(yè)務(wù)服務(wù)器上運行長連接服務(wù)程序,長連接服務(wù)程序有生產(chǎn)環(huán)境模式和測試環(huán)境模式的區(qū)分,可通過配置文件進行配置。如果是生產(chǎn)環(huán)境模式,則長連接服務(wù)程序以長連接業(yè)務(wù)服務(wù)器上一個指定的端口運行。如果是測試環(huán)境模式,則長連接服務(wù)程序會自動讀取lvs服務(wù)器的配置文件中的內(nèi)容,根據(jù)配置的長連接業(yè)務(wù)服務(wù)器上多個端口來運行并記錄長連接服務(wù)程序的性能開銷(cpu使用率及內(nèi)存占用率)。對于長連接業(yè)務(wù)程序來說,以一個端口運行和以多個端口運行的性能開銷都是一樣的,因此,可以準(zhǔn)確地評估出在長連接業(yè)務(wù)服務(wù)器的已定硬件指標(biāo)下,可以支撐的最大長連接數(shù)量。

      在4臺客戶機運行客戶端模擬程序,客戶端模擬程序會自動讀取linux虛擬服務(wù)器lvs的配置文件中的內(nèi)容,根據(jù)配置的客戶機上多個端口來運行程序。通過socket的定義,可以知道一個客戶機的端口是可以連接到長連接業(yè)務(wù)服務(wù)器的不同端口。如果長連接業(yè)務(wù)服務(wù)器開啟50個監(jiān)聽端口,一個客戶機的端口可以發(fā)起64511個連接(去掉1024個系統(tǒng)保留端口)。以每個客戶機發(fā)起60000個連接為例,長連接業(yè)務(wù)服務(wù)器上開啟50個監(jiān)聽端口,每個客戶機可以發(fā)起300萬長連接,4臺客戶機就可以模擬1200萬個長連接??蛻舳四M程序以每分鐘啟動一個監(jiān)聽端口的方式來建立長連接,再下一次啟動監(jiān)聽端口建立長連接之前,實時檢測linux虛擬服務(wù)器lvs及長連接業(yè)務(wù)服務(wù)器的性能消耗情況,在linux虛擬服務(wù)器lvs和/或長連接業(yè)務(wù)服務(wù)器的cpu使用率小于80%、以及占用內(nèi)存小于80%的情況下,可繼續(xù)開啟下一個監(jiān)聽端口,否則停止。同時,客戶端模擬程序記錄累計長連接數(shù)量與對應(yīng)的性能消耗情況的數(shù)據(jù),供后續(xù)輸出報告。

      通過上述的方法,可以確定出linux虛擬服務(wù)器lvs(已定硬件指標(biāo))和長連接業(yè)務(wù)服務(wù)器(已定硬件指標(biāo))所能支撐的最大長連接數(shù)量。以4臺服務(wù)器、50個端口為例,可以確定在長連接業(yè)務(wù)服務(wù)器的硬件指標(biāo)改變后,可及時地確定最大長連接數(shù)量,做到彈性伸縮,根據(jù)智能終端數(shù)量合理使用服務(wù)器資源。本方法可動態(tài)擴容服務(wù)器和端口數(shù)量以支持更加海量(數(shù)億級)的長連接數(shù)量測試。

      本發(fā)明通過架設(shè)長連接業(yè)務(wù)服務(wù)器系統(tǒng)集群,并模擬長連接客戶端的程序,來確定系統(tǒng)網(wǎng)絡(luò)組件中每一層(linux虛擬服務(wù)器lvs、長連接業(yè)務(wù)服務(wù)器)的長連接容量,以正確地評估出系統(tǒng)所能支撐的智能終端硬件的數(shù)量以及對應(yīng)的系統(tǒng)服務(wù)器的硬件資源。

      本發(fā)明以較少的計算資源(4臺客戶端服務(wù)器)就可以確定出海量(千萬級規(guī)模)的長連接數(shù)量。其客戶端模擬程序及長連接服務(wù)程序自動根據(jù)linux虛擬服務(wù)器lvs配置動態(tài)啟動端口運行。此外,客戶端模擬程序可實時監(jiān)測linux虛擬服務(wù)器lvs及長連接業(yè)務(wù)服務(wù)器的性能消耗情況,并根據(jù)性能消耗動態(tài)地建立長連接,以正確地評估出服務(wù)器硬件資源所對應(yīng)的長連接數(shù)量。

      應(yīng)當(dāng)說明的是,上述實施例均可根據(jù)需要自由組合。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1