0

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

4

2 回答 2

1

你可以像这样使用httperf

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

这里 urls.log 包含要请求的不同 uri/path。查看文档以获取详细信息。

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

于 2013-09-02T09:01:08.500 回答
0

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

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

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

于 2015-05-12T03:09:32.280 回答