壓測全稱為壓力測試,是確立系統穩定性的一種測試方法,通常在系統正常運作範圍之外進行,以考察其功能極限和隱患。
在開發介面或者功能點完成後,就需要對介面或功能點壓力測試,測試出介面的極限以應對較大並發,舉一個最直接的例子:淘寶雙十一購物節,2018年淘寶交易創建峰值達到49.1萬筆/秒,而在雙十一之前淘寶都要對系統進行壓測,看是否能夠抗住每年創新高的並發!
大白話:不停地請求服務的介面,設置每秒的請求量以及持續時間,看看什麼時候服務開始處理失敗,從而得出服務的性能指標。
一、筆記目的
- 簡單認識壓測(的目的)
- 介紹壓測平台應該有哪些能力
二、壓測目的
- 挖掘系統瓶頸點 cpu計算能力 業務代碼(頻繁full gc等) DB 線程模型 帶寬等
- 建立性能基線 qps (request per second) rt (response time) 用於線上擴容策略配置等
- 優化系統性能 配置DB主從 jvm參數優化 緩存改造 線程模型改造等
三、壓測平台應該具備的能力
1.壓測場景
- rpc場景(一般為壓測單個服務的性能) 回放錄製的流量 自定義的流量
- http場景(一般為全鏈路壓測) 回放錄製的流量 自定義的流量
2.數據
準備數據用於壓測的時候使用
- 錄製任務 http請求的錄製 rpc請求的錄製
3.壓測參數配置
- 壓測類型 普通壓測(普通循環播放流量) 調試(單次流量播放,一般用於調試鏈路是否接通) 遞增(設置壓測的多個階段,每個階段配置不同的qps以及持續時長)
- 配置 變數配置(單是流量錄製是不夠的,特殊的介面(比如關注行為)需要變化請求的參數,因此需要支持變數配置) 自增變數 設置起止值 設置步長 文件變數 讀取變數列 時間變數 對當前毫秒戳做加減操作 計算變數 uuid 區間random 預定義變數(就是寫死一個值) 請求配置 指定介面與方法/url 指定機器 超時時間 變數 指定配置好的變數 壓測配置 初始qps 期望最大qps 詞表配置 循環回放流量錄製中的流量 資源隔離 DB隔離 緩存隔離 MQ隔離 靜默期(那個時間段不可以進行壓測)
4.保護策略
配置不同的監控項以及異常的處理策略:比如停止壓測或者降低壓測流量等
- db保護策略 配置db的告警閾值 告警之後自動降低指定的qps或者停止壓測
- 機器保護策略 監控cpu gc 內存等等等等 降低qps或者停止
- 服務保護策略 監測請求的響應情況 降低qps或者停止
5.監控
配置不同的監控項用於判斷性能瓶頸
- 客戶端響應情況監控 qps rt 錯誤率
- 服務端監控#### 業務日誌 機器 cpu 線程池 服務介面等待隊列大小等
四、壓測報告
- 需要輸出壓測報告用於分析和記錄 各個監控項的指標 壓測結果的指標 等等
今天為大家簡單列舉了一些壓測的知識點,以後有時間再為大家詳細介紹哦,歡迎一鍵三連!!!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/255314.html
微信掃一掃
支付寶掃一掃