在http1.1中,引入了一种新的特性,即pipeline。那么什么是pipeline呢?pipeline其实就是流水线作业,它可以看作为keepalive的一种升华,因为pipeline也是基于长连接的,目的就是利用一个连接做多次请求。如果客户端要提交多个请求,对于keepalive来说,那么第二个请求,必须要等到第一个请求的响应接收完全后,才能发起,这和TCP的停止等待协议是一样的,得到两个响应的时间至少为2*RTT。而对pipeline来说,客户端不必等到第一个请求处理完后,就可以马上发起第二个请求。得到两个响应的时间可能能够达到1*RTT。nginx是直接支持pipeline的,但是,nginx对pipeline中的多个请求的处理却不是并行的,依然是一个请求接一个请求的处理,只是在处理第一个请求的时候,客户端就可以发起第二个请求。这样,nginx利用pipeline减少了处理完一个请求后,等待第二个请求的请求头数据的时间。其实nginx的做法很简单,前面说到,nginx在读取数据时,会将读取的数据放到一个buffer里面,所以,如果nginx在处理完前一个请求后,如果发现buffer里面还有数据,就认为剩下的数据是下一个请求的开始,然后就接下来处理下一个请求,否则就设置keepalive。

Nginx学习之keepalive

keep-alive pipeline区别相关推荐

  1. redis中multi和pipeline区别以及效率(推荐使用pipeline)

    手册得知 pipeline 只是把多个redis指令一起发出去,redis并没有保证这些指定的执行是原子的:multi相当于一个redis的transaction的,保证整个操作的原子性,避免由于中途 ...

  2. nginx+tomcat动静分离结构

    本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...

  3. Java Web 高性能开发,前端的高性能

    Java Web 高性能开发,第 2 部分: 前端的高性能 Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.Web 的思想是 ...

  4. 解读ASP.NET 5 MVC6系列(6):Middleware详解

    在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章我们就来一一分析,在这里如 ...

  5. Redis从入门到集群分布式实践

    Redis 分布式实践 一. Redis 初识 1.1 Redis 导学 Redis有哪些特点? 高性能的key-value服务器 多种数据结构 丰富的功能 高可用分布式支持 适合人群: 初学者 进阶 ...

  6. Http Keep-Alive和Tcp keepalive介绍

    Http Keep-Alive和Tcp keepalive介绍 1.TCP连接介绍 1.1 建立连接-三次握手 1.2 释放连接-四次挥手 2. KeepAlive与Keep-Alive介绍 2.1 ...

  7. 面试面经|Java面试Redis面试题

    序言 凡事预则立,不预则废.能读到这里的人,我相信都是这个世界上的"有心人",还是那句老话:上天不负有心人!我相信你的每一步努力,都会收获意想不到的回报. 1.Redis 为何这么 ...

  8. Redis面试题(五十六道)

    1.什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redis 可以存储 ...

  9. pipeline和java的区别_总结:四个Pipeline脚本式与声明式语法差异

    如果您阅读此博客文章,则很有可能正在寻找有关脚本化和声明性管道之间的实际差异的信息,对吗?那你找不到更好的地方了.我将向您展示这两者之间的四个最实际的区别.和我待几分钟,享受旅程! 为什么要有两种管道 ...

  10. sklearn之pipeline:pipeline函数/make_pipeline函数的简介及其区别联系、使用技巧、案例应用之详细攻略

    sklearn之pipeline:pipeline函数/make_pipeline函数的简介及其区别联系.使用技巧.案例应用之详细攻略 目录 sklearn.pipeline函数简介 1.Why pi ...

最新文章

  1. 互联网+大赛作品_“颂中国力量 绘美好梦想”全市中小学生互联网+书画大赛作品展示(二十六)...
  2. zookeeper C API
  3. PMCAFF | 赶集、暴风影音这些优质App为什么都在做积分商城?
  4. 如何用TXT文档数据批量生成条形码
  5. Python基础教程:括号()[]{}详解
  6. h5列表 php,常用的HTML5列表标签
  7. junit白盒测试 案例_JUnit通过失败测试案例
  8. mysql服务启动失败 Starting MySQL. ERROR! The server quit without updating PID file
  9. 编译后错误提示为pls-00103:出现符号在需要下列之一时:begin case declare
  10. Delphi 中的 XMLDocument 类详解(13) - 关于 XML 属性
  11. mongodb 常用操作(转)
  12. android抓trace工具,Android性能优化工具之TraceView
  13. 搜狗状告腾讯拼音输入法不正当竞争索赔2051万
  14. ug创建html文件,UG8.0如何创建和打开中文名称的部件
  15. lcy老师的训练反思
  16. Opencv 特征训练分类器
  17. 使用Cocoapods创建私有podspec
  18. GCC源码分析(十四) — rtx结构体,指令与栈分配
  19. STM32 LCD12864 原理和实现代码
  20. 电机及电气技术实验装置QY-503

热门文章

  1. java实现调查问卷_jsp70516调查问卷自动生成与分析系统 双数据库 mysql版
  2. Gibbs Sampling\吉布斯采样(二)
  3. 浅谈算法和数据结构: 六 符号表及其基本实现
  4. 快慢指针在数组中的应用
  5. 编译原理完整学习笔记(一):引论
  6. 长链剖分算法完整总结
  7. 主子式大于等于零的矩阵是半正定矩阵的证明方法之二
  8. Hvv近期0day总结四
  9. linux三剑客之sed命令,linux三剑客之sed命令
  10. python数据框追加_将行追加到Pandas数据框将添加0列