一、长连接介绍

面临问题:

http是一个面向连接的协议,用户完成一次请求需要以下步骤

三次握手

发起请求

响应请求

四次断开

N个请求就重复N次,如果希望用户能够更快的拿到数据,服务器的压力降到最低,让你去优化这个请求过程。

解决方案:

答案很明确,那就是建设每次执行的三次握手和四次断开,最好是一次三次握手建立成功后,在这个数据通道完成所有的请求后,然后在四次断开,这就是优化思路—理想中应该是这样。

三次握手

发起请求

响应请求

发起请求

响应请求

。。。。。

请求全部完成后,四次断开

优化目的:

减少了三次握手和四次断开的次数。

注意事项:

长连接需要服务器和客户端浏览器都支持

长连接特点:

提升用户访问速度

降低服务器压力

大量空闲长连接可能造成服务器压力过大

二、长连接实现

apache2.4默认开启了长连接,长连接时间为5s,修改子配置文件httpd-default.conf可以定义该选项

#开启长连接功能 On为开启 Off为关闭

KeepAlive On

#当keepalive打开时,maxkeepaliverequests指令限制每个连接允许的请求数。如果设置为0,则允许无限请求。我们建议将此设置保持为高值以获得最大服务器性能。不建议大家将这个数值设置为0,防止内存溢出。

MaxKeepAliveRequests 100

长连接时间,默认单位是秒,也可以使用ms 只需在数值后面添加单位就行了。这个值如果你服务器速度快,网络稳定,建议设置小一点,比如3s,因为目前单个请求都是毫秒级的。避免大量空闲长连接消耗你的系统资源。

KeepAliveTimeout 5

实验总结:

一次用户访问的长连接数根据用户浏览器的不同建立的数量不同,比如chrome,每次会同时建立5个长连接,也就是五个数据通道,然后完成数据请求,所以大家都反应chrome浏览器好用,其他浏览器要看情况,不同浏览器的连接数不同。

apache站点优化——长连接相关推荐

  1. apache站点优化--限速

    一.限速介绍 网站除了能共享页面给用户外,还能作为下载服务器存在.但是作为下载服务器时,我们应该考虑服务器的带宽和IO的性能,防止部分邪恶分子会通过大量下载的方式来攻击你的带宽和服务器IO性能. 假如 ...

  2. apache站点优化—数据压缩

    一.数据压缩介绍 数据从服务器传输到客户端,需要传输时间,文件越大传输时间就越长,为了减少传输时间,我们一般把数据压缩后在传给客户端. apache支持两种压缩:deflate.gzip mod_gz ...

  3. apache站点优化—静态缓存

    一.静态缓存介绍 用户每次访问网站都会将页面中的所有元素都请求一遍,全部下载后通过浏览器渲染,展示到浏览器中.但是,网站中的某些元素我们一般都是固定不变的,比如logo,框架文件等元.,用户每次访问都 ...

  4. PHP-数据库长连接mysql_pconnect的细节

    PHP的MySQL持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之.这到底是为啥么.近距离观察后发现,这家伙也不容易啊,要看Apache的脸色,还得听MySQL指挥. 对于作为Apache模 ...

  5. 记录一次吃力的探索过程【Thinkphp搭建Mysql长连接并重用】

    使用Thinkphp搭建服务器后,进行ab测试发现并发性能几乎为0.-c参数设置为1和2,8,每秒完成请求都只有0.9左右. 于是打开mysql全局日志一看,我的乖乖,一个http请求就connect ...

  6. 前端性能优化学习 05 请求和响应优化 01(DNS 解析、HTTP 长连接、HTTP2、避免重定向、压缩传输的数据资源)

    请求和响应优化 目的:更快的内容到达时间. 核心思路: 更好的连接传输效率 更少的请求数量 更小的资源大小 合适的缓存策略 最佳实践: 减少 DNS 查找:每次主机名的解析都需要一次网络往返,从而增加 ...

  7. c++ socket 连接超时_Web性能优化之-HTTP长连接

    前言: 当我们使用浏览器访问一个Web站点的时候,我们的电脑会和Web服务器建立一条HTTP的连接,那么在这个连接层面是否可以进行性能优化呢?下面我们要讲解的就是HTTP的长连接和短连接的相关知识. ...

  8. MySQL性能优化知识:长连接、短连接、连接池

    当数据库服务器和客户端位于不同的主机时,就需要建立网络连接来进行通信.客户端必须使用数据库连接来发送命令和接收应答.数据.通过提供给客户端数据库的驱动指定连接字符串后,客户端就可以和数据库建立连接了. ...

  9. 【性能优化】网络编程 - PHP - 使用TCP长连接的一种优化思路 - 学习/实践

    1.应用场景 主要了解学习如何基于PHP使用TCP长连接的一种优化思路. 2.学习/参考 文档阅读 PHP - CGI, Fast-FGI, PHP-FPM - 学习/实践 php使用tcp长连接的一 ...

最新文章

  1. 【DBMS 数据库管理系统】数据库 -> 数据仓库 ( 数据处理类型 | 传统数据库 | 数据库不适用于分析型应用 )
  2. 计算机高校应用现状的参考文献,【计算机应用论文】高校计算机实验室管理思考探索(共4094字)...
  3. Eureka服务注册中心---SpringCloud
  4. c#url拼接方法名_C# 从1到Core委托与事件
  5. l4 l7 代理_什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?区别是什么? 翻译自Nginx官网...
  6. EasyBCD 2.4 个人版下载
  7. python自动化办公excel-Python自动化办公系列之Python操作Excel
  8. MongoDB聚合(二)
  9. mysql 端口号_mysql的端口号(mysql常用端口号)
  10. 多媒体多模态系统:智能(记忆对话)小爱同学,nie li qiang
  11. 网站建设需要怎么做?个人网站建设教程
  12. java课设迷宫游戏_Java编写迷宫小游戏
  13. 监控神器Prometheus
  14. Markdown 语法手册全
  15. 读《啤酒与尿布》——大型超市购物篮中商品关联性分析
  16. XUPT_ACM2021寒假训练第二周练习记录
  17. 15个WordPress幻灯片画廊插件
  18. 母牛的故事——无脑模拟解法
  19. 三角形外接球万能公式_任意四面体的外接球的半径(克列尔(A.L.Crelle)公式)
  20. wince5.0模拟器连接ActiveSync和共享网络PC分享上网及运行BS程序(模拟手持设备)

热门文章

  1. docker logs 日志原理
  2. Linux 最常用命令(简单易学,但能解决 95% 以上的问题)
  3. 这届产品经理也太太太太难了吧!
  4. 毕业即失业?你到底在焦虑什么
  5. 刷新纪录 | 74.7 秒训练完 ImageNet!2048 GPU 暴力出奇迹
  6. java的reflection机制_Java的Reflection机制
  7. 州 选择国家_青海的三大城市:海南州、海北州和海西州,谁的风景更美?
  8. python自建模块导入_Python模块的使用及自建模块的导入方法举例
  9. dbscan算法_DBSCAN聚类算法探索
  10. python3.6.3安装过程_python3.6.3安装图文教程 TensorFlow安装配置方法