[wrk] 壓力測試工具 - wrk
Ref: https://github.com/wg/wrk
基本的指令就不太多闡述,github裡面有
主要是需要在 wrk 送出時新增 header,
可以透過 -s 去呼叫自己寫的 .lua 腳本
現在有個情境,驗證時需要將其他變數md5並放入 header 中,該怎麼做?
範例:
使用時就是:
wrk -t6 -c1200 -d20s http://api.com/api/v1/m/auth -s wrk/authenticate.lua --latency
底下附上 md5.lua 的 repo
https://github.com/kikito/md5.lua
https://github.com/kikito/md5.lua/blob/master/md5.lua
基本的指令就不太多闡述,github裡面有
主要是需要在 wrk 送出時新增 header,
可以透過 -s 去呼叫自己寫的 .lua 腳本
現在有個情境,驗證時需要將其他變數md5並放入 header 中,該怎麼做?
範例:
-- 這行必須設定,因為 md5.lua 會放在同層目錄,方便引入
package.path = '/Users/neil/Desktop/all_projects/project/wrk/?.lua'
-- 引入同層的 md5.lua
md5 = require 'md5'
a = "a"
b = "b"
-- 取得系統時間
time = os.time()
-- 做 md5, 字串串接是使用 ..
checksum = md5.sumhexa(a .. b .. time)
wrk.method = "POST"
wrk.headers["time"] = time
wrk.headers["checksum"] = checksum
wrk.headers["a"] = a
wrk.headers["b"] = b
wrk.headers["Content-Type"] = "application/json"
-- 以下是將 response 寫入到檔案中
-- file = io.open('/Users/neil/Desktop/all_projects/project/test.log', 'a')
-- io.output(file)
-- response = function(status, header, body)
-- -- io.write("status:" .. status .. "\n");
-- io.write(body .. "\n");
-- end
-- done = function(summary, latency, requests)
-- io.write("------------- SUMMARY -------------\n")
-- end
使用時就是:
wrk -t6 -c1200 -d20s http://api.com/api/v1/m/auth -s wrk/authenticate.lua --latency
底下附上 md5.lua 的 repo
https://github.com/kikito/md5.lua
https://github.com/kikito/md5.lua/blob/master/md5.lua
Uvomeninwo Gina Sinclair https://wakelet.com/wake/IIlP6i6bjx_WkR4OJZzpR
回覆刪除musmanace