本發(fā)明涉及互聯(lián)網(wǎng)信息數(shù)據(jù)的分析方法,更具體地,涉及一種測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)。
背景技術(shù):
在對(duì)軟件系統(tǒng)的測(cè)試中,常需要模擬真實(shí)應(yīng)用的軟硬件環(huán)境及用戶使用過程的系統(tǒng)負(fù)荷,長(zhǎng)時(shí)間或超大負(fù)荷地運(yùn)行測(cè)試軟件,來檢測(cè)被測(cè)系統(tǒng)的運(yùn)行性能、可靠性、穩(wěn)定性等,這種測(cè)試叫做壓力測(cè)試。對(duì)壓力測(cè)試的測(cè)試結(jié)果進(jìn)行匯總和分析,一般都是在測(cè)試結(jié)束后,對(duì)所有的指標(biāo)進(jìn)行匯總。但這樣做測(cè)試人員無法第一時(shí)間了解測(cè)試結(jié)果,具有實(shí)時(shí)性差的缺點(diǎn)。并且,目前常見的測(cè)試指標(biāo)的匯總計(jì)算方法,還有可能出現(xiàn)處理數(shù)據(jù)量有限、資源分布不均的情況。因此,需要一種能夠同時(shí)處理百萬級(jí)別的數(shù)據(jù)、且不會(huì)發(fā)生資源浪費(fèi)的測(cè)試指標(biāo)的匯總計(jì)算方案。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供一種測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng),以力圖解決或者至少緩解上面存在的至少一個(gè)問題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種測(cè)試指標(biāo)的分布式計(jì)算方法,該方法適于在負(fù)載服務(wù)器中執(zhí)行,負(fù)載服務(wù)器布置在測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)中,該系統(tǒng)還包括調(diào)度服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器、第三計(jì)算服務(wù)器和數(shù)據(jù)服務(wù)器,該方法包括步驟:接收由調(diào)度服務(wù)器發(fā)送的測(cè)試任務(wù)ID和測(cè)試任務(wù)信息,其中,調(diào)度服務(wù)器根據(jù)測(cè)試任務(wù)的任務(wù)量計(jì)算待啟動(dòng)進(jìn)程的數(shù)量、并根據(jù)待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器,得到第一判斷結(jié)果、再根據(jù)第一判斷結(jié)果選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器中的一個(gè)或多個(gè)、發(fā)送測(cè)試任務(wù)ID給所選取的上述服務(wù)器;按預(yù)定規(guī)則為待啟動(dòng)的進(jìn)程分配虛擬用戶,根據(jù)測(cè)試任務(wù)信息獲取測(cè)試腳本,開啟測(cè)試并記錄測(cè)試數(shù)據(jù);若第一判斷結(jié)果指示完成本測(cè)試任務(wù)不需要第二計(jì)算服務(wù)器,則實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器,以便第一計(jì)算服務(wù)器計(jì)算第一測(cè)試指標(biāo);若第一判斷結(jié)果指示完成本測(cè)試任務(wù)需要第二計(jì)算服務(wù)器,則實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給所選擇的第二計(jì)算服務(wù)器,以便第二計(jì)算服務(wù)器計(jì)算第一測(cè)試指標(biāo)、并將算出的第一測(cè)試指標(biāo)傳送給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器;實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第三計(jì)算服務(wù)器,以便第三計(jì)算服務(wù)器計(jì)算第二測(cè)試指標(biāo)、并在測(cè)試結(jié)束后將第二測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器;以及發(fā)送虛擬用戶的數(shù)量給第一計(jì)算服務(wù)器,由第一計(jì)算服務(wù)器每隔預(yù)定時(shí)間將虛擬用戶的數(shù)量和第一測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,按預(yù)定規(guī)則為待啟動(dòng)的進(jìn)程分配虛擬用戶的步驟包括:優(yōu)先按照每個(gè)待啟動(dòng)的進(jìn)程允許的最大用戶數(shù)分配虛擬用戶。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值,則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器;以及若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,第一閾值為13。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,第一測(cè)試指標(biāo)包括:點(diǎn)擊數(shù)、錯(cuò)誤率、處理時(shí)間、每秒事務(wù)數(shù)、輸入輸出速率、事務(wù)處理時(shí)間、每秒事務(wù)數(shù),每秒事務(wù)總數(shù)、每秒點(diǎn)擊數(shù)、每秒響應(yīng)數(shù)、每秒http響應(yīng)數(shù)、每秒錯(cuò)誤數(shù)、每秒錯(cuò)誤總數(shù)、錯(cuò)誤率、每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)、平均處理時(shí)間、最小處理時(shí)間、最大處理時(shí)間、執(zhí)行總次數(shù)、失敗總次數(shù)、成功總次數(shù)、告警數(shù)、告警率。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,第二測(cè)試指標(biāo)是統(tǒng)計(jì)類型的測(cè)試指標(biāo)。
根據(jù)本發(fā)明的另一方面,提供了一種測(cè)試指標(biāo)的分布式計(jì)算方法,該方法適于在調(diào)度服務(wù)器中執(zhí)行,調(diào)度服務(wù)器布置在測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)中,該系統(tǒng)還包括負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器、第三計(jì)算服務(wù)器和數(shù)據(jù)服務(wù)器,該方法包括步驟:根據(jù)測(cè)試任務(wù)的任務(wù)量計(jì)算用于執(zhí)行該測(cè)試任務(wù)的待啟動(dòng)進(jìn)程的數(shù)量;根據(jù)待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器,得到第一判斷結(jié)果;當(dāng)?shù)谝慌袛嘟Y(jié)果指示需要啟動(dòng)第二計(jì)算服務(wù)器時(shí),從該系統(tǒng)中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器;當(dāng)?shù)谝慌袛嘟Y(jié)果指示不需要啟動(dòng)第二計(jì)算服務(wù)器時(shí),從該系統(tǒng)中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器、第一計(jì)算服務(wù)器和第三計(jì)算服務(wù)器;以及發(fā)送測(cè)試任務(wù)ID給所選取的服務(wù)器,并發(fā)送測(cè)試任務(wù)信息給所選取的負(fù)載服務(wù)器,由負(fù)載服務(wù)器執(zhí)行本測(cè)試任務(wù),將測(cè)試數(shù)據(jù)發(fā)送給第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器中的一個(gè)或多個(gè),由這些服務(wù)器根據(jù)測(cè)試數(shù)據(jù)計(jì)算測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,系統(tǒng)中包括多個(gè)負(fù)載服務(wù)器和多個(gè)第二計(jì)算服務(wù)器,選取步驟包括:按照多個(gè)負(fù)載服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器;按照多個(gè)第二計(jì)算服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的第二計(jì)算服務(wù)器。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,根據(jù)待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器、得到第一判斷結(jié)果的步驟包括:若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值,則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器;以及若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,第一閾值為13。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,在第一判斷結(jié)果指示需啟動(dòng)第二計(jì)算服務(wù)器時(shí),還包括,計(jì)算要選取的第二計(jì)算服務(wù)器的數(shù)量的步驟:通過待啟動(dòng)進(jìn)程的數(shù)量除以第一數(shù)目得到要選取的第二計(jì)算服務(wù)器的數(shù)量。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,還包括步驟:接收該系統(tǒng)中負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器的注冊(cè)請(qǐng)求,記錄上述服務(wù)器的服務(wù)器ID;以及獲取上述已注冊(cè)服務(wù)器的資源占用情況,并與其服務(wù)器ID關(guān)聯(lián)存儲(chǔ)。
可選地,在根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算方法中,在選取步驟之后、發(fā)送測(cè)試任務(wù)ID給所選取的服務(wù)器步驟之前,還包括步驟:檢測(cè)與所選取的上述服務(wù)器通信連接是否正常;若任一個(gè)上述服務(wù)器的通信連接不正常,則返回錯(cuò)誤碼,終止測(cè)試。
根據(jù)本發(fā)明的另一方面,提供了一種負(fù)載服務(wù)器,布置在測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)中,該系統(tǒng)還包括調(diào)度服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器、第三計(jì)算服務(wù)器、數(shù)據(jù)服務(wù)器,且各服務(wù)器之間相互連接,負(fù)載服務(wù)器包括:接口單元,適于接收由調(diào)度服務(wù)器發(fā)送的測(cè)試任務(wù)ID和測(cè)試任務(wù)信息,其中,調(diào)度服務(wù)器根據(jù)測(cè)試任務(wù)的任務(wù)量計(jì)算待啟動(dòng)進(jìn)程的數(shù)量、并根據(jù)所述待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器,得到第一判斷結(jié)果、再根據(jù)第一判斷結(jié)果選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器中的一個(gè)或多個(gè)、發(fā)送測(cè)試任務(wù)ID給所選取的上述服務(wù)器;控制單元,適于按預(yù)定規(guī)則為待啟動(dòng)的進(jìn)程分配虛擬用戶;測(cè)試單元,適于根據(jù)測(cè)試任務(wù)信息獲取測(cè)試腳本,開啟測(cè)試并記錄測(cè)試數(shù)據(jù);接口單元還適于在第一判斷結(jié)果指示完成本測(cè)試任務(wù)不需要第二計(jì)算服務(wù)器時(shí),實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器,以便第一計(jì)算服務(wù)器計(jì)算第一測(cè)試指標(biāo),并且,在第一判斷結(jié)果指示完成本測(cè)試任務(wù)需要第二計(jì)算服務(wù)器時(shí),實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給所選擇的第二計(jì)算服務(wù)器,以便第二計(jì)算服務(wù)器計(jì)算第一測(cè)試指標(biāo)、并將算出的第一測(cè)試指標(biāo)傳送給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器;接口單元還適于實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第三計(jì)算服務(wù)器,以便第三計(jì)算服務(wù)器計(jì)算第二測(cè)試指標(biāo)、并在測(cè)試結(jié)束后將第二測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器;接口單元還適于發(fā)送虛擬用戶的數(shù)量給第一計(jì)算服務(wù)器,由第一計(jì)算服務(wù)器每隔預(yù)定時(shí)間將虛擬用戶的數(shù)量和第一測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器。
可選地,在根據(jù)本發(fā)明的負(fù)載服務(wù)器中,控制單元還適于優(yōu)先按照每個(gè)待啟動(dòng)的進(jìn)程允許的最大用戶數(shù)分配虛擬用戶。
可選地,在根據(jù)本發(fā)明的負(fù)載服務(wù)器中,若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值,則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器;以及若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
可選地,在根據(jù)本發(fā)明的負(fù)載服務(wù)器中,第一閾值為13。
可選地,在根據(jù)本發(fā)明的負(fù)載服務(wù)器中,第一測(cè)試指標(biāo)包括:點(diǎn)擊數(shù)、錯(cuò)誤率、處理時(shí)間、每秒事務(wù)數(shù)、輸入輸出速率、事務(wù)處理時(shí)間、每秒事務(wù)數(shù),每秒事務(wù)總數(shù)、每秒點(diǎn)擊數(shù)、每秒響應(yīng)數(shù)、每秒http響應(yīng)數(shù)、每秒錯(cuò)誤數(shù)、每秒錯(cuò)誤總數(shù)、錯(cuò)誤率、每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)、平均處理時(shí)間、最小處理時(shí)間、最大處理時(shí)間、執(zhí)行總次數(shù)、失敗總次數(shù)、成功總次數(shù)、告警數(shù)、告警率。
可選地,在根據(jù)本發(fā)明的負(fù)載服務(wù)器中,第二測(cè)試指標(biāo)是統(tǒng)計(jì)類型的測(cè)試指標(biāo)。
根據(jù)本發(fā)明的另一方面,提供了一種調(diào)度服務(wù)器,布置在測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)中,該系統(tǒng)還包括負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器、第三計(jì)算服務(wù)器、數(shù)據(jù)服務(wù)器,且各服務(wù)器之間相互連接,調(diào)度服務(wù)器包括:計(jì)算單元,適于根據(jù)測(cè)試任務(wù)的任務(wù)量計(jì)算用于執(zhí)行該測(cè)試任務(wù)的待啟動(dòng)進(jìn)程的數(shù)量;判斷單元,適于根據(jù)待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器,得到第一判斷結(jié)果;控制單元,適于在第一判斷結(jié)果指示需要啟動(dòng)第二計(jì)算服務(wù)器時(shí),從該系統(tǒng)中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器,且,在第一判斷結(jié)果指示不需要啟動(dòng)第二計(jì)算服務(wù)器時(shí),從該系統(tǒng)中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器、第一計(jì)算服務(wù)器和第三計(jì)算服務(wù)器;接口單元,適于發(fā)送測(cè)試任務(wù)ID給所選取的服務(wù)器,并發(fā)送測(cè)試任務(wù)信息給所選取的負(fù)載服務(wù)器,由負(fù)載服務(wù)器執(zhí)行本測(cè)試任務(wù),將測(cè)試數(shù)據(jù)發(fā)送給第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器中的一個(gè)或多個(gè),由這些服務(wù)器根據(jù)測(cè)試數(shù)據(jù)計(jì)算測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器。
可選地,在根據(jù)本發(fā)明的調(diào)度服務(wù)器中,系統(tǒng)中包括多個(gè)負(fù)載服務(wù)器和多個(gè)第二計(jì)算服務(wù)器,控制單元還適于:按照多個(gè)負(fù)載服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器;按照多個(gè)第二計(jì)算服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的第二計(jì)算服務(wù)器。
可選地,在根據(jù)本發(fā)明的調(diào)度服務(wù)器中,判斷單元還適于在待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值時(shí),得到第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器,在待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值時(shí),得到第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
可選地,在根據(jù)本發(fā)明的調(diào)度服務(wù)器中,第一閾值為13。
可選地,在根據(jù)本發(fā)明的調(diào)度服務(wù)器中,控制單元還包括計(jì)算子單元,計(jì)算子單元適于通過待啟動(dòng)進(jìn)程的數(shù)量除以第一數(shù)目計(jì)算得到要選取的第二計(jì)算服務(wù)器的數(shù)量。
可選地,在根據(jù)本發(fā)明的調(diào)度服務(wù)器中,接口單元還適于接收該系統(tǒng)中負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器的注冊(cè)請(qǐng)求、且適于獲取上述已注冊(cè)服務(wù)器的資源占用情況;調(diào)度服務(wù)器還包括存儲(chǔ)單元,適于存儲(chǔ)上述服務(wù)器的服務(wù)器ID,并與將服務(wù)器ID與該服務(wù)器的資源占用情況關(guān)聯(lián)存儲(chǔ)。
可選地,在根據(jù)本發(fā)明的調(diào)度服務(wù)器中,控制單元還適于檢測(cè)與待分配的上述服務(wù)器通信連接是否正常,若任一個(gè)上述服務(wù)器的通信連接不正常,則返回錯(cuò)誤碼,終止測(cè)試。
根據(jù)本發(fā)明的另一方面,提供了一種測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng),包括:如上所述的負(fù)載服務(wù)器;如上所述的調(diào)度服務(wù)器;第一計(jì)算服務(wù)器,適于在待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值時(shí),接收由負(fù)載服務(wù)器發(fā)送的測(cè)試數(shù)據(jù)、并根據(jù)測(cè)試數(shù)據(jù)計(jì)算第一測(cè)試指標(biāo),還適于在待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值時(shí),接收由第二計(jì)算服務(wù)器計(jì)算的第一測(cè)試指標(biāo),還適于接收由負(fù)載服務(wù)器發(fā)送的虛擬用戶的數(shù)量、并每隔預(yù)定時(shí)間將虛擬用戶的數(shù)量與第一測(cè)試指標(biāo)一并發(fā)送給數(shù)據(jù)服務(wù)器;第二計(jì)算服務(wù)器,適于在待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值時(shí),接收由負(fù)載服務(wù)器發(fā)送的測(cè)試數(shù)據(jù)、并計(jì)算出第一測(cè)試指標(biāo)傳送給第一計(jì)算服務(wù)器;第三計(jì)算服務(wù)器,適于接收由負(fù)載服務(wù)器發(fā)送的測(cè)試數(shù)據(jù)并計(jì)算出第二測(cè)試指標(biāo)、在測(cè)試結(jié)束后將第二測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器;以及數(shù)據(jù)服務(wù)器,適于接收由第一計(jì)算服務(wù)器發(fā)送的第一測(cè)試指標(biāo)和由第三計(jì)算服務(wù)器發(fā)送的第三測(cè)試指標(biāo)。
根據(jù)本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng),能夠根據(jù)虛擬用戶量無限地?cái)U(kuò)展生成第二計(jì)算服務(wù)器,來處理百萬級(jí)別的數(shù)據(jù)。并且,由調(diào)度服務(wù)器根據(jù)測(cè)試任務(wù)量計(jì)算待啟動(dòng)進(jìn)程的數(shù)量、再結(jié)合各服務(wù)器上資源的使用情況選取完成本次測(cè)試任務(wù)需要的各類服務(wù)器,只有當(dāng)待啟動(dòng)進(jìn)程的數(shù)量大于第一閾值時(shí)才會(huì)擴(kuò)展第二計(jì)算服務(wù)器,避免了因?yàn)闊o限擴(kuò)展第二計(jì)算服務(wù)器而造成資源浪費(fèi)。
附圖說明
為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實(shí)踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細(xì)描述,本公開的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開,相同的附圖標(biāo)記通常指代相同的部件或元素。
圖1示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施方式的測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)100的示意圖;
圖2示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施方式的在系統(tǒng)100中進(jìn)行測(cè)試指標(biāo)的分布式計(jì)算的交互圖;
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的負(fù)載服務(wù)器120的框圖;以及
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的調(diào)度服務(wù)器110的框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施方式的測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)100的示意圖。該系統(tǒng)100包括調(diào)度服務(wù)器110、負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140、第三計(jì)算服務(wù)器150和數(shù)據(jù)服務(wù)器160。應(yīng)當(dāng)指出,圖1中的系統(tǒng)100僅是示例性的,在具體的實(shí)踐情況中,系統(tǒng)100中可以有不同數(shù)量的服務(wù)器,具體地,可以布置不同數(shù)量的負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140、第三計(jì)算服務(wù)器150,甚至是多個(gè)調(diào)度服務(wù)器110、數(shù)據(jù)服務(wù)器160,本發(fā)明對(duì)系統(tǒng)100中所包括的各種服務(wù)器的數(shù)目不做限制。同時(shí),也可以根據(jù)實(shí)際情況,通過配置系統(tǒng)100中的服務(wù)器的配置文件,將服務(wù)器配置成以上任何一種服務(wù)器。
根據(jù)一種實(shí)施方式,在進(jìn)行壓力測(cè)試時(shí),由測(cè)試人員掌握發(fā)起多少量級(jí)的壓力,調(diào)度服務(wù)器110接收測(cè)試人員發(fā)起的測(cè)試請(qǐng)求,根據(jù)測(cè)試任務(wù)的任務(wù)量(諸如測(cè)試選擇區(qū)域點(diǎn)、測(cè)試任務(wù)數(shù)、虛擬用戶數(shù)量等)和系統(tǒng)100內(nèi)各服務(wù)器上資源的使用情況,分配出本次測(cè)試任務(wù)所需的各類服務(wù)器。
在初始化每臺(tái)負(fù)載服務(wù)器上的進(jìn)程實(shí)例,并分配內(nèi)存、CPU等資源后,負(fù)載服務(wù)器120模擬用戶的訪問操作,開始?jí)毫y(cè)試。
第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140、第三計(jì)算服務(wù)器150分別用于匯總計(jì)算壓力測(cè)試的測(cè)試指標(biāo)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在系統(tǒng)100中布置1臺(tái)第一計(jì)算服務(wù)器130和1臺(tái)第三計(jì)算服務(wù)器150,分別用于計(jì)算壓力測(cè)試的不同測(cè)試指標(biāo);同時(shí),布置多臺(tái)第二計(jì)算服務(wù)器140,作為第一計(jì)算服務(wù)器130的備用服務(wù)器,當(dāng)壓力測(cè)試的測(cè)試任務(wù)量很龐大時(shí),1臺(tái)第一計(jì)算服務(wù)器130無法處理這么龐大的數(shù)據(jù)量,就會(huì)啟動(dòng)多臺(tái)第二計(jì)算服務(wù)器140來協(xié)助第一計(jì)算服務(wù)器130完成測(cè)試指標(biāo)的計(jì)算。
數(shù)據(jù)服務(wù)器160用于匯總所計(jì)算的各類測(cè)試指標(biāo),最后將其(通過后臺(tái)服務(wù)器)推送給測(cè)試人員。
下面將詳細(xì)介紹系統(tǒng)100在進(jìn)行測(cè)試指標(biāo)計(jì)算時(shí)各服務(wù)器的交互流程,如圖2,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在系統(tǒng)100中進(jìn)行測(cè)試指標(biāo)的分布式計(jì)算的交互圖。
在步驟S201中,當(dāng)負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140和第三計(jì)算服務(wù)器150第一次接入系統(tǒng)100時(shí),向調(diào)度服務(wù)器110發(fā)送注冊(cè)請(qǐng)求。
在步驟S202中,調(diào)度服務(wù)器110接收到注冊(cè)請(qǐng)求,記錄上述服務(wù)器的服務(wù)器ID。
步驟S203中,調(diào)度服務(wù)器110根據(jù)已注冊(cè)的服務(wù)器ID獲取上述服務(wù)器的資源(包括全部資源、空閑資源、已用資源)的占用情況,并與其服務(wù)器ID關(guān)聯(lián)存儲(chǔ)。在后續(xù)完成測(cè)試任務(wù)的步驟中,調(diào)度服務(wù)器110可以通過服務(wù)器ID選取對(duì)應(yīng)的服務(wù)器。
可選地,調(diào)度服務(wù)器110通過標(biāo)記服務(wù)器的進(jìn)程ID來記錄服務(wù)器上的資源占用情況。
當(dāng)測(cè)試人員發(fā)起要進(jìn)行壓力測(cè)試的指令時(shí),步驟S204中,調(diào)度服務(wù)器110根據(jù)測(cè)試任務(wù)的任務(wù)量(諸如測(cè)試選擇區(qū)域點(diǎn)、測(cè)試任務(wù)數(shù)、虛擬用戶數(shù)量等)計(jì)算用于執(zhí)行該測(cè)試任務(wù)的待啟動(dòng)進(jìn)程的數(shù)量。以一個(gè)簡(jiǎn)單的例子說明,若測(cè)試人員指示虛擬用戶數(shù)為1000虛擬用戶,若負(fù)載服務(wù)器上一個(gè)進(jìn)程可以跑200個(gè)虛擬用戶,那么,待啟動(dòng)進(jìn)程的數(shù)量就是5。
隨后在步驟S205中,調(diào)度服務(wù)器110根據(jù)待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器140,得到第一判斷結(jié)果。
根據(jù)本發(fā)明的實(shí)施方式,若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值,則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器140;若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器140。其中,第一閾值為13。也就是說,當(dāng)待啟動(dòng)進(jìn)程的數(shù)量在1-13之間時(shí),判斷本次測(cè)試任務(wù)的數(shù)據(jù)量并不是很大,不需要額外啟動(dòng)第二計(jì)算服務(wù)器140來輔助計(jì)算測(cè)試指標(biāo);反之,當(dāng)待啟動(dòng)進(jìn)程的數(shù)量超過13時(shí),判斷本次測(cè)試任務(wù)的數(shù)據(jù)量很大,需要啟動(dòng)第二計(jì)算服務(wù)器140來輔助計(jì)算測(cè)試指標(biāo)。
在隨后的步驟S206中,根據(jù)系統(tǒng)100中各服務(wù)器上的資源占用情況(見步驟S201-步驟S203)選取完成本測(cè)試任務(wù)所需的各種服務(wù)器。根據(jù)第一判斷結(jié)果可以分成兩種情況考慮:
當(dāng)?shù)谝慌袛嘟Y(jié)果指示需要啟動(dòng)第二計(jì)算服務(wù)器140時(shí),計(jì)算要選取的第二計(jì)算服務(wù)器140的數(shù)量,即,通過待啟動(dòng)進(jìn)程的數(shù)量除以第一數(shù)目得到要選取的第二計(jì)算服務(wù)器的數(shù)量??蛇x地,第一數(shù)目為7。假設(shè)在步驟S204中算得的待啟動(dòng)進(jìn)程的數(shù)量為26,26÷7≈3.7,那么第二計(jì)算服務(wù)器的數(shù)量為4。
從該系統(tǒng)100中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140和第三計(jì)算服務(wù)器150時(shí),根據(jù)本發(fā)明的實(shí)施例,第一計(jì)算服務(wù)器130和第三計(jì)算服務(wù)器150可以直接選??;按照多個(gè)負(fù)載服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器120;按照多個(gè)第二計(jì)算服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的第二計(jì)算服務(wù)器140。
另一種情況,當(dāng)?shù)谝慌袛嘟Y(jié)果指示不需要啟動(dòng)第二計(jì)算服務(wù)器140時(shí),從該系統(tǒng)100中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130和第三計(jì)算服務(wù)器150。同樣地,第一計(jì)算服務(wù)器130和第三計(jì)算服務(wù)器150可以直接選??;按照多個(gè)負(fù)載服務(wù)器上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器120。
根據(jù)一種實(shí)現(xiàn)方式,若系統(tǒng)100中有多個(gè)第一計(jì)算服務(wù)器130或多個(gè)第三計(jì)算服務(wù)器150,則按照第一計(jì)算服務(wù)器或第三計(jì)算服務(wù)器上已占用資源從高到低的順序選取第一個(gè)第一計(jì)算服務(wù)器130或第一個(gè)第三計(jì)算服務(wù)器。
根據(jù)一種實(shí)現(xiàn)方式,若測(cè)試人員指示在北京-聯(lián)通發(fā)起并發(fā)測(cè)試,則根據(jù)該指示僅在布置在北京地區(qū)的相應(yīng)服務(wù)器中進(jìn)行排序、選取服務(wù)器。
隨后在步驟S207中,調(diào)度服務(wù)器110發(fā)送測(cè)試任務(wù)ID給所選取的上述服務(wù)器,并發(fā)送測(cè)試任務(wù)信息給所選取的負(fù)載服務(wù)器120。需要注意的是,由于調(diào)度服務(wù)器110不一定要發(fā)送測(cè)試任務(wù)ID給第二計(jì)算服務(wù)器140,故在圖2中,以虛線表示調(diào)度服務(wù)器110向第二計(jì)算服務(wù)器140發(fā)送測(cè)試任務(wù)ID。
隨后在步驟S208中,接收到測(cè)試任務(wù)ID和測(cè)試任務(wù)信息的負(fù)載服務(wù)器120按預(yù)定規(guī)則為待啟動(dòng)的進(jìn)程分配虛擬用戶,可選地,按預(yù)定規(guī)則為待啟動(dòng)的進(jìn)程分配虛擬用戶就是優(yōu)先按照每個(gè)待啟動(dòng)的進(jìn)程允許的最大用戶數(shù)分配虛擬用戶。例如,調(diào)度服務(wù)器110選取了3臺(tái)負(fù)載服務(wù)器120,按順序排序分別標(biāo)記為:Loader0、Loader1、Loader2,其中,Loader0中空閑的資源(進(jìn)程)最少,那么在分配虛擬用戶時(shí),先按順序?yàn)長(zhǎng)oader0中的進(jìn)程分配虛擬用戶,也就是,靠前面分配虛擬用戶的進(jìn)程都是滿載運(yùn)行,最后一個(gè)進(jìn)程根據(jù)虛擬用戶的個(gè)數(shù)可能是滿載或者不是滿載運(yùn)行的。
當(dāng)所有虛擬用戶都分配完后,負(fù)載服務(wù)器120根據(jù)測(cè)試任務(wù)信息獲取測(cè)試腳本,開啟測(cè)試并記錄測(cè)試數(shù)據(jù)??蛇x地,負(fù)載服務(wù)器120模擬虛擬用戶的訪問操作,發(fā)起請(qǐng)求。
隨后在步驟S209中,負(fù)載服務(wù)器120將測(cè)試數(shù)據(jù)簡(jiǎn)單匯合后發(fā)送給第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140、第三計(jì)算服務(wù)器150中的一個(gè)或多個(gè)。
相對(duì)應(yīng)于步驟S206,步驟S209也分為兩種情況,如下所述:
在步驟S2092中,若完成本測(cè)試任務(wù)需要第二計(jì)算服務(wù)器140,則負(fù)載服務(wù)器120實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給所選擇的第二計(jì)算服務(wù)器140。根據(jù)本發(fā)明的實(shí)施例,第二計(jì)算服務(wù)器140有多個(gè),一個(gè)負(fù)載服務(wù)器進(jìn)程只向一個(gè)第二計(jì)算服務(wù)器進(jìn)程發(fā)送測(cè)試數(shù)據(jù),而一個(gè)第二計(jì)算服務(wù)器進(jìn)程可以接收多個(gè)負(fù)載服務(wù)器進(jìn)程的測(cè)試數(shù)據(jù)。
隨后在步驟S20922中,第二計(jì)算服務(wù)器140根據(jù)測(cè)試數(shù)據(jù)計(jì)算第一測(cè)試指標(biāo)??蛇x地,第一測(cè)試指標(biāo)包括:點(diǎn)擊數(shù)、錯(cuò)誤率、處理時(shí)間、每秒事務(wù)數(shù)、輸入輸出速率、事務(wù)處理時(shí)間、每秒事務(wù)數(shù),每秒事務(wù)總數(shù)、每秒點(diǎn)擊數(shù)、每秒響應(yīng)數(shù)、每秒http響應(yīng)數(shù)、每秒錯(cuò)誤數(shù)、每秒錯(cuò)誤總數(shù)、錯(cuò)誤率、每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)、平均處理時(shí)間、最小處理時(shí)間、最大處理時(shí)間、執(zhí)行總次數(shù)、失敗總次數(shù)、成功總次數(shù)、告警數(shù)、告警率。
隨后在步驟S20924中,第二計(jì)算服務(wù)器140將算出的第一測(cè)試指標(biāo)傳送給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器130。
另一種情況下,在步驟S2094中,若完成本測(cè)試任務(wù)不需要第二計(jì)算服務(wù)器140,則負(fù)載服務(wù)器120實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器130。
隨后在步驟S20942中,第一計(jì)算服務(wù)器130根據(jù)測(cè)試數(shù)據(jù)計(jì)算第一測(cè)試指標(biāo)。
在步驟S210中,負(fù)載服務(wù)器120實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第三計(jì)算服務(wù)器150。
隨后在步驟S211中,第三計(jì)算服務(wù)器150根據(jù)測(cè)試數(shù)據(jù)計(jì)算第二測(cè)試指標(biāo)。根據(jù)本發(fā)明的實(shí)施例,第二測(cè)試指標(biāo)是統(tǒng)計(jì)類型的測(cè)試指標(biāo)??蛇x地,根據(jù)各種事務(wù)處理時(shí)間計(jì)算90%的事務(wù)處理時(shí)間、99%的事務(wù)處理時(shí)間、事務(wù)處理時(shí)間的方差等指標(biāo)。
隨后在步驟S212中,負(fù)載服務(wù)器120發(fā)送虛擬用戶的數(shù)量給第一計(jì)算服務(wù)器130。
隨后在步驟S213中,第一計(jì)算服務(wù)器130每隔預(yù)定時(shí)間(如,1000ms)將虛擬用戶的數(shù)量和第一測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器160。
在步驟S214中,測(cè)試結(jié)束后,第三計(jì)算服務(wù)器150將第二測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器160。
根據(jù)本發(fā)明的一個(gè)實(shí)施方式,在執(zhí)行完上述步驟S206之后、執(zhí)行步驟S207之前,調(diào)度服務(wù)器110會(huì)先檢測(cè)與所選取的上述服務(wù)器通信連接是否正常(如,發(fā)送HTTP連接請(qǐng)求),若任一個(gè)上述服務(wù)器的通信連接不正常,則返回錯(cuò)誤碼,調(diào)度服務(wù)器110終止測(cè)試。
根據(jù)上述描述,本發(fā)明的測(cè)試指標(biāo)的分布式計(jì)算系統(tǒng)100,能夠根據(jù)虛擬用戶量無限地?cái)U(kuò)展生成第二計(jì)算服務(wù)器140,來處理百萬級(jí)別的數(shù)據(jù)。并且,由調(diào)度服務(wù)器110根據(jù)測(cè)試任務(wù)量計(jì)算待啟動(dòng)進(jìn)程的數(shù)量、再結(jié)合各服務(wù)器上資源的使用情況選取完成本次測(cè)試任務(wù)需要的各類服務(wù)器,只有當(dāng)待啟動(dòng)進(jìn)程的數(shù)量大于第一閾值時(shí)才會(huì)擴(kuò)展第二計(jì)算服務(wù)器140,避免了因?yàn)闊o限擴(kuò)展第二計(jì)算服務(wù)器140而造成資源浪費(fèi)。
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的負(fù)載服務(wù)器120的框圖,如圖3所示,負(fù)載服務(wù)器120包括:接口單元122、控制單元124和測(cè)試單元126。
其中,接口單元122適于接收由調(diào)度服務(wù)器110發(fā)送的測(cè)試任務(wù)ID和測(cè)試任務(wù)信息。關(guān)于調(diào)度服務(wù)器110選取用于完成本次測(cè)試任務(wù)的負(fù)載服務(wù)器120的過程,在上文中已經(jīng)詳細(xì)介紹,此處不再累述。
控制單元124適于按預(yù)定規(guī)則為待啟動(dòng)的進(jìn)程分配虛擬用戶。可選地,控制單元124適于優(yōu)先按照每個(gè)待啟動(dòng)的進(jìn)程允許的最大用戶數(shù)分配虛擬用戶。
測(cè)試單元126適于根據(jù)測(cè)試任務(wù)信息獲取測(cè)試腳本,開啟測(cè)試并記錄測(cè)試數(shù)據(jù)。
接口單元122還適于在第一判斷結(jié)果指示完成本測(cè)試任務(wù)不需要第二計(jì)算服務(wù)器140時(shí),實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器130,以便第一計(jì)算服務(wù)器130計(jì)算第一測(cè)試指標(biāo)。
接口單元122還適于在第一判斷結(jié)果指示完成本測(cè)試任務(wù)需要第二計(jì)算服務(wù)器140時(shí),實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給所選擇的第二計(jì)算服務(wù)器140,以便第二計(jì)算服務(wù)器計(jì)算第一測(cè)試指標(biāo)、并將算出的第一測(cè)試指標(biāo)傳送給具有相同測(cè)試任務(wù)ID的第一計(jì)算服務(wù)器130。
根據(jù)本發(fā)明的實(shí)施方式,若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值(在本實(shí)施例中,第一閾值為13),則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器;以及若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
可選地,第一測(cè)試指標(biāo)包括:點(diǎn)擊數(shù)、錯(cuò)誤率、處理時(shí)間、每秒事務(wù)數(shù)、輸入輸出速率、事務(wù)處理時(shí)間、每秒事務(wù)數(shù),每秒事務(wù)總數(shù)、每秒點(diǎn)擊數(shù)、每秒響應(yīng)數(shù)、每秒http響應(yīng)數(shù)、每秒錯(cuò)誤數(shù)、每秒錯(cuò)誤總數(shù)、錯(cuò)誤率、每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)、平均處理時(shí)間、最小處理時(shí)間、最大處理時(shí)間、執(zhí)行總次數(shù)、失敗總次數(shù)、成功總次數(shù)、告警數(shù)、告警率。
接口單元122還適于實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)給具有相同測(cè)試任務(wù)ID的第三計(jì)算服務(wù)器150,以便第三計(jì)算服務(wù)器150計(jì)算第二測(cè)試指標(biāo)、并在測(cè)試結(jié)束后將第二測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器160。
可選地,第二測(cè)試指標(biāo)是統(tǒng)計(jì)類型的測(cè)試指標(biāo)。例如,根據(jù)各種事務(wù)處理時(shí)間計(jì)算90%的事務(wù)處理時(shí)間、99%的事務(wù)處理時(shí)間、事務(wù)處理時(shí)間的方差等指標(biāo)。
接口單元122還適于發(fā)送虛擬用戶的數(shù)量給第一計(jì)算服務(wù)器130,由第一計(jì)算服務(wù)器130每隔預(yù)定時(shí)間(如,1000ms)將虛擬用戶的數(shù)量和第一測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器160。
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的調(diào)度服務(wù)器110的框圖,如圖4所示,調(diào)度服務(wù)器110包括:計(jì)算單元112、判斷單元114、控制單元116和接口單元118,在一些實(shí)施例中,調(diào)度服務(wù)器110除了上述單元外,還包括存儲(chǔ)單元119。
計(jì)算單元112適于根據(jù)測(cè)試任務(wù)的任務(wù)量計(jì)算用于執(zhí)行該測(cè)試任務(wù)的待啟動(dòng)進(jìn)程的數(shù)量。
判斷單元114適于根據(jù)算得的待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器140,得到第一判斷結(jié)果。
可選地,判斷單元114還適于在待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值(在本實(shí)施例中,第一閾值為13)時(shí),得到第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器140;在待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值時(shí),得到第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器140。
控制單元116適于在第一判斷結(jié)果指示需要啟動(dòng)第二計(jì)算服務(wù)器140時(shí),從該系統(tǒng)中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140和第三計(jì)算服務(wù)器150。
根據(jù)一種實(shí)施方式,控制單元116還包括計(jì)算子單元1162,如圖4所示,計(jì)算子單元1162適于通過待啟動(dòng)進(jìn)程的數(shù)量除以第一數(shù)目(在本實(shí)施例中,第一數(shù)目為7)計(jì)算得到要選取的第二計(jì)算服務(wù)器140的數(shù)量。
同樣,控制單元116還適于在第一判斷結(jié)果指示不需要啟動(dòng)第二計(jì)算服務(wù)器140時(shí),從該系統(tǒng)中選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器110、第一計(jì)算服務(wù)器130和第三計(jì)算服務(wù)器150。
根據(jù)一種實(shí)現(xiàn)方式,系統(tǒng)100中包括多個(gè)負(fù)載服務(wù)器120和多個(gè)第二計(jì)算服務(wù)器140,控制單元116適于按照多個(gè)負(fù)載服務(wù)器120上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的負(fù)載服務(wù)器120、以及按照多個(gè)第二計(jì)算服務(wù)器140上已占用資源從高到低的順序選取完成本測(cè)試任務(wù)所需的第二計(jì)算服務(wù)器140。
接口單元118適于發(fā)送測(cè)試任務(wù)ID給所選取的服務(wù)器,并發(fā)送測(cè)試任務(wù)信息給所選取的負(fù)載服務(wù)器120,由負(fù)載服務(wù)器120執(zhí)行本測(cè)試任務(wù),將測(cè)試數(shù)據(jù)發(fā)送給第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140和第三計(jì)算服務(wù)器150中的一個(gè)或多個(gè),由這些服務(wù)器根據(jù)測(cè)試數(shù)據(jù)計(jì)算測(cè)試指標(biāo)發(fā)送給數(shù)據(jù)服務(wù)器160。
根據(jù)本發(fā)明的一種實(shí)現(xiàn)方式,接口單元118還適于接收該系統(tǒng)100中負(fù)載服務(wù)器120、第一計(jì)算服務(wù)器130、第二計(jì)算服務(wù)器140和第三計(jì)算服務(wù)器150的注冊(cè)請(qǐng)求、且適于獲取上述已注冊(cè)服務(wù)器的資源占用情況。
可選地,調(diào)度服務(wù)器110還包括存儲(chǔ)單元119,適于存儲(chǔ)上述服務(wù)器的服務(wù)器ID,并與將服務(wù)器ID與該服務(wù)器的資源占用情況關(guān)聯(lián)存儲(chǔ)。
根據(jù)本發(fā)明的又一實(shí)施例,控制單元116還適于檢測(cè)與待分配的上述服務(wù)器通信連接是否正常,例如,控制單元116指示與之耦接的接口單元118發(fā)送HTTP連接請(qǐng)求給上述服務(wù)器,若任一個(gè)上述服務(wù)器的通信連接不正常,則返回錯(cuò)誤碼,終止測(cè)試。
應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
本發(fā)明還公開了:
A4、如A3所述的方法,其中,第一閾值為13。
A5、如A1-4中任一項(xiàng)所述的方法,其中,第一測(cè)試指標(biāo)包括:點(diǎn)擊數(shù)、錯(cuò)誤率、處理時(shí)間、每秒事務(wù)數(shù)、輸入輸出速率、事務(wù)處理時(shí)間、每秒事務(wù)數(shù),每秒事務(wù)總數(shù)、每秒點(diǎn)擊數(shù)、每秒響應(yīng)數(shù)、每秒http響應(yīng)數(shù)、每秒錯(cuò)誤數(shù)、每秒錯(cuò)誤總數(shù)、錯(cuò)誤率、每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)、平均處理時(shí)間、最小處理時(shí)間、最大處理時(shí)間、執(zhí)行總次數(shù)、失敗總次數(shù)、成功總次數(shù)、告警數(shù)、告警率。
A6、如A1-5中任一項(xiàng)所述的方法,其中,第二測(cè)試指標(biāo)是統(tǒng)計(jì)類型的測(cè)試指標(biāo)。
B9、如B7或8所述的方法,其中,根據(jù)待啟動(dòng)進(jìn)程的數(shù)量判斷是否需啟動(dòng)第二計(jì)算服務(wù)器、得到第一判斷結(jié)果的步驟包括:若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值,則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器;以及若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
B10、如B9所述的方法,其中第一閾值為13。
B11、如B7-10中任一項(xiàng)所述的方法,其中,在第一判斷結(jié)果指示需啟動(dòng)第二計(jì)算服務(wù)器時(shí),還包括,計(jì)算要選取的第二計(jì)算服務(wù)器的數(shù)量的步驟:通過待啟動(dòng)進(jìn)程的數(shù)量除以第一數(shù)目得到要選取的第二計(jì)算服務(wù)器的數(shù)量。
B12、如B7-11中任一項(xiàng)所述的方法,還包括步驟:接收該系統(tǒng)中負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器的注冊(cè)請(qǐng)求,記錄上述服務(wù)器的服務(wù)器ID;以及獲取上述已注冊(cè)服務(wù)器的資源占用情況,并與其服務(wù)器ID關(guān)聯(lián)存儲(chǔ)。
B13、如B7-12中任一項(xiàng)所述的方法,其中,在選取步驟之后、發(fā)送測(cè)試任務(wù)ID給所選取的服務(wù)器步驟之前,還包括步驟:檢測(cè)與所選取的上述服務(wù)器通信連接是否正常;若任一個(gè)上述服務(wù)器的通信連接不正常,則返回錯(cuò)誤碼,終止測(cè)試。
C16、如C14或15所述的負(fù)載服務(wù)器,其中,若待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值,則第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器;以及若待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值,則第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
C17、如C16所述的負(fù)載服務(wù)器,其中,第一閾值為13。
C18、如C14-17中任一項(xiàng)所述的負(fù)載服務(wù)器,其中,第一測(cè)試指標(biāo)包括:點(diǎn)擊數(shù)、錯(cuò)誤率、處理時(shí)間、每秒事務(wù)數(shù)、輸入輸出速率、事務(wù)處理時(shí)間、每秒事務(wù)數(shù),每秒事務(wù)總數(shù)、每秒點(diǎn)擊數(shù)、每秒響應(yīng)數(shù)、每秒http響應(yīng)數(shù)、每秒錯(cuò)誤數(shù)、每秒錯(cuò)誤總數(shù)、錯(cuò)誤率、每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)、平均處理時(shí)間、最小處理時(shí)間、最大處理時(shí)間、執(zhí)行總次數(shù)、失敗總次數(shù)、成功總次數(shù)、告警數(shù)、告警率。
C19、如C14-18中任一項(xiàng)所述的負(fù)載服務(wù)器,其中第二測(cè)試指標(biāo)是統(tǒng)計(jì)類型的測(cè)試指標(biāo)。
D22、如D20或21所述的調(diào)度服務(wù)器,其中,
所述判斷單元還適于在所述待啟動(dòng)進(jìn)程的數(shù)量不高于第一閾值時(shí),得到第一判斷結(jié)果為不需要啟動(dòng)第二計(jì)算服務(wù)器,在待啟動(dòng)進(jìn)程的數(shù)量高于第一閾值時(shí),得到第一判斷結(jié)果為需要啟動(dòng)第二計(jì)算服務(wù)器。
D23、如D22所述的調(diào)度服務(wù)器,其中第一閾值為13。
D24、如D20-23中任一項(xiàng)所述的調(diào)度服務(wù)器,其中,控制單元還包括計(jì)算子單元,計(jì)算子單元適于通過待啟動(dòng)進(jìn)程的數(shù)量除以第一數(shù)目計(jì)算得到要選取的第二計(jì)算服務(wù)器的數(shù)量。
D25、如D20-24中任一項(xiàng)所述的調(diào)度服務(wù)器,其中,接口單元還適于接收該系統(tǒng)中負(fù)載服務(wù)器、第一計(jì)算服務(wù)器、第二計(jì)算服務(wù)器和第三計(jì)算服務(wù)器的注冊(cè)請(qǐng)求、且適于獲取上述已注冊(cè)服務(wù)器的資源占用情況;調(diào)度服務(wù)器還包括存儲(chǔ)單元,適于存儲(chǔ)上述服務(wù)器的服務(wù)器ID,并與將服務(wù)器ID與該服務(wù)器的資源占用情況關(guān)聯(lián)存儲(chǔ)。
D26、如D20-25中任一項(xiàng)所述的調(diào)度服務(wù)器,其中,控制單元還適于檢測(cè)與待分配的上述服務(wù)器通信連接是否正常,若任一個(gè)上述服務(wù)器的通信連接不正常,則返回錯(cuò)誤碼,終止測(cè)試。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對(duì)象僅僅表示涉及類似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說明書中使用的語言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。對(duì)于本發(fā)明的范圍,對(duì)本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。