Apache 性能調優:交換內存


在我們深入了解調整 Apache 的細節之前,我們需要了解當 VPS 或專用服務器由於未優化的配置而變得無響應時會發生什麼。

過度優化的服務器被配置為允許比服務器硬件可以管理的更多並發請求 (ServerLimit)。以這種方式配置的服務器有一個臨界點,一旦達到,服務器就會陷入永久交換場景。這意味著內核無法足夠快地從系統交換文件讀取和寫入數據。

對交換文件的讀/寫訪問比標準內存空間慢得多。交換文件延遲可能會導致服務器出現瓶頸,因為內核會嘗試以比實際速度更快的速度讀取和寫入數據。這通常稱為抖動。如果沒有立即檢測到衝擊,衝擊可能會使系統失控並導致系統崩潰。

如果 Garbage Cleaner 運行時間過長,它會在短時間內模擬數十年的讀/寫活動,這可能會對硬盤驅動器本身造成物理損壞。 優化 Apache 時,必須注意不要創建顛簸的場景。為此,我們根據幾個因素計算服務器的抖動點。

飛行前檢查

本文涵蓋所有基於 Apache 的服務器,包括但不限於傳統的專用服務器和運行各種 Linux 發行版的託管雲服務器。將 Apache 作為主要位置來存儲以下 Liquid Web 系統類型的配置:

估計碰撞點

使用一個簡單的公式來計算服務器的估計抖動點或ServerLimit。

計算顛簸點
  • 收益/現金:內核用於緩衝區和高速緩存的總內存。
  • 預訂的:Apache 進程的未保留內存量。
  • 可用的:緩衝區/緩存和保留內存之間的區別。
  • 平均阿帕奇:所有正在運行的 Apache peek 子項的子項平均值。

注意:Slashpoint/ServerLimit 計算應在高峰時段進行,並定期重新評估以獲得最佳性能。

斜線點值與 Apache 服務器可以運行的子節點數相同。這適用於線程或非線程子項。當內存中運行的子節點數量達到計算的臨界點時,服務器開始崩潰。以下示例顯示了一個標準的 Liquid Web 完全託管的 cPanel 服務器,以演示如何收集計算系統估計抖動點所需的詳細信息。

緩衝區/高速緩存

在現代 Linux 系統上,您可以在緩衝區/緩存中使用 /proc/內存信息 創建一個包含緩衝區、緩存和板統計信息的文件。您可以使用 free 命令快速檢索此信息,如以下示例所示。

free

輸出:

使用 free 命令獲取 buff/緩存信息

不要被標記為“可用”的列所迷惑。可重新分配的內存,僅查看 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”作為進程名稱。

在這個例子中,短 奇怪的 該腳本打印平均值而不是列出維度。

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™ 中最樂於助人的人而自豪。