![如何在客户端测试 keep-alive 是否正常工作](https://linux22.com/image/559726/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%B5%8B%E8%AF%95%20keep-alive%20%E6%98%AF%E5%90%A6%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
有哪些不同的方法/工具可以从客户端验证服务器上的保持活动功能是否正常工作?
答案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 ...