Lamp

LAMP 伺服器性能提示

  • May 25, 2018

可以向執行 LAMP 伺服器的人提供哪些性能提示?

在某些特定於發行版的情況下,我的目標是 Debian。

這真的取決於你的工作量。

  • 對於L部分

    • 獲得大量記憶體,
    • 如果您可以超過 4GB,請使用 64 位。
    • 對於內容、日誌和 MySQL 數據所在的分區,使用掛載選項:noatime、nodiratime。
    • 使用單獨的物理驅動器/raid 集,最好將 SQL 數據、日誌、您服務的內容保存在單獨的主軸上。
  • 對於堆棧的A部分 - 也許您想用nginxlighthttpd完全替換它,或者可能只是將 Apache 保留為動態內容,並為靜態內容設置單獨的伺服器(如這兩個或mathopd)。在這裡查看更多選項。如果您要在同一個機器上同時執行 Apache 和另一台伺服器,那麼第二個 IP 地址會很方便。為了減少最終使用者的延遲,請使用帶有 keep-alive 的 http/1.1。考慮將 CDN 用於靜態內容。

  • 對於您的燈的M部分 - 看看mysqlperformanceblog。從我的頭頂:

    • 記錄慢查詢,
    • 給足夠的記憶體,
    • 考慮使用innodb。
    • 如果您有很多文本要搜尋 - 使用sphinx並有一個重建索引的批處理作業。
    • 考慮終止執行時間超過 XYZ 秒的查詢。最好讓 1% 的使用者感到不安,而不是在高峰期讓整個網站癱瘓。但這真的取決於你是處理現金交易還是展示漂亮的圖片。
    • 如果可以的話,使用 memcached 來記憶體更“昂貴”的 SQL 查詢的結果。請記住在更改 SQL 內容時使記憶體無效。另一方面,我很少有網站可以輕鬆地將所有數據放入記憶體中,因此 MySQL 速度非常快,不需要額外的記憶體。
  • 對於P

    • 為腳本設置執行超時。
    • 考慮使用一些PHP 加速器/操作碼記憶體。我對xcache非常滿意,但我現在不使用它。
    • 如果您有 CPU 密集型處理 - 記憶體結果並將它們儲存在 SQL 或 memcached 中

不是真正的性能提示,但請進行異地備份。真的。

引用自:https://serverfault.com/questions/11739