使用不同文件进行HTTP服务器基准测试

使用不同文件进行HTTP服务器基准测试,http,benchmarking,Http,Benchmarking,我有一个HTTP服务器,它接受带有文件的POST请求(请求的内容是一个文件) 我想用一个文件目录对它进行基准测试 我尝试了一个名为ab(Apache HTTP server benchmarking tool)的工具,并设法用我作为post数据发送的一个文件进行基准测试,问题是我需要每个请求使用不同的文件,这可能吗?您可以尝试并创建一个脚本来定制您的请求,例如,这是一个基本计数器: counter = 0 request = function() if counter % 100 ==

我有一个HTTP服务器,它接受带有文件的POST请求(请求的内容是一个文件)

我想用一个文件目录对它进行基准测试

我尝试了一个名为ab(Apache HTTP server benchmarking tool)的工具,并设法用我作为post数据发送的一个文件进行基准测试,问题是我需要每个请求使用不同的文件,这可能吗?

您可以尝试并创建一个脚本来定制您的请求,例如,这是一个基本计数器:

counter = 0

request = function()
    if counter % 100 == 0 then
        path = "/"
    else
        path = path .. counter .. "/"
    end
    wrk.headers["X-Counter"] = counter
    counter = counter + 1
    return wrk.format(nil, path)
end
此脚本将查询:

/
/1/
/1/2/
/1/2/3
你可以用以下方式来称呼它:

$ wrk -c100 -d10 -t2 -s counter.lua http://0:8080/
  • -c100
    将保持100个连接处于打开状态
  • -d10
    测试持续时间(10秒)
  • -t2
    要使用的线程数
  • -s counter.lua
    使用
    counter.lua
    脚本

是否可以给它一个文件目录,并让它使用Lua以POST请求的形式传输每个文件?@Musmus是的,但您必须编写/构建脚本计数器=计数器+1时是否存在竞态条件?