一、wrk簡介
wrk 是一種高效的 HTTP 基準測試工具,能夠在單個多核 CPU 上運作時産生大量負載。它将多線程設計與 epoll 和 kqueue 等可伸縮事件通知系統相結合,能用很少的線程壓出很大的并發量,并且可以支援lua腳本來建立複雜的測試場景(請求參數的定制,參數加密、鑒權請求等)。
二、參數說明
參數選項 | 參數說明 |
---|---|
-c | 總的連接配接數(每個線程處理的連接配接數=總連接配接數/線程數) |
-d | 測試的持續時間,如2s(2second),2m(2minute),2h(hour) |
-t | 使用的線程數總數 |
-s | 加載的lua腳本檔案 |
-H | 向請求頭添加資訊 |
–latency | 顯示延遲統計 |
–timeout | Socket/request 逾時時間 |
-v | 顯示版本詳細資訊 |
三、壓測示例
1、wrk -t12 -c800 -d30s --latency --timeout 5s http://localhost:80/login (wrk使用12個線程,800個連接配接,測試持續時間30s,顯示延遲統計資訊,請求逾時時間為5s)
加載lua腳本檔案:
wrk -t12 -c800 -d30s --latency --timeout 5s -s post.lua http://localhost:80/login
注:
-t (線程數) | 一般是CPU核數,最大不要超過CPUx2核數,否則會帶來額外的上下文切換,将線程數設定為CPU核數主要是為了WRK能最大化利用CPU,使結果更準确。 |
---|---|
-c (連接配接數) | 連接配接數(connection)可以了解為并發數,一般在測試過程中,這個值需要使用者不斷向上調試,直至QPS達到一個臨界點,便可認為此時的并發數為系統所能承受的最大并發量。 |
2、壓測參數簡介:
參數選項 | 參數說明 |
---|---|
Latency | 響應時間 |
Req/Sec | 每個線程每秒鐘的執行的連接配接數 |
Avg | 平均值 |
Max | 最大值 |
Stdev | 标準差 |
+/- Stdev | 正負一個标準差占比 |
Latency Distribution | 響應時間分布 |
Requests/sec | 每秒請求數(也就是QPS),壓力測試的性能名額,通過這個參數可以看出吞吐量 |
Transfer/sec | 每秒傳輸資料量 |
[[email protected] nginx]# wrk -t4 -c100 -d30s --latency --timeout 3s http://127.0.0.1:80/
Running 30s test @ http://127.0.0.1:80/
4 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 9.97ms 34.84ms 362.77ms 94.41%
Req/Sec 16.50k 9.78k 57.92k 67.88%
Latency Distribution
50% 1.01ms
75% 3.64ms
90% 10.41ms
99% 198.52ms
1898844 requests in 30.09s, 6.97GB read
Requests/sec: 63106.40
Transfer/sec: 237.06MB
4、測試結果詳解:
Running 30s test @ http://127.0.0.1:80/
4 threads and 100 connections
線程狀态 平均值 标準差 最大值 正負一個标準差占比
Thread Stats Avg Stdev Max +/- Stdev
響應時間:
Latency 9.97ms 34.84ms 362.77ms 94.41%
每個線程每秒完成的請求數:
Req/Sec 16.50k 9.78k 57.92k 67.88%
Latency Distribution 響應時間分布
50% 1.01ms 在1.01ms響應時間内完成了50%的請求
75% 3.64ms 在3.64ms響應時間内完成了75%的請求
90% 10.41ms 在10.41ms響應時間内完成了90%的請求
99% 198.52ms 在198.52ms響應時間内完成了99%的請求
1898844 requests in 30.09s, 6.97GB read 30.09s内處理了1898844個請求,讀取6.97GB資料
Requests/sec: 63106.40 每秒請求數(也就是QPS)
Transfer/sec: 237.06MB 每秒讀取237.06MB的資料
希望對您有所幫助,麼麼哒!