Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apache 站点优化-长连接

Apache 站点优化-长连接

作者头像
星哥玩云
发布于 2022-09-15 07:47:37
发布于 2022-09-15 07:47:37
5760
举报
文章被收录于专栏:开源部署开源部署

一、长连接介绍

面临问题:

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浏览器好用,其他浏览器要看情况,不同浏览器的连接数不同。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Apache 优化配置 prefork模式
这个就是你当前配置的apache最大的并发响应数,对应的是apache的进程数,两个参数同时修改,MaxClients不得大于ServerLimit参数。
星哥玩云
2022/07/01
7280
探寻HTTP网络超时的背后真凶:拨开云雾的生产环境排查之旅
场景:公司对外网关对很多外部商户开放,运行多年一直正常,昨天某一个客户调用我们接口的时候频繁报connectiontimeout,异常如下:
用户2781897
2019/05/20
1.7K0
探寻HTTP网络超时的背后真凶:拨开云雾的生产环境排查之旅
tomcat大量time wait问题
在服务端访问量大的时候检测到大量的time wait,并且接口请求延时较高。 执行 netstat -n |awk ‘/^tcp/{++S[$NF]}END{for(m in S) print m,S[m]}’ 这个shell命令的意思是把netstat -n 后结果的最后一条放到S[]数组中,如果相同则执行+1操作。 此时能看到TCP各种状态下的连接数量,示例
全栈程序员站长
2022/08/14
1.1K0
tomcat大量time wait问题
当 HTTP 连接池遇上 KeepAlive 时
最近在使用netty作为http客户端通过pool连接tomcat的时候,出现了很多Connection reset by peer 的IOException的异常。便对问题的根源做了细致的调研。
芋道源码
2018/12/29
2.4K0
当 HTTP 连接池遇上 KeepAlive 时
TCP/IP,http,RPC、SOA、长连接短连接
因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。
IT技术小咖
2019/11/22
2.9K0
长连接和心跳的那些事儿
心跳和长连接在一起介绍的原因是,心跳能够给长连接提供保活功能,能够检测长连接是否正常(这里所说的保活不能简单的理解为保证活着,具体来说应该是一旦链路死了,不可用了,能够尽快知道,然后做些其他的高可用措施,来保证系统的正常运行)。
涤生
2018/08/14
1.4K0
长连接和短连接分析
1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接 时它们可以释放这个连接,连接的建立是需要三
猿人谷
2018/01/17
3.5K0
长连接和短连接分析
分析 HTTP,TCP 的长连接和短连接以及 sock
HTTP 的长连接和短连接本质上是 TCP 长连接和短连接。HTTP 属于应用层协议,在传输层使用 TCP 协议,在网络层使用 IP 协议。IP 协议主要解决网络路由和寻址问题,TCP 协议主要解决如何在 IP 层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP 有可靠,面向连接的特点。
杰哥的IT之旅
2020/06/18
5K0
分析 HTTP,TCP 的长连接和短连接以及 sock
HTTP1.1 Keep-Alive到底算不算长连接?
在基础架构部浸润了半年,有一些认知刷新想和童靴们交代一下, 不一定全面,仅代表此时的认知, 也欢迎筒靴们提出看法。
有态度的马甲
2021/11/25
1.5K0
HTTP1.1 Keep-Alive到底算不算长连接?
HTTP 长连接和短连接
1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。 2. 如何理解HTTP协议是无状态的 HTTP协议是无状态的,指的是协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。也就是说,打开一个服务器上的网页
joshua317
2018/04/16
3.5K0
HTTP 长连接和短连接
一篇搞懂TCP、HTTP、Socket、Socket连接池
前言:作为一名开发人员我们经常会听到HTTP协议、TCP/IP协议、UDP协议、Socket、Socket长连接、Socket连接池等字眼,然而它们之间的关系、区别及原理并不是所有人都能理解清楚,这篇文章就从网络协议基础开始到Socket连接池,一步一步解释他们之间的关系。
用户8568307
2022/03/14
1.9K0
一篇搞懂TCP、HTTP、Socket、Socket连接池
一篇搞懂TCP、HTTP、Socket、Socket连接池
前言:作为一名开发人员我们经常会听到HTTP协议、TCP/IP协议、UDP协议、Socket、Socket长连接、Socket连接池等字眼,然而它们之间的关系、区别及原理并不是所有人都能理解清楚,这篇文章就从网络协议基础开始到Socket连接池,一步一步解释他们之间的关系。
数澜科技
2019/10/17
2.5K0
长连接和短连接详细解析
单个应用程序 + 单个数据库这套基础开发套餐我相信每个人都经历过,甚至在初期它们还有可能部署在同一台服务器上。既然应用程序和数据库分属于两个不同的进程,所以这个问题本质上还是两个进程之间的通信问题。
架构师修行之路
2019/07/23
9.4K3
长连接和短连接详细解析
长连接和短连接区别和优缺点
优点:面向无连接,操作简单,要求系统资源较少,速度快,由于不需要连接,可进行广播发送
测试小兵
2020/12/02
3.1K0
面试专题分享:计算机网络
计算机网络体系可以大致分为一下三种,OSI七层模型、TCP/IP四层模型和五层模型。
烂猪皮
2023/09/04
3570
面试专题分享:计算机网络
修改Apache的超时设置,解决长连接请求超时问题
某日,组内后台开发找到我,问我们的 WEB 服务器超时设置是多少。他反馈的问题是,有一个 VLAN 切换任务 cgi 接口经常返回 504 网关超时错误,要我分析解决下。 我问了一下,得知这个请求遇到
张戈
2018/03/21
16.2K0
修改Apache的超时设置,解决长连接请求超时问题
又见KeepAlive
最近工作中遇到一个问题,想把它记录下来,场景是这样的: 从上图可以看出,用户通过Client访问的是LVS的VIP, VIP后端挂载的RealServer是Nginx服务器。 Client可以是浏览器
小小科
2018/05/04
1.8K0
又见KeepAlive
理解三次握手与四次挥手
可以减少握手次数(建立连接的次数),但是对于服务器的压力会变大,因此也是可以规定一个连接时间的。
HelloWorldZ
2024/03/20
1180
理解三次握手与四次挥手
长连接及心跳保活原理简介
本文简要的分析了长连接产生的背景以及所解决的问题,并对比了keep-alive与心跳机制对长连接保活的影响,最后详细的介绍了心跳保活的两个关键因素–DHCP协议与NAT原理。如有不当之处,欢迎批评和指正。
sunsky
2020/08/20
4K0
长连接及心跳保活原理简介
浅谈TCP协议的长连接和短连接
HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接。那么长连接和短连接有什么不同呢?
闫同学
2023/12/06
1.2K4
相关推荐
Apache 优化配置 prefork模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档