【问题标题】:HTTP server benchmarking with different files使用不同文件的 HTTP 服务器基准测试
【发布时间】:2018-06-07 04:24:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: http benchmarking


    【解决方案1】:

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

    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 是否存在竞争条件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2011-08-11
    相关资源
    最近更新 更多