我使用httperf对web服务器进行基准测试。我的配置,i5处理器和4 4GB内存。如何强调此配置以获得准确的结果...?我的意思是我必须将100%的负载放在这个服务器上(12.04 LTS服务器)。
发布于 2013-09-02 17:01:09
您可以像这样使用httperf
$httperf --服务器端口号--wsesslog=200,0,urls.log --速率10
这里,urls.log包含要请求的不同uri/路径。有关详细信息,请查看文档。
现在尝试更改Rate值或session值,然后查看您可以达到多少RPS以及回复时间是多少。同时,使用mpstat或top命令监视cpu和内存利用率,查看是否达到100%。
发布于 2015-05-12 11:09:32
关于httperf的棘手之处在于,它经常首先使客户端饱和,因为1)每个进程打开的文件限制,2) TCP端口号限制(不包括保留的0-1024,只有64512个端口可用于tcp连接,这意味着1分钟内只有1075个最大持续连接),3)套接字缓冲区大小。您可能需要调整上面的限制,以避免使客户端饱和。
要使具有4 4GB内存的服务器达到饱和,您可能需要多台物理机。我尝试了6个客户端,每个客户端对一个4 4GB的虚拟机调用300个请求/秒,它会使它饱和。
然而,还有其他因素会影响结果,例如,在apache服务器上部署的页面,工作负载访问模式。但是一般的建议是: 1.测试最接近您目标场景的请求工作负载。2.添加更多的物理客户端,看看响应率、响应时间、错误数是否发生变化,以确保客户端不会饱和。
https://stackoverflow.com/questions/18421548
复制相似问题