開源的性能測試工具 wrk

開源的性能測試工具 wrk

  • 開源協議:Apache
  • 操作系統: Windows Linux OS X Android
  • 開發語言:C/C++
  • 項目所有者:wg
  • 收錄時間:2019-02-01
  • 分享:
編輯評級
4

項目詳細介紹

wrk是一款開源的性能測試工具 ,簡單易用,沒有Load Runner那么復雜,他和 apache benchmark(ab)同屬于性能測試工具,但是比 ab 功能更加強大,并且可以支持lua腳本來創建復雜的測試場景。

wrk 的一個很好的特性就是能用很少的線程壓出很大的并發量, 原因是它使用了一些操作系統特定的高性能 I/O 機制, 比如 select, epoll, kqueue 等。 其實它是復用了 redis 的 ae 異步事件驅動框架. 確切的說 ae 事件驅動框架并不是 redis 發明的, 它來至于 Tcl的解釋器 jim, 這個小巧高效的框架, 因為被 redis 采用而更多的被大家所熟知.

wrk GitHub 源碼:https://github.com/wg/wrk

安裝

wrk只能運行于 Unix 類的系統上,也只能在這些系統上便宜,所以我們需要一個Linux或者macOs。

不得不說,使用了 Win10之后方便很多。

必備條件:

  • Win10 RS及以上版本
  • 啟用Ubuntu子系統

1、Win10 系統通過bash命令,切換到Ubuntu子系統。
然后需要安裝一下編譯工具,通過運行下面命令來安裝工具:

# 安裝 make 工具
sudo apt-get install make

# 安裝 gcc編譯環境
sudo apt-get install build-essential

安裝 gcc 編譯環境的時候最好掛一下VPN,速度會快些。
image

2、安裝完成之后使用 git 下載 wrk 的源碼到本地:

https://github.com/wg/wrk.git

3、切換到git的wrk目錄,然后使用make命令:

cd /mnt/盤符/wrk目錄

make

image

編譯完成之后,目錄下面會多一個 wrk 的文件。

image

測試

使用以下命令來測試一下:

./wrk -c 1 -t 1 -d 1 http://www.baidu.com

image

簡單說一下wrk里面各個參數什么意思?

  • -t 需要模擬的線程數
  • -c 需要模擬的連接數
  • --timeout 超時的時間
  • -d 測試的持續時間

結果:

  • Latency:響應時間
  • Req/Sec:每個線程每秒鐘的完成的請求數

  • Avg:平均
  • Max:最大
  • Stdev:標準差
  • +/- Stdev: 正負一個標準差占比

標準差如果太大說明樣本本身離散程度比較高. 有可能系統性能波動很大.

如果想看響應時間的分布情況可以加上--latency參數
image

我們的模擬測試的時候需要注意,一般線程數不宜過多,核數的2到4倍足夠了。 多了反而因為線程切換過多造成效率降低, 因為 wrk 不是使用每個連接一個線程的模型, 而是通過異步網絡 I/O 提升并發量。 所以網絡通信不會阻塞線程執行,這也是 wrk 可以用很少的線程模擬大量網路連接的原因。

在 wrk 的測試結果中,有一項為Requests/sec,我們一般稱之為QPS(每秒請求數),這是一項壓力測試的性能指標,通過這個參數我們可以看出應用程序的吞吐量。

 

使用教程:https://www.cnblogs.com/savorboard/p/wrk.html

 


湖北体彩十一选五玩法 全国期货配资 广西11选5开奖号码一定牛 香港2020开奖结果+开奖记录 中国体育彩票里面有双色球吗 上海十一选五走势表 北京赛车pk拾开奖直播 极速快三的玩法及技巧 股票推荐分析APp 内蒙古快3表格 龙净环保股票分析