网站首页 > 技术教程 正文
HTTP并行连接可以提高符合页面的传输速度,但并行连接也存在一些缺点:
每个事务都会打开/关闭一条新的连接,会耗费时间和带宽
由于TCP满启动特性的存在,每条新连接的性能都会有所降低
可打开的并行连接数量实际上是有限的
持久连接有一些比并行连接更好的地方。持久连接降低了时延和连接建立的开销,将连接保持在已调谐状态,而且减少了打开连接的潜在数量。但是,管理持久连接时要特别小心,不然就会累积出大量的空闲连接,耗费本地以及远程客户端和服务器上的资源。
持久连接与并行连接配合使用可能是最高效的方式。现在,很多Web应用程序都会打开少量的并行连接,其中的每一个都是持久连接。持久连接有两种类型,比较老的HTTP/1.0+"keep-alive"连接,以及现代的HTTP/1.1"persistent"连接。
注:在HTTP/1.0中,默认的是短连接,没有正式规定 Connection:Keep-alive 操作;在HTTP/1.1中所有连接都是Keep-alive的,也就是默认都是持久连接的(Persistent Connection)
Nginx配置支持关闭持久连接,如下:
location / { keepalive_timeout 0; }
访问相同url,在Nginx配置keepalive_timeout 0;前,响应头截图如下:
Nginx配置keepalive_timeout 0;后,响应头截图如下:
使用tcpdump命令解释说明connection:keep-alive能实现持久连接,减少tcp连接建立:
tcpdump -n host 47.91.132.205 and port 80
图:connection:keep-alive下三次请求同一url
如上图,是在connection:keep-alive下请求同一url,tcpdump抓包的结果,不难看出,第一次请求,创建了tcp连接,后两次请求,都是基于持久连接下直接传输数据。
图:connection:close下两次请求同一url
如上图,是在connection:close下请求同一url,tcpdump抓包的结果,不难看出,第一次请求,创建了tcp连接,第二次请求也创建了tcp连接。
注:如果你的客户端和服务器之间有“哑代理(盲中继)”(即并不能有效识别connection头部的keep-alive,但会向下转发这个首部信息,从而造成客户端、服务端都认为代理接受持久连接,但事实上代理在一次TCP连接结束后放弃连接了),可能看不到上述的实操结果。
简单印象”头条号每天将不定时发布文章,内容大多为原创性技术相关或技术人的另一面生活,欢迎大家收藏、转发、评论或点击右上角的“关注”,支持我的头条号,也可以直接访问我的个人博客(http://www.thanks.live)查看最新撰写的内容。
猜你喜欢
- 2024-10-15 Nginx之内存池(nginx 内存配置)
- 2024-10-15 Linux下配置keepalive心跳检测部署
- 2024-10-15 性能 - 性能调优的常见手段(性能改善)
- 2024-10-15 HTTP keep-alive和TCP keepalive的区别,你了解吗?
- 2024-10-15 负载均衡:算法/策略+ LVS+Keepalive+Nginx反向代理+HAProxy
- 2024-10-15 关于Keepalive的那些事(关于keep 的短语)
- 2024-10-15 好程序员分享http的keep-alive和tcp的keep-alive区别
- 2024-10-15 TCP/IP协议栈之数据包如何穿越各层协议(绝对干货)
- 2024-10-15 Nginx的复用连接的功能之KeepAlive
- 2024-10-15 nginx之keepalive详解及配置(nginx配置keepalive_timeout)
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)