預估演算法:/請求大小
(?g):表示記憶體大小16核32g伺服器,可以抗住4萬多用於負載均衡的併發,最多可以抗住5-6萬,跑滿檔案描述符。1024:表示記憶體容量標準進製
system:表示系統和服務占用的額外記憶體和需要預留的記憶體
請求大小:表示靜態(一般為kb)或動態(一般為mb)的請求大小
1.安裝壓力測試工具ab
2.了解壓測工具使用方式
[root@nginx-lua ~]# ab -n 200 -c 2
//-n總的請求次數
//-c併發請求數
//-k是否開啟長連線
3.引數詳解
[root@nginx-lua conf.d]# ab -n2000 -c2 index.html
...server software: nginx/1.12.2
server hostname: 127.0.0.1
server port: 80
document path: /index.html
document length: 19 bytes
concurrency level: 200
# 總花費總時長
time taken for tests: 1.013 seconds
# 總請求數
complete requests: 2000
# 請求失敗數
failed requests: 0
write errors: 0
total transferred: 510000 bytes
html transferred: 38000 bytes
# 每秒多少請求/s(總請求出/總共完成的時間)
requests per second: 9333.23 [#/sec] (mean)
# 客戶端訪問服務端, 單個請求所需花費的時間
time per request: 101.315 [ms] (mean)
# 服務端處理請求的時間
time per request: 0.507 [ms] (mean, across all concurrent requests)
# 判斷網路傳輸速率, 觀察網路是否存在瓶頸
transfer rate: 491.58 [kbytes/sec] received
1、檢視web伺服器(nginx apache)的併發請求數及其tcp連線狀態
netstat -n | awk '/^tcp/ end '
netstat -n | awk '/^tcp/ end '
返回結果一般如下
last_ack 5 (正在等待處理的請求數)
syn_recv 30
established 1597 (正常資料傳輸狀態)
fin_wait1 51
fin_wait2 504
time_wait 1057 (處理完畢,等待超時結束的請求數)
其他引數說明
closed:無連線是活動的或正在進行
listen:伺服器在等待進入呼叫
syn_recv:乙個連線請求已經到達,等待確認
syn_sent:應用已經開始,開啟乙個連線
established:正常資料傳輸狀態
fin_wait1:應用說它已經完成
fin_wait2:另一邊已同意釋放
itmed_wait:等待所有分組死掉
closing:兩邊同時嘗試關閉
time_wait:另一邊已初始化乙個釋放
last_ack:等待所有分組死掉
2、檢視nginx或apache的執行程序數
3、檢視web伺服器程序連線數
netstat -antp | grep 80 | grep established -c
nginx壓力測試和併發預估
預估演算法 請求大小 g 表示記憶體大小 1024 表示記憶體容量標準進製 system 表示系統和服務占用的額外記憶體和需要預留的記憶體 請求大小 表示靜態 一般為kb 或動態 一般為mb 的請求大小 16核32g伺服器,可以抗住4萬多用於負載均衡的併發,最多可以抗住5 6萬,跑滿檔案描述符。1....
Python併發 壓測http 壓測rpc
思路 啟動max workers個workers 執行緒 每個執行緒處理乙份輸入資料。如果自己統計,那還需要對下邊的指令碼進行擴充套件。如果搭配grafana等監控工具使用,那壓測指令碼只負責瘋狂發請求就好了。import concurrent.futures def parallel proces...
phoenix 併發壓測
測試環境 2 cpu 40 邏輯 核 記憶體 62g 測試 sql select account name from f fact url account status where account id 465132133 limit 1 select account name account id...