17 | 排队也要讲效率:HTTP的连接管理
我曾经提到过 HTTP 的性能问题,用了六个字来概括:“不算差,不够好”。同时,我也谈到了“队头阻塞”,但由于时间的限制没有展开来细讲,这次就来好好地看看 HTTP 在连接这方面的表现。
HTTP 的连接管理也算得上是个“老生常谈”的话题了,你一定曾经听说过“短连接”“长连接”之类的名词,今天让我们一起来把它们弄清楚。
短连接
HTTP 协议最初(0.9/1.0)是个非常简单的协议,通信过程也采用了简单的“请求 - 应答”方式。
它底层的数据传输基于 TCP/IP,每次发送请求前需要先与服务器建立连接,收到响应报文后会立即关闭连接。
因为客户端与服务器的整个连接过程很短暂,不会与服务器保持长时间的连接状态,所以就被称为“短连接”(short-lived connections)。早期的 HTTP 协议也被称为是“无连接”的协议。
短连接的缺点相当严重,因为在 TCP 协议里,建立连接和关闭连接都是非常“昂贵”的操作。TCP 建立连接要有“三次握手”,发送 3 个数据包,需要 1 个 RTT;关闭连接是“四次挥手”,4 个数据包需要 2 个 RTT。
而 HTTP 的一次简单“请求 - 响应”通常只需要 4 个包,如果不算服务器内部的处理时间,最多是 2 个 RTT。这么算下来,浪费的时间就是“3÷5=60%”,有三分之二的时间被浪费掉了,传输效率低得惊人。
17 | 排队也要讲效率:HTTP的连接管理相关推荐
- 【每日一题】7月17日题目精讲—BOWL 碗的叠放
[每日一题]7月17日题目精讲-BOWL 碗的叠放 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...
- 第127讲:Hadoop集群管理之安全模式解析及动手实战学习笔记
第127讲:Hadoop集群管理之安全模式解析及动手实战学习笔记 hadoop在启动时namenode会把fsimage加载进内存,同时和edits内容合并,以此建立整个文件系统的元数据的镜像(内存级 ...
- C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题。
C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题. (1)采用virtualmode,不要使用datagridview1.datas ...
- 连接中心服务器异常,FF14排队出现2002错误详细解决办法 连接大厅服务器发生错误怎么办?...
最终幻想14最近国服的5.0新版本上线了,不过很多玩家在进入游戏之后出现了提示"连接大厅服务器发生错误"代号是2002,导致进不去游戏,一些玩家还不知道该怎么办,下面就来为大家介绍 ...
- 17个提升iOS开发效率的必用工具
本文由CocoaChina译者@红茶魔术师-大红袍 翻译自netguru.co 原文:17 Must Have Tools to Speed up Development in iOS 作者介绍:Pa ...
- 17个提升iOS开发效率的神器
时间就是金钱.编码效率的提升意味着更多的收入.可是当我们的开发技巧已经到达一定高度时,如何让开发效率更上一层楼呢?答案就是使用开发工具!在这篇文章中,我会向你介绍一些帮助我提升编码速度和工作效率的工具 ...
- 【每日一题】8月17日题目精讲-[SCOI2009]生日礼物
来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 小西有一条很长的彩带,彩带 ...
- 牛客网【每日一题】4月17日题目精讲 华华给月月准备礼物
文章目录 题目描述 题解: 代码: 推荐例题: 试题链接 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld ...
- 3500字长文讲透《CRM商机管理是什么》
1. 商机定义 商机(business opportunity),顾名思义,是商业机会.从经济意义上讲,能够产生商业利润的机会.对于企业来说,商机是获取的潜在项目机会,是进一步发育的线索,是逐渐明朗的 ...
最新文章
- 收藏 | 2018年AI三大顶会中国学术成果全链接(附视频、PPT、论文)
- 【算法题】天平砝码称重
- 即将到截止日期,Frontiers期刊向您邀稿啦!脑机接口领域
- asp.net core 自定义 Content-Type
- HTML5 音频视频
- 博弈论 斯坦福game theory stanford week 3.2_
- 最新sfc模拟器安卓汉化版_卡车模拟器山货运卡车3D游戏安卓最新版 v1.0 卡车模拟器山货运卡车3D游戏下载...
- 关联本地项目和svn_SVN服务器项目如何与本地项目同步,关联?
- 【技术维新 践行精彩】浅谈未来网站的构建
- vue中属性key的作用(了解diff),为什么不建议index作为key
- swiper 插件里面嵌套可滚动内容
- STM32L476RG利用串口下载程序
- Windows运行程序时桌面窗口卡死
- 数极客发布第10大用户行为数据分析模型-间隔分析
- qq登录无法连接服务器未响应,win7登录qq提示腾讯qq未响应的解决方法
- cxfreeze 打包exe
- AI黑科技 | 宏碁研发智能穿戴设备:智能佛珠
- 射影几何 -- 空间射影几何 1
- matlab 播放声音,Matlab:实时播放音频并显示波形
- 使用360手机助手连接真机。图文教程