关于Apache的优化调整

Apache是什么?

Apache是由Apache基金会开发的开源Web服务器软件,其正式名称为“Apache HTTP Server”。
它是一种被广泛使用的Web服务器,被大型公司和个人广泛采用。在我查阅之前,我并不知道。

以下是特点:
1、采用开源许可证(因为是免费的,所以任何人都可以使用)
2、具有高度可靠性和稳定性(全球范围内广泛使用证明了它的优势)
3、通过MPM支持多平台(可以适用于多种操作系统)
4、使用模块进行功能扩展(这个可以直接翻译)

因为有机会调查了一下Apache的简单调优(配置),所以我写下来做备忘录。

关于调谐

调整Apache是提高性能,优化基础设施成本的重要事项。

另外,Apache采用进程驱动的架构,即使用多进程的驱动方式,将每个请求分配给进程进行处理,这也是它的特点之一。当大量请求到来时,进程会同时启动,因此会产生非常大的开销,这是一个缺点。
然而,Apache并不会就此放任不管,它具备了避免这些缺点的机制。这个机制就是调优。

然而,由于调整会根据环境而变化,所以盲目根据各种文章中提到的设置值进行设置是没有意义的。了解这些参数存在的目的,然后根据自己的环境进行调整就可以了。在我试图根据各种文章中的设置值进行设置时,我被指出了这一点,并加以理解。所以在这里,我将进行分享。

参数

由于参数的种类繁多且无法穷尽,我只能在我调查的范围内进行撰写。
由于受到我的解释的影响,如果有错误的理解,请指正。

超时
· 从接收请求到完成处理所需的等待时间
默认值根据版本而异。
在网络差的情况下,当访问网站时,会显示连接失败的页面,这段时间就是超时时间。这就是我的理解。
还有就是当访问非常拥挤的网站时。

保持连接
– 在一次TCP连接中处理多个HTTP请求。
默认为开启。

KeepAliveTimeout是用于设置一个客户端可以占用连接的时间。在2.0版本中,默认的KeepAliveTimeout为15秒,在2.2版本中为5秒。

主机名查询
将连接源IP地址进行反向查询并记录在日志文件中。
默认情况下是关闭的。
DNS的反向查询需要花费较长的处理时间,所以大概是不会使用的。
※DNS的反向查询需要花费较长时间是因为它是根据正向查询(通过域名查询IP地址)进行优化设计的。

mod_deflate是一个在HTTP中进行压缩传输的模块。可以指定应用范围来使用它(适用于文本内容,不适用于图像文件)。由于是压缩,可以通过减小数据体积来实现,而由于是传输,可以进行发送。这就是需要指定的内容。尽管直接翻译出来会有这样那样的问题,但重要的是理解时需要把这些知识分别考虑清楚。

MaxClients/ServerLimit
・最大客户端限制。
进程数和最大同时连接数几乎相同。
例如:当KeepAliveTimeout设置为15秒,MaxClients设置为256时,如果在该环境下有300人连接,则前256人会首先被处理,而剩下的44人即使服务器资源充足,也需要等待15秒。

开始服务器
・Apache启动时的子进程数量
在Apache启动时,首先启动配置中设置的子进程数量。

最低备用服务器数(MinSpareServers)是指在空闲状态下的最小子进程数量。当子进程数量少于最低备用服务器数时,将增加子进程数直至达到此值。

最大子进程数在空闲时标为MaxSpareServers。当子进程数量超过MaxSpareServers时,将降低子进程数量至此设定值。

总结一下

在我的环境中进行调整。不要盲目接受网络上的设置值。
我也会再多学一些。