我正在使用httperf对Web服务器进行基准测试。我的配置,i5处理器和4GB RAM。如何强调这种配置以获得准确的结果......?我的意思是我必须在这台服务器(12.04 LTS服务器)上加载100%。
答案 0 :(得分:1)
你可以像这样使用httperf
$ httperf --server --port --wsesslog = 200,0,urls.log --rate 10
这里urls.log包含要请求的不同uri /路径。查看文档了解详细信息。
现在尝试更改费率值或会话值,然后查看您可以实现的RPS数量以及回复时间。同时使用mpstat或top命令监视cpu和内存利用率,看它是否达到100%。
答案 1 :(得分:0)
关于httperf的一个棘手问题是它经常使客户端饱和,因为1)每进程打开文件限制,2)TCP端口号限制(不包括保留的0-1024,只有64512端口可用于tcp连接,意味着1分钟内仅有1075个最大持续连接),3)套接字缓冲区大小。您可能需要调整上述限制以避免使客户端饱和。
要使具有4GB内存的服务器饱和,您可能需要多台物理机。我尝试了6个客户端,每个客户端调用300 req / s到4GB VM,并使其饱和。
但是,还有其他因素影响hte结果,例如,在apache服务器中部署的页面,工作负载访问模式。但一般的建议是: 1.测试最接近目标方案的请求工作负载。 2.添加更多物理客户端,以查看响应率,响应时间,错误号的变化,以确保您不会使客户端饱和。