如何在客户端测试 keep-alive 是否正常工作

如何在客户端测试 keep-alive 是否正常工作

有哪些不同的方法/工具可以从客户端验证服务器上的保持活动功能是否正常工作?

答案1

你可以尝试

ab -n 500 -c 5 -k http://www.domain.com/

通过 top 查看,如果 5 个工作进程持续处理请求,keepalive 应该可以工作 (-k) 切换。不带 -k 执行相同操作,查看差异。

欢呼 Izac

答案2

正如 Ron Garrity 所说,你可以使用卷曲像这样:

curl -Iv http://www.aptivate.org 2>&1 | grep -i 'connection #0'

如果 keep-alive 正常工作,则会输出以下两行:

* Connection #0 to host www.aptivate.org left intact
* Closing connection #0

如果 keep-alive 不起作用,那么它只会输出以下行:

* Closing connection #0

输出Connection ... left intact证明服务器没有关闭连接,客户端可以重用该连接。客户端可以决定是否真的要重用该连接。您可以使用 Curl 在命令行上列出相同的 URL 两次来演示这一点

curl -Iv http://www.aptivate.org --next http://www.aptivate.org 2>&1 | grep -i '#0'

在这种情况下它将给出类似的输出:

Re-using existing connection! (#0) with host ...

相关内容