LAMP架构调优(六)——开启长链接

简介: LAMP架构调优(六)——开启长链接

今天继续给大家介绍Linux运维的相关知识,本文主要内容是Apache的长链接功能设置实战。

一、开启长链接的效果
当Apache服务器开启长链接Keepalive后,会减少TCP三次握手的时间,但是会消耗服务器内存来维持链接。因此,是否开启长链接,以及合理的配置长链接失效时间,需要根据具体的业务场景来定。
如果设置不开启长链接,或者开启长链接但是链接失效时间很短,就可能出现客户端频繁链接Apache服务器的场景,会消耗系统资源,并且使得业务响应时间变长;如果开启长链接并且设置链接失效时间很长,那么Apache服务器中就会存在很多可以关闭但是还在维持的链接,也会消耗系统资源,影响正常服务的提供。
因此,网站是否开启长链接以及链接失效时间的设定,需要看网站的业务、流量大小以及服务器的硬件设备。

二、开启长链接实战
Apache开启长链接设置非常简单,只需要在Apache的主配置文件中,找到如下红线位置:

该处原本是在#注释内,删除#将其解锁,就可以配置引用conf/extra目录下的httpd-default.conf文件,该文件如下所示:

在该文件中,有三个参数,KeepAlive表示的是是否开启长链接功能,On表示开启,Off表示关闭。在该参数配置为开启的情况下,Timeout为链接失效时间,单位为秒,Timeout的值表示以下三种事件的时间长度:
1、接受一个GET请求所耗费的时间。
2、POST或者是PUT请求时,接受两个TCP包之间的时间。
3、应答时,两个TCP包传输中两个ACK包之间的时间。
MaxKeepAliveRequests表示链接失效请求次数,当超出该参数设定的次数时,长链接也会失效。

三、案例剖析
从上可以看出,其实Apache配置开启长链接非常简单,但是问题在于我们需要合理的进行配置。下面来看一下案例:
假设一个Apache服务器每秒需要处理50个访问请求,每个访问请求并发的请求数为每秒2个,每个请求需要耗费4M内存,如果长链接失效时间设定为60秒,则系统中Apache进程的总数为5060,为3000个,需要耗费30004M=12G的内存,在这种情况下,系统以消耗12G内存的代价,换来的是只处理50次TCP三次握手和四次挥手操作。如果关闭长链接,则会消耗50*4M的内存,约有200M,而每秒需要处理的TCP链接数则为100次。
综上所述,对于长链接是否开启我们通常遵循以下原则:
1、如果内存和CPU都足够,则无论是否开启长链接都不受影响。
2、如果存在一种情况,客户端会频繁的访问服务器资源,则建议开启长链接功能。
最后,给出一个生产环境中的默认配置:开启长链接,长链接失效时间为30秒,长链接失效次数为100。这样的配置,在一般的业务场景下,可以兼顾内存和CPU,起到比较好的效果。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/122652684

目录
相关文章
|
7月前
|
存储 缓存 运维
LAMP架构调优(五)——网页缓存设置
LAMP架构调优(五)——网页缓存设置
47 1
|
4月前
|
存储 缓存 前端开发
Django 后端架构开发:存储层调优策略解析
Django 后端架构开发:存储层调优策略解析
68 2
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
491 37
|
4月前
|
消息中间件 存储 监控
Django后端架构开发:Celery异步调优,任务队列和调度
Django后端架构开发:Celery异步调优,任务队列和调度
78 1
|
7月前
|
监控 测试技术 数据库
探索微服务架构下的系统调优实践
【5月更文挑战第27天】在当今软件开发领域,微服务架构因其灵活性、可扩展性而受到青睐。然而,随之而来的是复杂性增加和性能调优的挑战。本文将深入探讨在微服务环境中进行系统调优的策略与实践,通过分析真实案例,揭示优化过程中的关键步骤和考虑因素,为追求高性能微服务系统的开发者提供参考。
73 1
|
7月前
|
架构师 开发工具 C++
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
|
7月前
|
关系型数据库 MySQL Linux
lamp架构
LAMP是流行的开源Web框架,包括Linux操作系统、Apache服务器、MySQL数据库和PHP编程语言。由于其通用性、跨平台、高性能和低成本,常用于企业网站搭建。本文档描述了在Redhat 9.0上通过yum安装配置LAMP的过程,包括安装Apache、MySQL(这里用的是mariadb)、PHP,并通过WordPress测试环境。安装步骤涉及启动服务、设置开机自启、修改MySQL安全设置、安装PHP组件以及创建PHP测试文件和WordPress站点。最后,文档展示了成功访问WordPress管理页面的截图。
107 3
|
7月前
|
监控 Java 数据库
揭秘Java性能调优的层次 | 综合多方向提升应用程序性能与系统高可用的关键(架构层次规划)
揭秘Java性能调优的层次 | 综合多方向提升应用程序性能与系统高可用的关键(架构层次规划)
106 0
|
7月前
|
XML 运维 前端开发
LAMP架构调优(四)——资源压缩传输
LAMP架构调优(四)——资源压缩传输
36 0
|
7月前
|
运维 Linux Apache
LAMP架构调优(三)——模块的安装与调用
LAMP架构调优(三)——模块的安装与调用
42 0