在我们进入细节之前 Apache 调优,我们需要了解当 VPS 服务器或专用服务器由于优化配置不佳而无响应时会发生什么。
过度调优的服务器是一种配置为允许同时请求(ServerLimit)超过服务器硬件可以管理的服务器。 以这种方式设置的服务器有一个临界点,一旦达到,服务器将陷入永久交换的场景。 这意味着内核被卡在快速从系统交换文件读取数据和从系统交换文件写入数据。
交换文件的读/写访问速度比标准内存空间慢得多。 交换文件的延迟可能会导致服务器出现瓶颈,因为内核尝试读取和写入数据的速度比物理上可能的速度更快或更通常称为抖动。 如果没有立即被抓住,颠簸会使系统失控,导致系统崩溃。
如果垃圾处理运行时间过长,它可能会在短时间内模拟数十年的读/写活动,从而对硬盘本身造成物理伤害。 优化时 Apache,我们必须小心不要创造一个颠簸的场景。 我们可以通过基于几个因素计算服务器的抖动点来实现这一点。
飞行前检查
本文涵盖所有 Apache基于服务器,包括但不限于传统的专用服务器和托管服务器 Cloud 运行各种 Linux 发行版的服务器。 我们将包括存储的主要位置 Apache 以下 Liquid Web 系统类型的配置:
估计抖动点
计算服务器的估计抖动点或 ServerLimit 使用一个简单的公式:

- 缓冲区/缓存:内核用于缓冲区和缓存的总内存。
- 预订的:为非保留的内存量Apache 过程。
- 可用的: buff/cache 和 Reserved memory 的区别。
- 平均Apache:所有跑步的平均值 Apache 高峰时段的儿童。
注意:计算抖动点/ServerLimit 应在高峰运行时间完成,并定期重新评估以获得最佳性能。
颠簸点值等于数字 Apache 服务器可以运行的孩子; 这适用于线程或非线程子级。 当内存中运行的子节点数量达到计算的抖动点时,服务器将开始倒塌。 以下 example 遍历标准 Liquid Web 完全托管的 cPanel 服务器,以说明收集必要的详细信息以计算系统的估计抖动点。
缓冲/高速缓存
在现代 Linux 系统上,缓冲区/缓存可以使用 /proc/meminfo 通过添加 Buffers、Cached 和 Slab 统计信息来创建文件。 使用 free 命令,我们可以快速获取这些信息,如 example 以下:
free
输出:

不要被标有“可用”的列所迷惑。 我们只关注我们可以重新占用的内存,即 buff/cache 列 (708436)。
保留内存
保留内存是为其他服务保留的一部分内存,除了 Apache. 一些额外内存的最大竞争者 Apache 是 MySQL、Tomcat、Memcache、Varnish 和 Nginx。 有必要检查这些服务配置以确定有效的保留内存。 这些配置超出了本文的范围。 但是,MySQL 是运行时最常遇到的服务 Apache. 你可以找到 在线工具 帮助分析和配置 MySQL 与本文分开。
笔记:Save 任何额外服务的总缓冲区/缓存内存的 25% 在服务器上运行。 例子:
- 一个标准的 cPanel 服务器运行多个服务以及 Apache 和 MySQL。 具有这些服务的服务器运行在较重的一侧,需要 25% 保留给非Apache 服务。
- 一个纯粹的 Apache 高容量负载平衡配置中的 web 节点不需要为其他服务预留任何额外的内存。
平均的 Apache 记忆
求平均大小 Apache processes 比较简单,使用 ps 命令列出所有正在运行的 httpd 进程的 RSS(驻留集大小)。 注意:某些发行版使用“apache”而不是“httpd”作为进程名称。
这 example 使用短 awk 脚本打印出平均值而不是列出大小。
ps o rss= -C httpd|awk '{n+=$1}END{print n/NR}'
输出:
22200.6
这 example 很容易手动平均,但更大的服务器将需要更多的计算。
ps o rss -C httpd
输出:
RSS
5092
27940
28196
27572
计算抖动点
收集后将可用内存除以 Avg。 Apache,四舍五入到最接近的整数。 可用内存是缓冲区/缓存内存减去保留内存。 以下是表格形式的计算过程摘要。

下面提供了各种内存配置的保守估计。 这些估计可以用作初始配置,但需要在高峰时段进行额外的后续性能评估,以调整服务器的指令。

结论
确定最佳优化点 Apache 可以避免服务器停机、浪费销售和失去客户。 调节可用资源是确保您的服务以最佳速度保持正常运行的关键组成部分,
我们经验丰富的技术人员和系统管理员随时可以向您展示如何利用这些技术!
我们全年 365 天、每周 7 天、每天 24 小时提供服务,通过我们的票务系统 [email protected]、电话(800-580-4986)或 在线聊天 或您喜欢的任何方法。
因为我们以成为 Hosting™ 中最有帮助的人而自豪,所以我们努力工作,所以您不必这样做!