http连接优化
- 并行连接(能够同一时候和多台server建立HTTP连接)
- 持久连接
- 管道化连接
- 复用的连接
- 假设连接不是持久的,就不应该使用管道
- 必须依照与请求同样的顺序回送http响应。http报文中没有序列号标签。因此假设收到的响应失序了。那么就没办法将其与请求匹配起来了。
- httpclient必须做好连接会在随意时刻关闭的准备,还要准备重发全部未完毕的管道化请求。
- httpclient不应该用管道化的方式发送会产生副作用的请求(POST请求)。比方POST是要买一本书,再运行一次就又买了一本书,显然是不能运行的。
(重置报文会被当做非常严重的错误来处理,直接删除对端还未读取的全部缓存数据。使应用程序产生错误)
这样的2MSL等待的还有一个结果是这个TCP连接在2MSL等待期间。定义这个连接的插口(clientip和port,服务端ip和port)不能被使用,这个连接仅仅能在2MSL等待结束后才干再次使用。
假设在一定的时间区间内没有关闭输入信道。应用程序能够强制关闭连接,以节省资源(内存和socket)。
Keep-Alive模式
- server会告诉client超时时间,在响应头部中Keep-Alive中指明timeout时间或者max最大事务数
- client或者服务端断开连接(关闭或者下线),主动发起四次握手
http连接优化的更多相关文章
- mysql优化之连接优化(open-files-limit与table_open_cache)
MySQL打开的文件描述符限制 Can't open file: '.\test\mytable.frm' (errno: 24) OS error code : Too many open file ...
- mysql优化之连接优化
Posted by Money Talks on 2012/02/23 | 第一篇 序章第二篇 连接优化第三篇 索引优化第四篇 查询优化第五篇 到实战中去 连接优化 连接优化主要指客户端连接数据库以及 ...
- MySQL优化二(连接优化和缓存优化)
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- 百度APP移动端网络深度优化实践分享(二):网络连接优化篇
本文由百度技术团队“蔡锐”原创发表于“百度App技术”公众号,原题为<百度App网络深度优化系列<二>连接优化>,感谢原作者的无私分享. 一.前言 在<百度APP移动端网 ...
- 【mysql 优化 5】左连接和右连接优化
原文地址:8.2.1.8 Left Join and Right Join Optimization mysql以下列方式实现一个A left join B 连接条件: 1,表B设置为依赖于表A和A所 ...
- MySQL实验 内连接优化order by+limit 以及添加索引再次改进
MySQL实验 内连接优化order by+limit 以及添加索引再次改进 在进行子查询优化双参数limit时我萌生了测试更加符合实际生产需要的ORDER BY + LIMIT的想法,或许我们也可以 ...
- 网络编程Netty IoT百万长连接优化
目录 IoT推送系统 IoT是什么 IoT推送系统的设计 心跳检测机制 简述心跳检测 心跳检测机制代码示例 百万长连接优化 连接优化代码示例 TCP连接四元组 配置优化 IoT推送系统 IoT是什么 ...
- HiveServer连接优化
引言 数据平台目前通过Hive SQL的方式提供数据分析服务,系统使用多台HiveServer(JDBCServer)接收客户端连接请求,实际使用场景中频频出现HiveServer内存消耗过多导致 ...
- 【mysql 优化 4】嵌套连接优化
原文地址:Nested Join Optimization 与SQL标准相比,table_factor的语法被扩展.后者仅接受table_reference,而不是一对括号内的列表.如果我们将tabl ...
随机推荐
- OA系统权限管理设计方案
(转)OA系统权限管理设计方案 OA系统权限管理设计方案 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本的功能. 可以对“组”进行权限分配.对于一个大企业的 ...
- scala 学习笔记七 基于类型的模式匹配
1.介绍 Scala 提供了强大的模式匹配机制,应用也非常广泛. 一个模式匹配包含了一系列备选项,每个都开始于关键字 case.每个备选项都包含了一个模式及一到多个表达式.箭头符号 => 隔开了 ...
- js 特效
栏目1 栏目1->菜单1 栏目1->菜单2 栏目1->菜单3 栏目1->菜单4 栏目2 栏目2->菜单1 栏目2->菜单2 栏目2->菜单3 栏目2-> ...
- 安装Ubuntu 桌面版 12.04 LTS 过程之记录
[下载ISO文件刻录到光盘上] 1.首先从http://www.ubuntu.com/download/desktop/zh-CN找到合适的版本下载. 2.完毕后,将ISO文件放好.然后启动nero, ...
- 【linux】重置fedora root密码
I forget root password on fedora,debian.fedora 17 fedora 18 fedora 19 fedora 20 fedora 21 fedora .de ...
- android kernel控制台初始化过程
对于我们的android平台,控制台被定义到了串口1上,因此初始化过程就是把控制台的输出配置到串口1上 对kernel控制台初始化是在挂载文件系统之前,由于没有串口的设备文件,不能通过打开设备文件来访 ...
- Java多线程(1) 创建
一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下以下这张较为经典的图: Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Threa ...
- vue 目录结构与文件配置说明
目录结构与文件配置说明 首先对目录结构进行说明, 1.build目录,主要利用webpack与node插件启动一些相关服务的js文件 2.config目录主要是针对开发环境,生产环境,测试环境的配置信 ...
- JS将数字转换为大写汉字人民币
<script language="jscript"> function convertCurrency(currencyDigits) { // Constants: ...
- eclipse 配置多个tomcat
eclipse 配置多个tomcat CreateTime--2018年4月23日15:32:28 Author:Marydon windows-->Preferences-->Ser ...