Amazon-Ec2
如何減少執行 wordpress 的 EC2 微實例上的 I/O
我在 Amazon EC2 上執行了一個非常小的 wordpress 站點大約 2 個月,使用的是免費的微型實例。
我每個月都會因為超出磁碟 I/O 限額而收到幾美元的賬單。
我研究瞭如何減少磁碟 I/O,並進行了一些更改,例如通過更改 apache.conf 添加允許瀏覽器記憶體圖像、最小化圖像和外掛等。
然後我將 APC 模組添加到 PHP。我預計這會大大減少 I/O,但似乎沒有什麼區別。
APC 狀態(apc.php):
http ://oi41.tinypic.com/30t5gud.jpg
載入單個網頁期間的 vmstat 輸出:
網頁載入期間似乎正在進行 I/O。我不明白為什麼,因為 PHP 應該在 APC 記憶體中,並且圖像已經記憶體在我的瀏覽器中。
我的目標是簡單地減少 I/O,從而降低成本。我能做些什麼來實現這一目標嗎?例如,APC 設置是否不正確,或者是否有其他技術可以避免 I/O?
(PS:W3TC wordpress 外掛對我不起作用。我可能沒有正確安裝它——它把我鎖在站點之外,CPU 過載並導致站點關閉。)
我們可以看到您的實例在記憶體上執行的非常低,並且實際上正在交換。這是您需要付費的磁碟 I/O,也會導致您的站點執行速度變慢。
通過停止不必要的程序並調整您的 Web 伺服器以執行更少的工作程序(例如 Apache 或 php-fpm)來釋放一些記憶體。
一些東西…
- 嘗試類似 batcache for Wordpress,因為它只記憶體經常被點擊的頁面,從而減少預記憶體所有內容的一些成本
- 如果您的可用記憶體很少,我建議您為 HTTP 伺服器切換到 NGINX。它超級高效。
- 檢查 MySQL 的資源使用率。在 99% 的情況下,它的配置過於寬鬆,會吃掉所有可用的伺服器記憶體。