Nginx壓測和併發預估

2022-09-06 12:12:22 字數 2364 閱讀 6087

預估演算法:/請求大小

(?g):表示記憶體大小

1024:表示記憶體容量標準進製

system:表示系統和服務占用的額外記憶體和需要預留的記憶體

請求大小:表示靜態(一般為kb)或動態(一般為mb)的請求大小

16核32g伺服器,可以抗住4萬多用於負載均衡的併發,最多可以抗住5-6萬,跑滿檔案描述符。

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...