rd-manual

Wrk

常用参数:

测试Get请求,直接压测url参数即可

wrk -t 40 -c 1200 -d 10s http://myc.ink:8074/api/v1/get_test?apikey=aaa

测试Post请求,参数复杂时需要指定-s参数,借助lua脚本来完成数据模拟

wrk -t 40 -c 1200 -d 10s -s test.lua http://myc.ink:8074/api/v1/post_test

test.lua内容如下:

function ip()
    return
        math.random(1,255)..'.'
        ..math.random(1,255)..'.'
        ..math.random(1,255)..'.'
        ..math.random(1,255)
end

wrk.headers["Content-Type"] = "application/json"

function request()
    return wrk.format("POST", "/api/v1/post_test", wrk.headers, string.format('{"apikey": "miaoyc-test-apikey", "param": "%s"}', ip()))
end

wrk.format的说明如下:

  function wrk.format(method, path, headers, body)
    wrk.format returns a HTTP request string containing the passed parameters
    merged with values from the wrk table.
    根据参数和全局变量wrk, 生成一个HTTP rquest string