壓測(cè)Spring Cloud服務(wù)
應(yīng)用壓測(cè)功能通過(guò)對(duì)系統(tǒng)的壓測(cè),得到一系列的性能指標(biāo),從而指導(dǎo)您配置最優(yōu)的防護(hù)規(guī)則,實(shí)現(xiàn)業(yè)務(wù)的高可用。本文介紹壓測(cè)Spring Cloud服務(wù)的操作步驟。
前提條件
應(yīng)用已接入AHAS應(yīng)用防護(hù),具體操作,請(qǐng)參見(jiàn)接入應(yīng)用方式。
背景信息
應(yīng)用壓測(cè)需要滿足以下條件才有功能入口:
- 應(yīng)用SDK版本是1.8.5及以上。
- 應(yīng)用防護(hù)為高級(jí)防護(hù)模式。
- 非公網(wǎng)環(huán)境。
步驟一:創(chuàng)建壓測(cè)場(chǎng)景
- 登錄AHAS控制臺(tái),然后在頁(yè)面左上角選擇地域。
- 在控制臺(tái)左側(cè)導(dǎo)航欄中選擇 。
- 在應(yīng)用防護(hù)頁(yè)面的應(yīng)用卡片頁(yè)簽單擊目標(biāo)應(yīng)用卡片。
在應(yīng)用詳情頁(yè)的左側(cè)導(dǎo)航欄選擇接口詳情,然后單擊Web服務(wù)頁(yè)簽。
在接口詳情頁(yè)面,單擊圖標(biāo)。
在壓測(cè)配置面板中設(shè)置場(chǎng)景配置和壓力配置相關(guān)參數(shù)。
場(chǎng)景配置頁(yè)簽相關(guān)參數(shù)說(shuō)明如下。
參數(shù)
描述
示例
場(chǎng)景名稱
壓測(cè)場(chǎng)景名稱。
test-springcloud
服務(wù)地址
包括IP和端口。您可以根據(jù)應(yīng)用實(shí)際端口進(jìn)行配置,多個(gè)服務(wù)地址以英文逗號(hào)(,)分隔。
192.168.xx.xx:8080
192.168.xx.xx,192.168.xx.xx:8081
URI路徑
請(qǐng)求路徑URL。
/demo
請(qǐng)求方式
選擇請(qǐng)求方式,包括GET、POST、PUT、DELETE。
說(shuō)明GET和DELETE只支持修改URL的Path路徑。POST和PUT支持ContentType及參數(shù)編寫(xiě)格式。
POST
請(qǐng)求頭
設(shè)置請(qǐng)求頭。關(guān)于Spring Cloud微服務(wù)支持的ContentType類型和參數(shù)編寫(xiě)格式,請(qǐng)參見(jiàn)Spring Cloud參考示例。
ContentType:application/json
請(qǐng)求參數(shù)
設(shè)置請(qǐng)求頭參數(shù)信息。關(guān)于Spring Cloud微服務(wù)支持的ContentType類型和參數(shù)編寫(xiě)格式,請(qǐng)參見(jiàn)Spring Cloud參考示例。
說(shuō)明請(qǐng)求方式為POST和PUT時(shí),需填寫(xiě)請(qǐng)求參數(shù)。
{"name": "cart", "age": 20}
超時(shí)時(shí)間(毫秒)
設(shè)置超時(shí)時(shí)間,單位:毫秒。
1000
打印日志
開(kāi)啟可自動(dòng)打印日志信息,但會(huì)影響到服務(wù)壓測(cè)性能,建議正常壓測(cè)時(shí)關(guān)閉。
關(guān)閉
壓力配置頁(yè)簽相關(guān)參數(shù)說(shuō)明如下。
參數(shù) 描述 壓測(cè)模式 TPS吞吐量模式(Transaction Per Second),指系統(tǒng)每秒處理的事務(wù)數(shù)量。 流量模型 流量模型包括固定壓力、階梯壓力和脈沖壓力。 - 固定壓力:以配置的固定并發(fā)值TPS進(jìn)行施壓。公測(cè)期間最大TPS為1000。
- 階梯壓力:設(shè)置最大值、最小值、遞增時(shí)長(zhǎng)等信息。從最小值開(kāi)始按照階梯逐步遞增,達(dá)到最大值后按照最大值持續(xù)施壓。
- 脈沖壓力:設(shè)置峰值、谷值以及持續(xù)時(shí)間等信息,施壓流量以峰值、峰谷的鋸齒波的形式進(jìn)行施壓。
TPS 設(shè)置TPS,上限為1000。 壓測(cè)時(shí)長(zhǎng)(分鐘) 指壓測(cè)總時(shí)長(zhǎng),公測(cè)期間壓測(cè)時(shí)長(zhǎng)3~10分鐘。
步驟二:執(zhí)行壓測(cè)任務(wù)
壓測(cè)場(chǎng)景創(chuàng)建成功后,可以執(zhí)行壓測(cè)任務(wù)。
- 在壓測(cè)配置面板,單擊保存配置并啟動(dòng)壓測(cè)。說(shuō)明 壓測(cè)環(huán)境準(zhǔn)備需要等待約1分鐘。
- 在性能概要和實(shí)時(shí)性能數(shù)據(jù)區(qū)域,可以實(shí)時(shí)查看壓測(cè)的性能指標(biāo)。
步驟三:查看壓測(cè)報(bào)告
壓測(cè)完成后,可以查看壓測(cè)報(bào)告。
- 在應(yīng)用詳情頁(yè)的左側(cè)導(dǎo)航欄選擇應(yīng)用壓測(cè),單擊目標(biāo)場(chǎng)景操作列的詳情。
- 在性能數(shù)據(jù)面板,查看壓測(cè)報(bào)告。說(shuō)明 實(shí)時(shí)性能數(shù)據(jù)統(tǒng)計(jì)的是每10秒的所有施壓機(jī)數(shù)據(jù),具體根據(jù)壓測(cè)總時(shí)間長(zhǎng)度會(huì)有所變化。單擊圖上方的圖例,可以顯示或隱藏某些數(shù)據(jù)曲線。
參數(shù) 說(shuō)明 總請(qǐng)求數(shù) 整個(gè)壓測(cè)過(guò)程中,共發(fā)起的請(qǐng)求個(gè)數(shù)。 平均TPS 壓測(cè)周期內(nèi),所有施壓機(jī)發(fā)出的平均TPS值,TPS=調(diào)用總次數(shù)/總運(yùn)行時(shí)間。 平均RT(ms) 所有壓力機(jī)發(fā)出平均響應(yīng)時(shí)間。 最小RT(ms) 所有壓力機(jī)中最小的一次響應(yīng)時(shí)間。 最大RT(ms) 所有壓力機(jī)中最大的一次響應(yīng)時(shí)間。 錯(cuò)誤請(qǐng)求數(shù) 所有壓力機(jī)中錯(cuò)誤請(qǐng)求數(shù)之和。 錯(cuò)誤率 所有壓力機(jī)中的平均錯(cuò)誤率。 TP80(ms) 所有壓力機(jī)中80分位(P80)的平均值。 TP95(ms) 所有壓力機(jī)中95分位(P95)的平均值。 TP99(ms) 所有壓力機(jī)中99分位(P99)的平均值。 - 在性能數(shù)據(jù)面板,單擊下載日志,可獲取壓測(cè)過(guò)程中的日志。
步驟四:設(shè)置防護(hù)規(guī)則
您可以根據(jù)壓測(cè)報(bào)告的結(jié)果,在AHAS的應(yīng)用防護(hù)中設(shè)置防護(hù)規(guī)則。在應(yīng)用詳情頁(yè)的左側(cè)導(dǎo)航欄,選擇規(guī)則管理。具體操作,請(qǐng)參見(jiàn)配置流控規(guī)則。
Spring Cloud參考示例
ContentType | 參數(shù)編寫(xiě)格式 |
application/x-www-form-urlencoded | [{"name": "cart"},{"age": 20}] |
application/json(默認(rèn)) | {"name": "cart", "age": 20} |