本申請涉及測試,尤其涉及一種業(yè)務(wù)系統(tǒng)的性能測試方法及裝置、可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、業(yè)務(wù)系統(tǒng)可以基于用戶發(fā)起的請求提供web服務(wù),在業(yè)務(wù)系統(tǒng)存在例如主機(jī)、服務(wù)器和/或數(shù)據(jù)庫等軟硬件設(shè)備更換時(shí),運(yùn)行環(huán)境發(fā)生改變。則需要驗(yàn)證新的業(yè)務(wù)系統(tǒng)架構(gòu)下對應(yīng)的業(yè)務(wù)是否能正常運(yùn)行。即,在業(yè)務(wù)系統(tǒng)完成適配改造后,需進(jìn)行性能測試確保用戶使用不受影響,在開展性能測試時(shí),直接在生產(chǎn)環(huán)境,即為用戶提供真實(shí)服務(wù)的實(shí)際運(yùn)行環(huán)境下進(jìn)行測試,可能為用戶帶來諸如網(wǎng)絡(luò)卡頓、請求無響應(yīng)等風(fēng)險(xiǎn)。
2、因此,需要一種安全可靠的方式模擬生產(chǎn)環(huán)境,來準(zhǔn)確、有效測試改造后的業(yè)務(wù)系統(tǒng)的性能。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例的目的是提供一種業(yè)務(wù)系統(tǒng)的性能測試方法及裝置、可讀存儲(chǔ)介質(zhì),用以解決現(xiàn)有業(yè)務(wù)系統(tǒng)的性能測試安全可靠性低的問題。
2、為了解決上述技術(shù)問題,本說明書是這樣實(shí)現(xiàn)的:
3、第一方面,提供了一種業(yè)務(wù)系統(tǒng)的性能測試方法,包括:
4、采集目標(biāo)業(yè)務(wù)系統(tǒng)在生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求及http請求對應(yīng)產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志;
5、基于所述http請求在測試環(huán)境下對改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放;
6、采集流量回放過程中http請求對應(yīng)產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志;
7、將所述生產(chǎn)環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志,以及所述測試環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志進(jìn)行分析,以得到改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)的性能測試結(jié)果。
8、可選地,所述采集目標(biāo)業(yè)務(wù)系統(tǒng)在生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求,包括:
9、基于不同參數(shù)組合對應(yīng)的http請求的流量數(shù)據(jù)包的采集完整度,確定用于采集所述流量數(shù)據(jù)包時(shí)的最優(yōu)參數(shù)組合,參數(shù)組合包括是否配置http協(xié)議過濾、是否僅采集http請求、采集耗時(shí)長短、采集時(shí)是否限定服務(wù)端口歸屬以及是否采用高速存儲(chǔ)設(shè)備中的一項(xiàng)或多項(xiàng);
10、基于所述最優(yōu)參數(shù)組合,采集所述目標(biāo)業(yè)務(wù)系統(tǒng)在業(yè)務(wù)高峰時(shí)段所述生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求的流量數(shù)據(jù)包。
11、可選地,所述基于不同參數(shù)組合對應(yīng)的http請求的流量數(shù)據(jù)包的采集完整度,確定用于采集所述流量數(shù)據(jù)包時(shí)的最優(yōu)參數(shù)組合,包括:
12、以包括不同參數(shù)組合和對應(yīng)采集完整度的數(shù)據(jù)集作為樣本輸入預(yù)設(shè)概率代理函數(shù);
13、以目標(biāo)函數(shù)為達(dá)到采集完整度最高的最優(yōu)解,在所述概率代理函數(shù)的參數(shù)空間確定所述最優(yōu)參數(shù)組合。
14、可選地,所述采集目標(biāo)業(yè)務(wù)系統(tǒng)在生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求及http請求對應(yīng)產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志之后,還包括:
15、將采集的http請求從數(shù)據(jù)鏈路層協(xié)議解析為http應(yīng)用層協(xié)議;
16、解析后的http請求的請求頭、請求體以分別存儲(chǔ)的方式存儲(chǔ)到目標(biāo)數(shù)據(jù)庫,并記錄http請求的時(shí)間戳及前后序列順序。
17、可選地,所述基于所述http請求在測試環(huán)境下對改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放,包括:
18、獲取包括采集的各http請求的原始回放流量源;
19、確定所述原始回放流量源中各http請求對應(yīng)的原始時(shí)間間隔;
20、同時(shí)啟動(dòng)多個(gè)獨(dú)立服務(wù)進(jìn)程分別加載所述原始回放流量源;
21、通過所述多個(gè)獨(dú)立服務(wù)進(jìn)程將所述回放流量源中的各http請求按照對應(yīng)的原始時(shí)間間隔,回放到改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)。
22、可選地,基于改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放時(shí)的配置要求,所述多個(gè)獨(dú)立服務(wù)線程被分配在所述目標(biāo)業(yè)務(wù)系統(tǒng)的相同節(jié)點(diǎn)或不同節(jié)點(diǎn)。
23、可選地,所述基于所述http請求在測試環(huán)境下對改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放,包括:
24、獲取包括采集的各http請求的原始回放流量源;
25、確定所述原始回放流量源中各http請求對應(yīng)的原始時(shí)間間隔;
26、啟動(dòng)單個(gè)服務(wù)進(jìn)程加載所述原始回放流量源;
27、通過所述單個(gè)服務(wù)進(jìn)程將所述回放流量源中的各http請求按照對應(yīng)的原始時(shí)間間隔等比例縮短預(yù)定倍數(shù)后,回放到改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)。
28、可選地,所述將所述生產(chǎn)環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志,以及所述測試環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志對應(yīng)進(jìn)行分析,以得到改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)的性能測試結(jié)果,包括:
29、比對所述生產(chǎn)環(huán)境下http請求產(chǎn)生的響應(yīng)和所述測試環(huán)境下http請求產(chǎn)生的響應(yīng),以確定同一http請求在所述生產(chǎn)環(huán)境下和所述測試環(huán)境下的耗時(shí);
30、比對所述生產(chǎn)環(huán)境下http請求產(chǎn)生的應(yīng)用性能數(shù)據(jù)和所述測試環(huán)境下http請求產(chǎn)生的應(yīng)用性能數(shù)據(jù),以確定改造后所述目標(biāo)業(yè)務(wù)系統(tǒng)的應(yīng)用性能;
31、比對所述生產(chǎn)環(huán)境下http請求產(chǎn)生的數(shù)據(jù)庫性能數(shù)據(jù)和所述測試環(huán)境下http請求產(chǎn)生的數(shù)據(jù)庫性能數(shù)據(jù),以確定改造后所述目標(biāo)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫性能;
32、比對所述生產(chǎn)環(huán)境下http請求產(chǎn)生的日志和所述測試環(huán)境下http請求產(chǎn)生的包括日志異常情況、中間件日志的請求耗時(shí)及響應(yīng)狀態(tài)碼的日志,以確定改造后所述目標(biāo)業(yè)務(wù)系統(tǒng)的運(yùn)行狀態(tài);
33、基于所述耗時(shí)、應(yīng)用性能、數(shù)據(jù)庫性能和運(yùn)行狀態(tài)中的一項(xiàng)或多項(xiàng)的組合,得到改造后所述目標(biāo)業(yè)務(wù)系統(tǒng)的性能測試結(jié)果。
34、第二方面,提供了一種業(yè)務(wù)系統(tǒng)的性能測試裝置,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的方法的步驟。
35、第三方面,提供了一種可讀存儲(chǔ)介質(zhì),該可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的方法的步驟。
36、在本申請實(shí)施例中,通過采集目標(biāo)業(yè)務(wù)系統(tǒng)在生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求及http請求對應(yīng)產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志;基于所述http請求在測試環(huán)境下對改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放;采集流量回放過程中http請求對應(yīng)產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志;將所述生產(chǎn)環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志,以及所述測試環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志進(jìn)行分析,以得到改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)的性能測試結(jié)果,由此可以在不影響業(yè)務(wù)系統(tǒng)正常運(yùn)行的情況下抓取生產(chǎn)環(huán)境的流量數(shù)據(jù)包,使用生產(chǎn)環(huán)境下用戶真實(shí)訪問請求實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)改造后的自動(dòng)化測試,在測試環(huán)境中模擬生產(chǎn)環(huán)境負(fù)載,減少大量人工測試成本,大幅提高測試效率和測試準(zhǔn)確率,有效精準(zhǔn)發(fā)現(xiàn)改造后目標(biāo)業(yè)務(wù)系統(tǒng)的性能瓶頸、服務(wù)器資源配置是否滿足業(yè)務(wù)需求,為目標(biāo)業(yè)務(wù)系統(tǒng)適配改造后的性能優(yōu)化和資源配置提供精準(zhǔn)指導(dǎo)。
1.一種業(yè)務(wù)系統(tǒng)的性能測試方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采集目標(biāo)業(yè)務(wù)系統(tǒng)在生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于不同參數(shù)組合對應(yīng)的http請求的流量數(shù)據(jù)包的采集完整度,確定用于采集所述流量數(shù)據(jù)包時(shí)的最優(yōu)參數(shù)組合,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采集目標(biāo)業(yè)務(wù)系統(tǒng)在生產(chǎn)環(huán)境下執(zhí)行目標(biāo)業(yè)務(wù)時(shí)的http請求及http請求對應(yīng)產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志之后,還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述http請求在測試環(huán)境下對改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,基于改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放時(shí)的配置要求,所述多個(gè)獨(dú)立服務(wù)線程被分配在所述目標(biāo)業(yè)務(wù)系統(tǒng)的相同節(jié)點(diǎn)或不同節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述http請求在測試環(huán)境下對改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)進(jìn)行流量回放,包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述生產(chǎn)環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志,以及所述測試環(huán)境下基于http請求產(chǎn)生的響應(yīng)、性能監(jiān)控?cái)?shù)據(jù)和日志對應(yīng)進(jìn)行分析,以得到改造后的所述目標(biāo)業(yè)務(wù)系統(tǒng)的性能測試結(jié)果,包括:
9.一種業(yè)務(wù)系統(tǒng)的性能測試裝置,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8中任一項(xiàng)所述的方法的步驟。
10.一種可讀存儲(chǔ)介質(zhì),其特征在于,所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8中任一項(xiàng)所述的方法的步驟。