溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

高效的性能測試工具wrk怎么用

發(fā)布時間:2021-11-15 11:09:07 來源:億速云 閱讀:425 作者:小新 欄目:云計算

這篇文章將為大家詳細(xì)講解有關(guān)高效的性能測試工具wrk怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

wrk的使用方式和apache bench這些工具也大體相似,通過命令行的方式即可發(fā)起。但是wrk比起apache bench更為高效,因為它支持多線程,更容易發(fā)揮多核CPU的能力,甚至可以壓滿CPU。wrk還支持Lua腳本來提供更多的參數(shù)定制、參數(shù)加密等需求,靈活度更高。

安裝

wrk支持大部分UNIX系統(tǒng),不支持windows系統(tǒng)。安裝過程比較簡單,從github克隆項目到本地,再在項目路徑下make即可,在此就不詳述,具體可查看github文檔。

基礎(chǔ)使用

wrk -t12 -c400 -d30s http://127.0.0.1:80/index.html

以上命令行表示對本地80端口的index.html文件發(fā)起請求,壓測時間持續(xù)30秒,并發(fā)12線程,保持400個HTTP連接請求。

輸出結(jié)果:

Running 30s test @ http://127.0.0.1:80/index.html
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    90.43ms  201.95ms   1.99s    88.34%
    Req/Sec     1.79k     1.80k   21.57k    89.17%
  577891 requests in 30.09s, 188.46MB read
  Socket errors: connect 0, read 0, write 0, timeout 37
  Non-2xx or 3xx responses: 577891
Requests/sec:  19202.50
Transfer/sec:      6.26MB

結(jié)果展示了本次壓測的請求平均延遲Latency、每秒每線程平均請求數(shù)Req/Sec、合計的每秒請求數(shù)Requests/sec和每秒吞吐量Transfer/sec等。這些數(shù)據(jù)即可反映出壓測服務(wù)器的大概響應(yīng)情況,以對服務(wù)器性能做初步判斷。

貼一下請求的命令參數(shù):

-c, --connections: total number of HTTP connections to keep open with
                   each thread handling N = connections/threads
-d, --duration:    duration of the test, e.g. 2s, 2m, 2h
-t, --threads:     total number of threads to use
-s, --script:      LuaJIT script, see SCRIPTING
-H, --header:      HTTP header to add to request, e.g. "User-Agent: wrk"
    --latency:     print detailed latency statistics
    --timeout:     record a timeout if a response is not received within
                   this amount of time.

關(guān)于長連接和短連接:apache bench默認(rèn)短連接,wrk默認(rèn)長連接。wrk如需測試短連接,可添加 -H “Connection:Close” 來關(guān)閉長連接。

Post請求

wrk不僅能發(fā)起對Get請求,也能通過Lua腳本發(fā)起Post請求。如編寫post.lua腳本:

wrk.method = "POST"wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"wrk.body = "youbody&youset"

在腳本中定義了Post請求的headers和body。執(zhí)行wrk請求時加上—script指定該腳本:

wrk -t4 -c2000 -d60s -T5s --script=post.lua --latency http://127.0.0.1:80/user/login

如此,便可輕松實現(xiàn)Post請求的壓測。

關(guān)于“高效的性能測試工具wrk怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

wrk
AI