【问题标题】:httperf for bechmarking web-servershttperf 用于对 Web 服务器进行基准测试
【发布时间】:2013-08-24 18:01:03
【问题描述】:

我正在使用 httperf 对 Web 服务器进行基准测试。我的配置,i5 处理器和 4GB RAM。如何强调此配置以获得准确的结果...?我的意思是我必须在这台服务器(12.04 LTS 服务器)上放置 100% 的负载。

【问题讨论】:

    标签: httperf


    【解决方案1】:

    你可以像这样使用httperf

    $httperf --server --port --wsesslog=200,0,urls.log --rate 10

    这里的 urls.log 包含要请求的不同 uri/path。详情请查看文档。

    现在尝试更改速率值或会话值,然后看看可以达到多少 RPS 以及回复时间是多少。同时使用 mpstat 或 top 命令监控 cpu 和内存利用率,看它是否达到 100%。

    【讨论】:

      【解决方案2】:

      httperf 的棘手之处在于它经常先饱和客户端,因为 1)每个进程打开文件的限制,2)TCP 端口数限制(不包括保留的 0-1024,只有 64512 个端口可供tcp 连接,意味着 1 分钟内最多只能有 1075 个持续连接),3)套接字缓冲区大小。您可能需要调整上述限制以避免使客户端饱和。

      要使 4GB 内存的服务器饱和,您可能需要多台物理机。我尝试了 6 个客户端,每个客户端调用 300 个请求/秒到一个 4GB 虚拟机,并且它饱和了。

      但是,还有其他因素会影响 hte 结果,例如,部署在 apache 服务器中的页面、工作负载访问模式。但一般建议是: 1. 测试最接近你的目标场景的请求工作量。 2.添加更多的物理客户端,看看响应率,响应时间,错误数的变化,以确保您没有饱和客户端。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-11
        • 2019-06-17
        • 1970-01-01
        • 1970-01-01
        • 2013-08-22
        相关资源
        最近更新 更多