本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種壓力測(cè)試的方法、裝置及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,一些大型的網(wǎng)站系統(tǒng)或者服務(wù)系統(tǒng)也日益出現(xiàn)在人們生活中。這些網(wǎng)站系統(tǒng)或者服務(wù)系統(tǒng)可能有海量的用戶,因此,為維護(hù)這些互聯(lián)網(wǎng)系統(tǒng)的安全性和穩(wěn)定性,需對(duì)這些大型的互聯(lián)網(wǎng)系統(tǒng)進(jìn)行壓力測(cè)試。
壓力測(cè)試是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大的服務(wù)級(jí)別的測(cè)試。通俗地講,壓力測(cè)試是為了發(fā)現(xiàn)在什么條件下系統(tǒng)的性能會(huì)變得不可接受。目前,可采用主從模型來(lái)對(duì)系統(tǒng)進(jìn)行壓力測(cè)試。其中,壓力測(cè)試系統(tǒng)中的主節(jié)點(diǎn)啟動(dòng)每個(gè)從節(jié)點(diǎn)后,給每個(gè)從節(jié)點(diǎn)分配壓測(cè)配額,主節(jié)點(diǎn)與從節(jié)點(diǎn)的壓測(cè)會(huì)話后,從節(jié)點(diǎn)模擬終端用戶與被測(cè)的系統(tǒng)中服務(wù)器建立連接后,與服務(wù)器進(jìn)行數(shù)據(jù)通訊,并且,將與服務(wù)器之間的壓測(cè)統(tǒng)計(jì)數(shù)據(jù)同步給主節(jié)點(diǎn),從而,主節(jié)點(diǎn)根據(jù)同步的壓測(cè)統(tǒng)計(jì)數(shù)據(jù),獲得對(duì)應(yīng)的壓測(cè)結(jié)果。由于,只有一個(gè)主節(jié)點(diǎn),因此,管理的從節(jié)點(diǎn)過(guò)多時(shí),會(huì)導(dǎo)致主節(jié)點(diǎn)成為瓶頸,影響了壓力測(cè)試的效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種壓力測(cè)試的方法、裝置及系統(tǒng),用以提高壓力測(cè)試的規(guī)模和效率。
本發(fā)明提供一種壓力測(cè)試的方法,應(yīng)用于分布式壓力測(cè)試系統(tǒng)中,所述分布式壓力測(cè)試系統(tǒng)包括一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn),該方法包括:
所述主節(jié)點(diǎn)調(diào)度器啟動(dòng)對(duì)應(yīng)的每個(gè)主節(jié)點(diǎn);
針對(duì)每個(gè)主節(jié)點(diǎn),當(dāng)檢測(cè)到主節(jié)點(diǎn)已啟動(dòng)時(shí),向所述主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令,使得所述主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息;
接收每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得所述壓力測(cè)試的測(cè)試結(jié)果。
本發(fā)明一實(shí)施例中,所述主節(jié)點(diǎn)調(diào)度器啟動(dòng)對(duì)應(yīng)的每個(gè)主節(jié)點(diǎn)包括:
根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的壓力配置文件;
登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)。
本發(fā)明一實(shí)施例中,所述登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)包括:
向所述主節(jié)點(diǎn)發(fā)送登錄請(qǐng)求;
當(dāng)接收到所述主節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向所述主節(jié)點(diǎn)發(fā)送主啟動(dòng)指令;
接收所述主節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令,其中,所述啟動(dòng)成功響應(yīng)指令是所述主節(jié)點(diǎn)確認(rèn)所述主啟動(dòng)指令合法,并執(zhí)行所述主啟動(dòng)指令后生成的。
本發(fā)明提供一種壓力測(cè)試的裝置,應(yīng)用于分布式壓力測(cè)試系統(tǒng)的主節(jié)點(diǎn)調(diào)度器中,所述分布式壓力測(cè)試系統(tǒng)包括一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn),該裝置包括:
啟動(dòng)單元,用于啟動(dòng)所述分布式壓力測(cè)試系統(tǒng)中每個(gè)主節(jié)點(diǎn);
壓測(cè)啟動(dòng)單元,用于針對(duì)每個(gè)主節(jié)點(diǎn),當(dāng)檢測(cè)到主節(jié)點(diǎn)已啟動(dòng)時(shí),向所述主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令,使得所述主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息;
接收匯總單元,用于接收每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得所述壓力測(cè)試的測(cè)試結(jié)果。
本發(fā)明一實(shí)施例中,所述啟動(dòng)單元,用于根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的壓力配置文件;并登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)。
本發(fā)明一實(shí)施例中,所述啟動(dòng)單元,還用于向所述主節(jié)點(diǎn)發(fā)送登錄請(qǐng)求,當(dāng)接收到所述主節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向所述主節(jié)點(diǎn)發(fā)送主啟動(dòng)指令,接收所述主節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令,其中,所述啟動(dòng)成功響應(yīng)指令是所述主節(jié)點(diǎn)確認(rèn)所述主啟動(dòng)指令合法,并執(zhí)行所述主啟動(dòng)指令后生成的。
本發(fā)明提供一種壓力測(cè)試的系統(tǒng),包括:一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn),其中,
所述主節(jié)點(diǎn)調(diào)度器,用于啟動(dòng)對(duì)應(yīng)的每個(gè)主節(jié)點(diǎn);并針對(duì)每個(gè)主節(jié)點(diǎn),當(dāng)檢測(cè)到主節(jié)點(diǎn)已啟動(dòng)時(shí),向所述主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令,使得所述主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息;接收每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得所述壓力測(cè)試的測(cè)試結(jié)果;
所述主節(jié)點(diǎn),用于被所述主節(jié)點(diǎn)調(diào)度器啟動(dòng)后,接收所述主節(jié)點(diǎn)調(diào)度器發(fā)送的壓力測(cè)試啟動(dòng)指令,并啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn);針對(duì)每個(gè)從節(jié)點(diǎn),當(dāng)檢測(cè)到從節(jié)點(diǎn)已啟動(dòng)時(shí),向所述從節(jié)點(diǎn)分配壓測(cè)配額,使得所述從節(jié)點(diǎn)對(duì)所述被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,獲得對(duì)應(yīng)的從壓測(cè)統(tǒng)計(jì)信息;同步每個(gè)從節(jié)點(diǎn)獲得的所述從壓測(cè)統(tǒng)計(jì)信息,得到對(duì)應(yīng)的所述壓測(cè)統(tǒng)計(jì)信息,并發(fā)送給所述主節(jié)點(diǎn)調(diào)度器;
所述從節(jié)點(diǎn),用于被所述主節(jié)點(diǎn)啟動(dòng)后,接收所述主節(jié)點(diǎn)分配的所述壓測(cè)配額,模擬終端用戶與所述被測(cè)試系統(tǒng)中服務(wù)器建立連接,并進(jìn)行數(shù)據(jù)傳輸,獲得對(duì)應(yīng)的從壓測(cè)統(tǒng)計(jì)信息,將所述從壓測(cè)統(tǒng)計(jì)信息同步給所述主節(jié)點(diǎn)。
本發(fā)明一實(shí)施例中,所述主節(jié)點(diǎn)調(diào)度器,用于根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的壓力配置文件,并登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)。
本發(fā)明一實(shí)施例中,所述主節(jié)點(diǎn)調(diào)度器,還用于向所述主節(jié)點(diǎn)發(fā)送登錄請(qǐng)求,當(dāng)接收到所述主節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向所述主節(jié)點(diǎn)發(fā)送主啟動(dòng)指令,并接收所述主節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令;
所述主節(jié)點(diǎn),還用于接收所述主節(jié)點(diǎn)調(diào)度器發(fā)送的登錄請(qǐng)求,并進(jìn)行授權(quán),向所述主節(jié)點(diǎn)調(diào)度器返回登錄請(qǐng)求授權(quán)通過(guò)指令;接收所述主節(jié)點(diǎn)調(diào)度器發(fā)送的主啟動(dòng)指令,當(dāng)確認(rèn)所述主啟動(dòng)指令合法后,執(zhí)行所述主啟動(dòng)指令并生成啟動(dòng)成功響應(yīng)指令返回給所述主節(jié)點(diǎn)調(diào)度器。
本發(fā)明一實(shí)施例中,所述主節(jié)點(diǎn),還用于向所述從節(jié)點(diǎn)發(fā)送登錄請(qǐng)求,當(dāng)接收到所述從節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向所述從節(jié)點(diǎn)發(fā)送從啟動(dòng)指令,接收所述從節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令;
所述從節(jié)點(diǎn),還用于接收所述主節(jié)點(diǎn)發(fā)送的登錄請(qǐng)求,并進(jìn)行授權(quán),向所述主節(jié)點(diǎn)返回登錄請(qǐng)求授權(quán)通過(guò)指令;接收所述主節(jié)點(diǎn)發(fā)送的從啟動(dòng)指令,當(dāng)確認(rèn)所述從啟動(dòng)指令合法后,執(zhí)行所述從啟動(dòng)指令并生成啟動(dòng)成功響應(yīng)指令返回給所述主節(jié)點(diǎn)。
本發(fā)明實(shí)施例的一些有益效果可以包括:
可見(jiàn),在壓力測(cè)試的系統(tǒng)中,每個(gè)主節(jié)點(diǎn)只需與主節(jié)點(diǎn)調(diào)度器進(jìn)行唯一連接,而每個(gè)主節(jié)點(diǎn)之間并不需要相互連接,這樣,可根據(jù)每個(gè)主節(jié)點(diǎn)的承受能力分而進(jìn)行測(cè)試,并可批量獲取每個(gè)主節(jié)點(diǎn)得到的壓測(cè)統(tǒng)計(jì)信息,從而減少因規(guī)模擴(kuò)展,主節(jié)點(diǎn)成為瓶頸的幾率,解決了主從模式下因規(guī)模擴(kuò)展容量存在上限不足的問(wèn)題,實(shí)現(xiàn)了超大規(guī)模的壓力測(cè)試。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1是根據(jù)一示例性實(shí)施例示出的壓力測(cè)試的流程圖;
圖2是根據(jù)一示例性實(shí)施例一示出的壓力測(cè)試方法的示意圖;
圖3是根據(jù)一示例性實(shí)施例二示出的登錄啟動(dòng)的流程圖;
圖4是根據(jù)一示例性實(shí)施例示出的壓力測(cè)試的裝置的結(jié)構(gòu)圖;
圖5是根據(jù)一示例性實(shí)施例示出的壓力測(cè)試的系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
本公開(kāi)實(shí)施例提供的技術(shù)方案,分布式壓力測(cè)試系統(tǒng)增加了一個(gè)主節(jié)點(diǎn)調(diào)度器,并可包括一個(gè)、兩個(gè)或多個(gè)主從壓力測(cè)試模型,具體地,該系統(tǒng)包括一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn)。這樣,每個(gè)主節(jié)點(diǎn)只需與主節(jié)點(diǎn)調(diào)度器進(jìn)行唯一連接,而每個(gè)主節(jié)點(diǎn)之間并不需要相互連接,從而,可根據(jù)每個(gè)主節(jié)點(diǎn)的承受能力分而進(jìn)行測(cè)試,并可批量獲取每個(gè)主節(jié)點(diǎn)得到的壓測(cè)統(tǒng)計(jì)信息,可減少因規(guī)模擴(kuò)展,主節(jié)點(diǎn)成為瓶頸的幾率,解決了主從模式下因規(guī)模擴(kuò)展容量存在上限不足的問(wèn)題,實(shí)現(xiàn)了超大規(guī)模的壓力測(cè)試。
圖1是根據(jù)一示例性實(shí)施例示出的壓力測(cè)試的流程圖。壓力測(cè)試的過(guò)程如圖1所示,包括:
步驟101:主節(jié)點(diǎn)調(diào)度器啟動(dòng)分布式壓力測(cè)試系統(tǒng)中對(duì)應(yīng)的每個(gè)主節(jié)點(diǎn)。
本發(fā)明實(shí)施例中,分布式壓力測(cè)試系統(tǒng)增加了一個(gè)主節(jié)點(diǎn)調(diào)度器,并可包括一個(gè)、兩個(gè)或多個(gè)主從壓力測(cè)試模型,具體地,可包括:一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn)。
其中,主節(jié)點(diǎn)調(diào)度器可與每個(gè)主節(jié)點(diǎn)連接,而每個(gè)主節(jié)點(diǎn)分別與對(duì)應(yīng)的從節(jié)點(diǎn)連接。
主節(jié)點(diǎn)調(diào)度器需啟動(dòng)對(duì)應(yīng)的每個(gè)主節(jié)點(diǎn),具體可包括:根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的壓力配置文件,然后,主節(jié)點(diǎn)調(diào)度器登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)。
本發(fā)明實(shí)施例中,主節(jié)點(diǎn)調(diào)度器登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)可包括:向主節(jié)點(diǎn)發(fā)送登錄請(qǐng)求;當(dāng)接收到主節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向主節(jié)點(diǎn)發(fā)送主啟動(dòng)指令;接收主節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令,其中,啟動(dòng)成功響應(yīng)指令是主節(jié)點(diǎn)確認(rèn)主啟動(dòng)指令合法,并執(zhí)行主啟動(dòng)指令后生成的。
可見(jiàn),主節(jié)點(diǎn)單向授權(quán)給主節(jié)點(diǎn)調(diào)度器進(jìn)行節(jié)點(diǎn)連接,這樣,由于授權(quán)的命令有限,從而使得登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)的過(guò)程安全可控。
一般,主節(jié)點(diǎn)可監(jiān)聽(tīng)設(shè)定的端口,當(dāng)端口接收到主節(jié)點(diǎn)調(diào)度器發(fā)送的登錄請(qǐng)求后,可進(jìn)行授權(quán),然后,接收到主節(jié)點(diǎn)調(diào)度器發(fā)送的命令后,由于主節(jié)點(diǎn)調(diào)度器已授權(quán),因此,安全可靠,從而可根據(jù)接收的命令進(jìn)行對(duì)應(yīng)的操作,例如:接收到停止命令時(shí),主節(jié)點(diǎn)可殺掉自身進(jìn)程,停止服務(wù)?;蛘撸邮招奶顣r(shí),主節(jié)點(diǎn)接收到ping指令,向主節(jié)點(diǎn)調(diào)度器返回pong內(nèi)容,證明自己存活?;?,接收到卸載命令時(shí),主節(jié)點(diǎn)停止自身服務(wù),卸載自身應(yīng)用?;?,接收主啟動(dòng)指令啟動(dòng)命令時(shí),主節(jié)點(diǎn)進(jìn)行啟動(dòng)等等。
可見(jiàn),可通過(guò)登錄的方式,啟動(dòng)主節(jié)點(diǎn),簡(jiǎn)單快捷,并且,單向授權(quán)方式更加安全可控。
步驟102:針對(duì)每個(gè)主節(jié)點(diǎn),當(dāng)檢測(cè)到主節(jié)點(diǎn)已啟動(dòng)時(shí),主節(jié)點(diǎn)調(diào)度器向主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令,使得主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息。
本發(fā)明實(shí)施例中,主節(jié)點(diǎn)調(diào)度器對(duì)應(yīng)一個(gè)、兩個(gè)或多個(gè)主節(jié)點(diǎn),因此,對(duì)于每個(gè)主節(jié)點(diǎn),由于步驟101中已啟動(dòng)了主節(jié)點(diǎn),主節(jié)點(diǎn)啟動(dòng)會(huì)向主節(jié)點(diǎn)調(diào)度器發(fā)送反饋消息,當(dāng)接收到反饋消息后,可確定主節(jié)點(diǎn)已啟動(dòng)時(shí),從而,可向主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令。
由于,分布式壓力測(cè)試系統(tǒng)增加了一個(gè)主節(jié)點(diǎn)調(diào)度器,并可包括一個(gè)、兩個(gè)或多個(gè)主從壓力測(cè)試模型。因此,當(dāng)主節(jié)點(diǎn)接收到壓力測(cè)試啟動(dòng)指令后,即可進(jìn)行現(xiàn)有的主從壓力測(cè)試的過(guò)程,并獲得對(duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息。具體可包括:?jiǎn)?dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn),針對(duì)每個(gè)從節(jié)點(diǎn),當(dāng)檢測(cè)到從節(jié)點(diǎn)已啟動(dòng)時(shí),向從節(jié)點(diǎn)分配壓測(cè)配額,使得從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,獲得對(duì)應(yīng)的從壓測(cè)統(tǒng)計(jì)信息,同步每個(gè)從節(jié)點(diǎn)獲得的從壓測(cè)統(tǒng)計(jì)信息,得到對(duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息。壓測(cè)統(tǒng)計(jì)信息包括:日志信息,統(tǒng)計(jì)信息等。
而從節(jié)點(diǎn)被主節(jié)點(diǎn)啟動(dòng)后,接收主節(jié)點(diǎn)分配的壓測(cè)配額,模擬終端用戶與被測(cè)試系統(tǒng)中服務(wù)器建立連接,并進(jìn)行數(shù)據(jù)傳輸,獲得對(duì)應(yīng)的從壓測(cè)統(tǒng)計(jì)信息,將從壓測(cè)統(tǒng)計(jì)信息同步給主節(jié)點(diǎn)。
這里,主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)的過(guò)程也可以采用登錄的方式進(jìn)行啟動(dòng),具體可包括:主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送登錄請(qǐng)求,當(dāng)接收到從節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向從節(jié)點(diǎn)發(fā)送從啟動(dòng)指令,接收從節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令。
其中,從節(jié)點(diǎn)可監(jiān)聽(tīng)設(shè)定的端口,當(dāng)端口接收到主節(jié)點(diǎn)發(fā)送的登錄請(qǐng)求后,可進(jìn)行授權(quán),然后,接收到主節(jié)點(diǎn)發(fā)送的命令后,由于主節(jié)點(diǎn)已授權(quán),因此,安全可靠,從而可根據(jù)接收的命令進(jìn)行對(duì)應(yīng)的操作,例如:接收到停止命令時(shí),從節(jié)點(diǎn)可殺掉自身進(jìn)程,停止服務(wù)?;蛘撸邮招奶顣r(shí),從節(jié)點(diǎn)接收到ping指令,向主節(jié)點(diǎn)返回pong內(nèi)容,證明自己存活。或,接收到卸載命令時(shí),從節(jié)點(diǎn)停止自身服務(wù),卸載自身應(yīng)用。或,接收從啟動(dòng)指令啟動(dòng)命令時(shí),從節(jié)點(diǎn)進(jìn)行啟動(dòng)等等。
步驟103:主節(jié)點(diǎn)調(diào)度器接收每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得壓力測(cè)試的測(cè)試結(jié)果。
這里,可定時(shí)批量接收每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,從而,可進(jìn)行匯總統(tǒng)計(jì),獲得壓力測(cè)試的測(cè)試結(jié)果。
可見(jiàn),每個(gè)主節(jié)點(diǎn)只需與主節(jié)點(diǎn)調(diào)度器進(jìn)行唯一連接,而每個(gè)主節(jié)點(diǎn)之間并不需要相互連接,從而,可根據(jù)每個(gè)主節(jié)點(diǎn)的承受能力分而進(jìn)行測(cè)試,并可批量獲取每個(gè)主節(jié)點(diǎn)得到的壓測(cè)統(tǒng)計(jì)信息,可減少因規(guī)模擴(kuò)展,主節(jié)點(diǎn)成為瓶頸的幾率,解決了主從模式下因規(guī)模擴(kuò)展容量存在上限不足的問(wèn)題,實(shí)現(xiàn)了超大規(guī)模的壓力測(cè)試。
下面將操作流程集合到具體實(shí)施例中,舉例說(shuō)明本公開(kāi)實(shí)施例提供的方法。
實(shí)施例一,本實(shí)施例中,分布式壓力測(cè)試系統(tǒng)包括一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn)。例如:有多個(gè)機(jī)房,每個(gè)機(jī)房對(duì)應(yīng)一個(gè)主從式節(jié)點(diǎn)模型,每個(gè)機(jī)房中的主節(jié)點(diǎn)互相不連接,但分別與一個(gè)主節(jié)點(diǎn)調(diào)度器連接。
圖2是根據(jù)一示例性實(shí)施例一示出的壓力測(cè)試方法的示意圖,參見(jiàn)圖2,本實(shí)施例中壓力測(cè)試的過(guò)程包括:
步驟201:主節(jié)點(diǎn)調(diào)度器加載預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略。
步驟202:主節(jié)點(diǎn)調(diào)度器根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的壓力配置文件。
步驟203:主節(jié)點(diǎn)調(diào)度器向每個(gè)主節(jié)點(diǎn)發(fā)送登錄請(qǐng)求,啟動(dòng)主節(jié)點(diǎn)。
步驟204:當(dāng)檢測(cè)到主節(jié)點(diǎn)已啟動(dòng)時(shí),主節(jié)點(diǎn)調(diào)度器向?qū)?yīng)的主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令。
步驟205:主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息。
步驟206:主節(jié)點(diǎn)調(diào)度器定時(shí)批量獲取每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得壓力測(cè)試的測(cè)試結(jié)果。
可見(jiàn),本實(shí)施中,每個(gè)主節(jié)點(diǎn)只需與主節(jié)點(diǎn)調(diào)度器進(jìn)行唯一連接,而每個(gè)主節(jié)點(diǎn)之間并不需要相互連接,這樣,可根據(jù)每個(gè)主節(jié)點(diǎn)的承受能力分而進(jìn)行測(cè)試,并可批量獲取每個(gè)主節(jié)點(diǎn)得到的壓測(cè)統(tǒng)計(jì)信息,從而減少因規(guī)模擴(kuò)展,主節(jié)點(diǎn)成為瓶頸的幾率,解決了主從模式下因規(guī)模擴(kuò)展容量存在上限不足的問(wèn)題,實(shí)現(xiàn)了超大規(guī)模的壓力測(cè)試。
實(shí)施例二,主節(jié)點(diǎn)調(diào)節(jié)器通過(guò)登錄的方式可啟動(dòng)對(duì)應(yīng)的主節(jié)點(diǎn)。同樣,主節(jié)點(diǎn)也可登錄的方式可啟動(dòng)對(duì)應(yīng)的從節(jié)點(diǎn)。因此,主節(jié)點(diǎn)調(diào)節(jié)器登錄對(duì)應(yīng)的主節(jié)點(diǎn)時(shí),主節(jié)點(diǎn)調(diào)節(jié)器可作為登錄客戶端,而主節(jié)點(diǎn)作為登錄服務(wù)器。而主節(jié)點(diǎn)登錄對(duì)應(yīng)的從節(jié)點(diǎn)時(shí),主節(jié)點(diǎn)可作為登錄客戶端,而從節(jié)點(diǎn)作為登錄服務(wù)器。
本實(shí)施例中,登錄客戶端可登錄對(duì)應(yīng)的登錄服務(wù)器進(jìn)行啟動(dòng),其中,當(dāng)?shù)卿浛蛻舳藶橹鞴?jié)點(diǎn)調(diào)節(jié)器,對(duì)應(yīng)的登錄服務(wù)器為主節(jié)點(diǎn);而當(dāng)?shù)卿浛蛻舳藶橹鞴?jié)點(diǎn),對(duì)應(yīng)的登錄服務(wù)器為從節(jié)點(diǎn)。
圖3是根據(jù)一示例性實(shí)施例二示出的登錄啟動(dòng)的流程圖。參見(jiàn)圖3,本實(shí)施例中登錄啟動(dòng)的過(guò)程包括:
步驟301:登錄客戶端向登錄服務(wù)器發(fā)送登錄請(qǐng)求。
這里,當(dāng)?shù)卿浛蛻舳藶橹鞴?jié)點(diǎn)調(diào)節(jié)器,對(duì)應(yīng)的登錄服務(wù)器為主節(jié)點(diǎn);而當(dāng)?shù)卿浛蛻舳藶橹鞴?jié)點(diǎn),對(duì)應(yīng)的登錄服務(wù)器為從節(jié)點(diǎn)。
步驟302:登錄服務(wù)器判斷是否向發(fā)送登錄請(qǐng)求的登錄客戶端進(jìn)行授權(quán)?若是,執(zhí)行步驟303,否則,流程結(jié)束。
登錄服務(wù)器可單向?qū)Φ卿浛蛻舳诉M(jìn)行授權(quán)。
步驟303:登錄服務(wù)器向登錄客戶端發(fā)送登錄請(qǐng)求授權(quán)通過(guò)指令。
步驟304:登錄客戶端向登錄服務(wù)器發(fā)送啟動(dòng)指令。
這里,若登錄客戶端為主節(jié)點(diǎn)調(diào)節(jié)器,則主節(jié)點(diǎn)調(diào)節(jié)器向主節(jié)點(diǎn)發(fā)送主啟動(dòng)指令。若登錄客戶端為主節(jié)點(diǎn),則主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送從啟動(dòng)指令。
步驟305:登錄服務(wù)器判斷啟動(dòng)指令是否合法?若是,執(zhí)行步驟306,否則,流程結(jié)束。
登錄服務(wù)器向登錄客戶端進(jìn)行了授權(quán),則啟動(dòng)指令合法,可執(zhí)行步驟306。若啟動(dòng)指令時(shí)非授權(quán)的客戶端發(fā)送的,則該啟動(dòng)指令不合法,流程結(jié)束。
步驟306:登錄服務(wù)器執(zhí)行啟動(dòng)指令,并生成啟動(dòng)成功響應(yīng)指令,發(fā)送給登錄客戶端。
登錄服務(wù)器根據(jù)啟動(dòng)指令進(jìn)行了啟動(dòng),并且還可生成啟動(dòng)成功響應(yīng)指令返回給登錄客戶端。從而,啟動(dòng)過(guò)程結(jié)束。
可見(jiàn),本實(shí)施中,通過(guò)登錄的方式來(lái)進(jìn)行節(jié)點(diǎn)啟動(dòng),過(guò)程簡(jiǎn)單,并且,登錄服務(wù)器單向授權(quán)登錄客戶端,使得啟動(dòng)過(guò)程安全可控,進(jìn)一步提高壓力測(cè)試的安全性和效率。
下述為本公開(kāi)裝置實(shí)施例,可以用于執(zhí)行本公開(kāi)方法實(shí)施例。
根據(jù)上述壓力測(cè)試的過(guò)程,可構(gòu)建一種壓力測(cè)試的裝置,如圖4所示,該裝置應(yīng)用于分布式壓力測(cè)試系統(tǒng)的主節(jié)點(diǎn)調(diào)度器中,分布式壓力測(cè)試系統(tǒng)包括一個(gè)主節(jié)點(diǎn)調(diào)度器,至少一個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn),該裝置包括:?jiǎn)?dòng)單元410,壓測(cè)啟動(dòng)單元420以及接收匯總單元430,其中,
啟動(dòng)單元410,用于啟動(dòng)分布式壓力測(cè)試系統(tǒng)中每個(gè)主節(jié)點(diǎn)。
壓測(cè)啟動(dòng)單元420,用于針對(duì)每個(gè)主節(jié)點(diǎn),當(dāng)檢測(cè)到主節(jié)點(diǎn)已啟動(dòng)時(shí),向主節(jié)點(diǎn)發(fā)送壓力測(cè)試啟動(dòng)指令,使得主節(jié)點(diǎn)啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息。
接收匯總單元430,用于接收每個(gè)主節(jié)點(diǎn)傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得壓力測(cè)試的測(cè)試結(jié)果。
本發(fā)明一實(shí)施例中,啟動(dòng)單元410,用于根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的壓力配置文件;并登錄到對(duì)應(yīng)的主節(jié)點(diǎn)進(jìn)行啟動(dòng)。
本發(fā)明一實(shí)施例中,啟動(dòng)單元410,還用于向主節(jié)點(diǎn)發(fā)送登錄請(qǐng)求,當(dāng)接收到主節(jié)點(diǎn)返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向主節(jié)點(diǎn)發(fā)送主啟動(dòng)指令,接收主節(jié)點(diǎn)返回的啟動(dòng)成功響應(yīng)指令,其中,啟動(dòng)成功響應(yīng)指令是主節(jié)點(diǎn)確認(rèn)主啟動(dòng)指令合法,并執(zhí)行主啟動(dòng)指令后生成的。
下述為本公開(kāi)系統(tǒng)實(shí)施例,可以用于執(zhí)行本公開(kāi)方法實(shí)施例。
根據(jù)上述壓力測(cè)試的過(guò)程,可構(gòu)建一種壓力測(cè)試的系統(tǒng),圖5是根據(jù)一示例性實(shí)施例三示出的壓力測(cè)試的系統(tǒng)結(jié)構(gòu)圖,參見(jiàn)圖5,本實(shí)施例中,該系統(tǒng)包括:一個(gè)主節(jié)點(diǎn)調(diào)度器100,至少一個(gè)主節(jié)點(diǎn)200,每個(gè)主節(jié)點(diǎn)200對(duì)應(yīng)至少一個(gè)從節(jié)點(diǎn)300,其中,
主節(jié)點(diǎn)調(diào)度器100,用于啟動(dòng)對(duì)應(yīng)的每個(gè)主節(jié)點(diǎn)200;并針對(duì)每個(gè)主節(jié)點(diǎn)200,當(dāng)檢測(cè)到主節(jié)點(diǎn)200已啟動(dòng)時(shí),向主節(jié)點(diǎn)200發(fā)送壓力測(cè)試啟動(dòng)指令,使得主節(jié)點(diǎn)200啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)300對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,并獲得壓測(cè)統(tǒng)計(jì)信息;接收每個(gè)主節(jié)點(diǎn)200傳輸?shù)膶?duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并進(jìn)行匯總統(tǒng)計(jì),獲得壓力測(cè)試的測(cè)試結(jié)果。
主節(jié)點(diǎn)200,用于被主節(jié)點(diǎn)調(diào)度器100啟動(dòng)后,接收主節(jié)點(diǎn)調(diào)度器100發(fā)送的壓力測(cè)試啟動(dòng)指令,并啟動(dòng)對(duì)應(yīng)的每個(gè)從節(jié)點(diǎn)300;針對(duì)每個(gè)從節(jié)點(diǎn)300,當(dāng)檢測(cè)到從節(jié)點(diǎn)300已啟動(dòng)時(shí),向從節(jié)點(diǎn)300分配壓測(cè)配額,使得從節(jié)點(diǎn)300對(duì)被測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試,獲得對(duì)應(yīng)的從壓測(cè)統(tǒng)計(jì)信息;同步每個(gè)從節(jié)點(diǎn)300獲得的從壓測(cè)統(tǒng)計(jì)信息,得到對(duì)應(yīng)的壓測(cè)統(tǒng)計(jì)信息,并發(fā)送給主節(jié)點(diǎn)調(diào)度器100。
從節(jié)點(diǎn)300,用于被主節(jié)點(diǎn)200啟動(dòng)后,接收主節(jié)點(diǎn)200分配的壓測(cè)配額,模擬終端用戶與被測(cè)試系統(tǒng)中服務(wù)器建立連接,并進(jìn)行數(shù)據(jù)傳輸,獲得對(duì)應(yīng)的從壓測(cè)統(tǒng)計(jì)信息,將從壓測(cè)統(tǒng)計(jì)信息同步給主節(jié)點(diǎn)200。
本發(fā)明一實(shí)施例中,主節(jié)點(diǎn)調(diào)度器100,用于根據(jù)預(yù)設(shè)的主節(jié)點(diǎn)壓力配置策略,向每個(gè)主節(jié)點(diǎn)200發(fā)送對(duì)應(yīng)的壓力配置文件,并登錄到對(duì)應(yīng)的主節(jié)點(diǎn)200進(jìn)行啟動(dòng)。
本發(fā)明一實(shí)施例中,主節(jié)點(diǎn)調(diào)度器100,還用于向主節(jié)點(diǎn)200發(fā)送登錄請(qǐng)求,當(dāng)接收到主節(jié)點(diǎn)200返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向主節(jié)點(diǎn)200發(fā)送主啟動(dòng)指令,并接收主節(jié)點(diǎn)200返回的啟動(dòng)成功響應(yīng)指令。
主節(jié)點(diǎn)200,還用于接收主節(jié)點(diǎn)調(diào)度器100發(fā)送的登錄請(qǐng)求,并進(jìn)行授權(quán),向主節(jié)點(diǎn)調(diào)度器100返回登錄請(qǐng)求授權(quán)通過(guò)指令;接收主節(jié)點(diǎn)調(diào)度器100發(fā)送的主啟動(dòng)指令,當(dāng)確認(rèn)主啟動(dòng)指令合法后,執(zhí)行主啟動(dòng)指令并生成啟動(dòng)成功響應(yīng)指令返回給主節(jié)點(diǎn)調(diào)度器100。
本發(fā)明一實(shí)施例中,主節(jié)點(diǎn)200,還用于向從節(jié)點(diǎn)300發(fā)送登錄請(qǐng)求,當(dāng)接收到從節(jié)點(diǎn)300返回的登錄請(qǐng)求授權(quán)通過(guò)指令時(shí),向從節(jié)點(diǎn)300發(fā)送從啟動(dòng)指令,接收從節(jié)點(diǎn)300返回的啟動(dòng)成功響應(yīng)指令。
從節(jié)點(diǎn)300,還用于接收主節(jié)點(diǎn)200發(fā)送的登錄請(qǐng)求,并進(jìn)行授權(quán),向主節(jié)點(diǎn)200返回登錄請(qǐng)求授權(quán)通過(guò)指令;接收主節(jié)點(diǎn)200發(fā)送的從啟動(dòng)指令,當(dāng)確認(rèn)從啟動(dòng)指令合法后,執(zhí)行從啟動(dòng)指令并生成啟動(dòng)成功響應(yīng)指令返回給主節(jié)點(diǎn)200。
可見(jiàn),每個(gè)主節(jié)點(diǎn)只需與主節(jié)點(diǎn)調(diào)度器進(jìn)行唯一連接,而每個(gè)主節(jié)點(diǎn)之間并不需要相互連接,這樣,可根據(jù)每個(gè)主節(jié)點(diǎn)的承受能力分而進(jìn)行測(cè)試,并可批量獲取每個(gè)主節(jié)點(diǎn)得到的壓測(cè)統(tǒng)計(jì)信息,從而減少因規(guī)模擴(kuò)展,主節(jié)點(diǎn)成為瓶頸的幾率,解決了主從模式下因規(guī)模擴(kuò)展容量存在上限不足的問(wèn)題,實(shí)現(xiàn)了超大規(guī)模的壓力測(cè)試。并且,通過(guò)登錄的方式來(lái)進(jìn)行節(jié)點(diǎn)啟動(dòng),過(guò)程簡(jiǎn)單,并且,單向授權(quán)方式使得節(jié)點(diǎn)啟動(dòng)過(guò)程安全可控,進(jìn)一步提高壓力測(cè)試的安全性和效率。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。