Linux:apache优化(1)—— 长链接/保持连接

系统:CentOS 7.9

apache版本为:2.4.25

需要使用源码包进行安装才能够使用这些扩展模块

在使用这些扩展模块前要先下载zlib-devel 安装--enable-deflate选项需要的网页压缩传输的软件包

复制代码
yum -y install zlib-devel

在配置编译安装时需要使用扩展配置

复制代码
./configure --prefix=/usr/local/httpd --enable-cgi --enable-rewrite --enable-so  --enable-deflate --enable-expires

长链接

作用:HTTP协议是TCP的子协议,HTTP建立连接时需要先建立TCP连接,断开时也需要断开口TCP连接,TCP的建立和断开消耗的资源通过HTTP 连接保持可以节约下来。对于 HTTP/1.1,尽量地保持客户端的TCP连接,通过一个TCP连接传送多个 HTTP 请求响应,对于客户端可以提高 50%以上的响应时间,对于服务器可以降低建立与关闭TCP连接时的资源消耗。
为什么打开长连接能够加快客户端的访问速度?

开启apache服务端的长连接之后,当客户端请求完成之后,负责返回给客户端数据的进程并不会直接退出,而是等待下一个请求的到来,这样做的主要目的是减少了tcp的三次握手

长连接关键词👇

|-----------------------|-------------------------------------------------|
| keepalive ON|OFF | 是否打开保持连接功能。根据网站的并发请求量决定是否打开,高并发时打开,并发量不高时可选择关闭。 |
| keepalive timeout | 一次TCP连接多次HTTP请求之间的最大间隔时间,两次HTTP请求超过此时间连接将会断开。 |
| maxkeepaliverequestes | 一次TCP连接能够传输的最大HTTP请求数量。 |


其实默认是开启的只不过是5秒,当我们进行抓包可以看到

我们可以去把他时间调长,修改完时间就要再去开启这个模块。


主配置文件

我的apache通过源码包安装到了/usr/local/http下了我的配置文件都在这里面,你安装到别的地方,前面你就改一下就行

复制代码
vim /usr/local/httpd/conf/extra/httpd-default.conf

16行 KeepAlive On                  #on是开启off是关闭,这里on就行
23行 MaxKeepAliveRequests 100      #这个100就行不改也行
29行 KeepAliveTimeout 100          #这个就是长链接时间默认5秒,改成你自己需要的时长

如果没改时间的话5秒是默认的,当改完时间要去解开这个模块才行

复制代码
sed -i '/httpd-default.conf/s/^#/ /g' /usr/local/httpd/conf/httpd.conf

只需把前面的模块解开就行了,去掉前面的#,/usr/local/httpd/conf/httpd.conf是我apache主配置文件

重启一下服务再去抓包看看

复制代码
/usr/local/httpd/bin/apachectl restart

长链接开启成功了

相关推荐
绿箭柠檬茶5 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
工藤新一¹6 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky6 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
deepwater_zone6 小时前
主流的开源协议(MIT,Apache,GPL v2/v3)
apache·开源协议
lingggggaaaa6 小时前
小迪安全v2023学习笔记(七十九讲)—— 中间件安全&IIS&Apache&Tomcat&Nginx&CVE
笔记·学习·安全·web安全·网络安全·中间件·apache
奔跑吧 android6 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平6 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)7 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
attitude.x8 小时前
Swift 协议扩展与泛型:构建灵活、可维护的代码的艺术
运维·服务器·网络
ajassi20008 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源