系統壓測指南

2021-08-23 14:17:42 字數 1533 閱讀 3743

1.概念闡述

qps(每秒查詢率)

響應時間

併發數

2.系統效能描述

在ieee的定義中:效能是系統或元件在給定約束中實現的指定功能的程度,諸如速度、正確性、記憶體使用等。

所以效能測試報告中,對系統效能的描述應該是多方面的,如:執行效率、穩定性、相容行、可靠性、可擴充套件性容量等;其中,執行效率通過併發使用者數、響應時間、吞吐量、成功率、資源消耗綜合體現。

3.併發測試

效能測試有:負載測試、壓力測試、配置測試、併發測試、容量測試、穩定性測試。其中,併發測試是測試多個使用者同時訪問同乙個應用、同乙個模組或者資料記錄時是否存在死鎖或者其他效能問題。

在實際的壓測中,我們基本上都是設定多個併發,再進行負載測試、壓力測試等,因為現實中,我們的系統就是面對多個使用者的同時使用,並且,併發使用者的數量,直接影響著系統資源的消耗,例如cpu、mem、網路連線、頻寬等。

4.如何看待併發

5.怎麼理解壓力

6.如何計算吞吐量

在效能測試中,吞吐量的計算有兩種常見的公式:

關於併發的計算如下所示: 結論

在單介面壓測時,我們用「請求總數/總時長」得到吞吐量;然後再用「吞吐量*平均響應時間」得到實際併發,此舉可用來觀察系統實際承受的併發;

在多介面壓測時,由於短板效應,同乙個流程中的所有介面獲得的請求總數和總時長都一樣,顯然「請求總數/總時長」計算各個子介面的吞吐量不合適,所以改用「併發/平均響應時間」,其中的併發數應在壓測工具中埋點統計,不可簡單使用工具執行緒數。

二. 效能壓測的一些注意事項

1.效能壓測的基本原則

2.壓測流程

檢查硬體和中介軟體配置資訊和執行健康狀況,比如連線最大連線數設定是否合理、tikv配置是否合理等,確保它們不會影響壓測結果

確定壓測目標,比如「壓測mqtt-connect介面的極限,要求1000併發使用者下能達到5000tps」。

部署應用到壓測伺服器,準備好發起測試的伺服器(如果能和壓測伺服器一樣最好,不能一樣至少也要做到在同乙個區域網內),然後用ping、traceroute檢視下網路連通狀況

確定壓測基準,比如獲取心跳檢測請求的極限tps

構造盡可能接近真實使用者訪問情況的測試資料

逐漸增大併發量和總請求數,觀察系統層面的各項指標和應用執行狀況

有時候可能需要長時間讓系統高負載執行,比如觀察系統長時間處於高負載情況下是否會出現gc故障

3.總結經驗

4.壓測常用命令:

top:

工具(命令)名稱: top

工具(命令)作用:

使用方法 :top [-] [d] [p] [q] [c] [s] [s] [n]

引數說明:

linux下命令top中的常用互動命令

2500毫秒重新整理一次top內容,總共5次,輸出內容存放到performace.txt檔案中。注:要將內容輸出到檔案中,必須使用-b,表示批處理選項.

top命令如何快速按%cpu、%mem、time+列排序,注:top預設排序為倒序,如果確實需要公升序排序,可以使用大寫字母按鍵:r

top命令中顯示其它列值、將兩列互換等

壓測和防止壓測方案

壓測 防止壓測方案 1.壓測 1 壓測工具 ab 2 壓測請求方式 get 3 壓測網域名稱 url 4 壓測方案 10萬請求,500併發 5 壓測指令碼 ab n 100000 c 500 url 6 展示壓測結果 從上面分析,10萬請求錯誤有 96881 次請求錯誤,基本上也就是很大的問題了 7...

壓測 mysql關閉連線 MySQL 壓測

mysqlslap iterations 100 create schema test query query.sql number of queries 20000 delimiter concurrency 100 3.2.2 網路引數問題 問題描述 使用mysqlslap 壓測某個語句,當併發...

Python併發 壓測http 壓測rpc

思路 啟動max workers個workers 執行緒 每個執行緒處理乙份輸入資料。如果自己統計,那還需要對下邊的指令碼進行擴充套件。如果搭配grafana等監控工具使用,那壓測指令碼只負責瘋狂發請求就好了。import concurrent.futures def parallel proces...