修改webbench测试和训练长连接
发布时间
阅读量:
阅读量
概述
HTTP协议采用“请求-应答”机制,当使用常规模式,即非KeepAlive模式时,每次客户端与服务器之间的请求/应答都需要建立新的连接,并在完成后立即终止(由于HTTP协议本身为无连接协议);而在启用Keep-Alive模式(也称为持久连接或连接重用)时,该功能使得客户端与服务器之间的连接保持活跃状态。当后续请求发生时,无需再次建立或重新建立连接,从而提升了通信效率。
在HTTP 1.0版本中,默认情况下Keep-Alive功能是关闭的,若希望启用该功能,则需要在HTTP头中添加"Connection: Keep-Alive"字段;而在HTTP 1.1版本中,默认已开启Keep-Alive功能,只有当添加"Connection: close"字段时才会关闭。当前大多数浏览器均基于HTTP 1.1协议运行,因此默认会发起Keep-Alive连接请求。是否能够成功完成一次完整的Keep-Alive连接,则取决于服务器端的具体配置。
优势显著:有效避免了频繁建立和释放连接所带来的资源消耗
在benchcore.c文件中进行了如下修改:
- 在循环外部创建socket,并通过该socket进行多次读写操作,而非每次循环都重新创建socket。
- 对参数处理部分的代码进行了调整,具体涉及`while((opt=getopt_long(argc,a
全部评论 (0)
还没有任何评论哟~
