您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(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文檔。
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)閉長連接。
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é)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(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)容。