在深入了解 Apache 調優的細節之前,我們需要了解如果 VPS 服務器或專用服務器由於未優化配置而變得無響應時會發生什麼。
過度優化的服務器被配置為允許比服務器硬件可以管理的更多並發請求 (ServerLimit)。以這種方式設置的服務器有一個轉折點,當它們到達它們時,它們會陷入持久交換場景。這意味著內核無法快速從系統交換文件中讀取和寫入數據。
交換文件讀/寫訪問比標準內存空間慢得多。交換文件延遲可能會導致服務器瓶頸,因為內核嘗試讀取和寫入數據的速度比物理速度快。這通常被稱為抖動。如果沒有立即註意到,顛簸會導致系統失控並導致系統崩潰。
如果垃圾清理運行時間過長,它可以在短時間內模擬數十年的讀/寫活動,並對硬盤驅動器本身造成物理損壞。 在優化 Apache 時,需要注意不要創建顛簸的場景。為此,請根據幾個因素計算服務器的抖動點。
飛行前檢查
本文介紹了所有基於 Apache 的服務器,包括但不限於傳統的專用服務器和運行各種 Linux 發行版的託管雲服務器。包括 Apache 存儲以下 Liquid Web 系統類型配置的主要位置。
估計的顛簸點
使用一個簡單的公式來計算服務器的估計抖動點或 ServerLimit。

- 增益/緩存:內核用於緩衝區和高速緩存的總內存。
- 預訂的:為未保留的 Apache 進程保留的內存量。
- 可以使用:buff / cache和保留內存之間的區別。
- 平均阿帕奇:在高峰時段運行的所有 Apache 子節點的平均值。
注意:Thrash Point / Server Limit 計算應在正常運行時間高峰期間執行,並定期重新評估以獲得最佳性能。
斜線點的值與 Apache 服務器可以運行的子節點數相同。這適用於線程或非線程子級。當內存中運行的子節點數量達到計算的斜線點時,服務器開始崩潰。以下示例顯示了一個標準 Liquid Web 完全託管的 cPanel 服務器,並顯示瞭如何收集計算系統估計抖動點所需的詳細信息。
緩衝區/高速緩存
現代 Linux 系統上提供緩衝區/緩存 /proc/內存信息 通過添加緩衝區、緩存和板統計信息來創建文件。您可以使用 free 命令快速獲取此信息,如下例所示。
free
輸出:

不要被標有“可用”的列所迷惑。僅檢查可重新分配的內存、buff/cache 列 (708436)。
保留內存
保留內存是 Apache 為其他服務保留的內存的一部分。 除了 Apache 的最大競爭對手之外的其他內存是 MySQL、Tomcat、Memcache、Varnish 和 Nginx。您應該查看這些服務配置以確定哪些保留的內存是有效的。這些配置超出了本文的範圍。然而,MySQL 是 Apache 中最常遇到的服務。 在線工具 MySQL 分析和配置的幫助與本文分開。
注意:為服務器上運行的其他服務節省 25% 的總緩衝區/緩存內存。例子:
- 一個標準的 cPanel 服務器運行多個 Apache 和 MySQL 服務。具有這些服務的服務器運行較重,需要為非 Apache 服務保留 25%。
- 純 Apache 重負載平衡配置中的 Web 節點不需要為其他服務保留額外的內存。
平均 Apache 內存
查找平均大小 Apache 使得使用 ps 命令列出所有正在運行的 httpd 進程的 RSS(駐留集大小)變得相對容易。注意:某些發行版使用“apache”而不是“httpd”作為進程名稱。
在這個例子中,它很短 awk 該腳本打印平均值而不是列出維度。
ps o rss= -C httpd|awk '{n+=$1}END{print n/NR}'
輸出:
22200.6
這個例子很容易手動平均,但是服務器越大,它需要的計算就越多。
ps o rss -C httpd
輸出:
RSS
5092
27940
28196
27572
計算碰撞點
收集後,將可用內存除以平均值。 Apache,四捨五入到最接近的整數。可用內存是緩衝區/緩存內存減去保留內存。計算過程總結為以下表格格式。

以下是對各種內存配置的保守估計。這些估計可以用作初始配置,但在高峰時段需要額外的後續性能評估來調整服務器的指令。

結論是
通過識別最佳位置,Apache 可以避免服務器停機、浪費銷售和失去客戶。協調可用資源是保持服務以最佳速度運行的重要部分。
經驗豐富的技術人員和系統管理員將向您展示如何利用這些技術。
通過票務系統 [email protected]電話 (800-580-4986) 或通過 在線聊天 或者你喜歡的方式。
我們以成為 Hosting ™ 最樂於助人的人而自豪,因此我們正在努力工作,因此您不必這樣做!