說明:
本文是基於虛擬機環境配置設計的
性能測試需求
核心業務接口:查詢禮品、兌換禮品、查詢訂單
通過efk統計:https://www.cnblogs.com/uncleyong/p/15527484.html
(其它參考,基於ELK實現性能測試業務模型及tps提取:https://www.cnblogs.com/uncleyong/p/15179752.html)
業務模型是,查詢禮品:兌換禮品:查詢訂單 = 2:1:1
總tps≥100
每個業務的rt<500ms
成功率≥99.5%
持續穩定跑50萬業務量
單場景
目的:找到單場景的性能問題,為容量場景提供參考,如果低於容量場景中此接口的目標tps,那肯定要先優化
根據性能需求,單場景中:
查詢禮品tps≥50
兌換禮品tps≥25
查詢訂單tps≥25
數據庫存量數據設計
禮品:10000
庫存:10000
訂單:100000
參數化數據設計
查詢禮品:10000
查詢訂單:10000
其它要求:
查詢不超過50ms
開啟慢查詢及設置閾值
vim my.cnf
開啟慢查詢
slow_query_log=1 slow_query_log_file=/mysql/logs/slow.log
long_query_time=0.05
查詢禮品
兌換禮品
查詢訂單
混合場景
目的:通過業務模型模擬線上的真實業務場景
如果混合場景設計不合理,導致的結果就是測試無參考價值
本次控制業務比例是通過吞吐量控制器,由於涉及關聯,所以將業務比例轉換成了壓測業務比例
補充:
性能測試中混合場景設計舉例:https://www.cnblogs.com/uncleyong/p/12667392.html
【答疑】幾個關於性能測試混合場景中比例控制的問題:https://www.cnblogs.com/uncleyong/p/16950853.html
對應的混合場景設計如下:
業務1
業務2
穩定性場景
目的:系統長時間運行,業務數據積累對系統的影響
暫時假設最大混合tps是100,那么最少需要跑的時間是:50萬/100=5000秒
可以適當多加10%-20%的時間
異常場景
暫未考慮
腳本其它設置
【性能項目實戰:jmeter+k8s+微服務+skywalking+efk】匯總
詳見:https://www.cnblogs.com/uncleyong/p/15475614.html