基礎的使用者服務需要進行線上壓測,但是這個專案的介面數400+,目前沒有流量錄製的功能,完成400+個介面的指令碼編寫和資料準備工作量是巨大的
需要從400+介面中挑選部分介面150+進行效能壓測,那如何選擇哪些介面進行壓測呢?
如果根據線上請求量top150個介面,但是有些介面比如引數是list格式,雖然是少量的請求,但是依然可能會對伺服器造成很大的壓力甚至是雪崩
根據效能測試的經驗,梳理了一些規則如下:
請求tps中top50的介面
需要重點關注請求量高的介面涉及寫操作的介面
寫操作比較容易引起行鎖等問題入參是集合的介面寫操作會觸發setreids等操作
確認線上使用者傳list的size多大,影響範圍可能產生大key或hot key的介面
實現邏輯複雜的介面
比如for迴圈等消耗cpu的操作頻繁運算元據庫或者redis的介面
確定讀以及寫資料庫次數線上監控mysql慢查詢對應的介面確定讀以及寫redis操作次數
線上響應慢的介面
壓測和防止壓測方案
壓測 防止壓測方案 1.壓測 1 壓測工具 ab 2 壓測請求方式 get 3 壓測網域名稱 url 4 壓測方案 10萬請求,500併發 5 壓測指令碼 ab n 100000 c 500 url 6 展示壓測結果 從上面分析,10萬請求錯誤有 96881 次請求錯誤,基本上也就是很大的問題了 7...
CPU效能壓測
有時候為了專案需求需要對cpu效能做乙個壓力測試,這裡提供一種方法。通過對圓周率位數進行計算進而確定cpu效能,根據定義預計執行時間,具體操作如下 time echo scale 1000 4 a 1 bc l q 通過該命令執行,如果3 4分鐘沒有出現結果,基本問題就可以定位在cpu上,這裡我通過...
MYSQL sysbench效能壓測
sysbench是基於luajit的可編寫指令碼的多執行緒基準測試工具。它最常用於資料庫基準測試,但也可以用於建立不涉及資料庫伺服器的任意複雜的工作負載。參考官方文件 二進位制安裝 rhel centos curl s sudo bash sudo yum y install sysbench ro...