Wrk HTTP benchmarking tool - collect and analyze responses

83 Views Asked by At

I'm trying to collect and analyze responses from Wrk tool:

wrk -t 5 -c5 -d20s -s post.lua --latency https://my_url.com 

And post.lua looks like this:

local responses = {}

request = function()
    ------------------------------------------
    local payload = -- my payload

    -- Set up the HTTP request
    
    wrk.body = payload
    wrk.headers["Content-Type"] = "application/json"
    wrk.method = "POST"

    local response = wrk.format(nil, path, nil, nil, { collect_response = true })

    table.insert(responses, response)
    return response
 end

 done = function(summary, latency, requests)
    io.write("------------------------------\n")
    local responses_length = #responses
    print("Collected Response Data and Size: " .. responses_length)
    
    for _, resp in ipairs(responses) do
        print("Response Data: " .. resp.body)
        print("Response Size: " .. resp.bytes .. " bytes")
        print("--------------------------")
    end
    io.write("------------------------------\n")
end

I'm looking for sizes and statuses of responses, but something doesn't look right here.

Any help is really appreciated!

0

There are 0 best solutions below