mysql 設定 wordpress 高負載

mysql 設定 wordpress 高負載

我的查詢

./mysqlslap --user=root  --concurrency=50 --iterations=1 --pass=toor -vv --create-schema=db --query="SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)  WHERE 1=1  AND wp_term_taxonomy.taxonomy = 'category'  AND wp_term_taxonomy.term_id IN ('1')  AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 35, 6"

一些結果

   Average number of seconds to run all queries: 68.904 seconds
    Minimum number of seconds to run all queries: 68.904 seconds
    Maximum number of seconds to run all queries: 68.904 seconds
    Number of clients running queries: 50
    Average number of queries per client: 1

平均負載峰值超過 32。

試驗機的規格如下:

  • 4GB記憶體
  • E6550@2.33GHz(2核心)
  • 單SATA磁碟
  • Debian Lenny + Apache + PHP + MySQL

可以讀取MySQL配置在這裡。有人對我如何調整以提高效能有建議嗎?謝謝。

答案1

  • 安裝 w3tc 或 wp-super-cache
  • 減少貼文/標籤的數量(請記住,wordpress 將貼文的修訂儲存在wp_posts 表中,因此,如果有人喜歡讓自己保持登入狀態並且自動保存每5 分鐘運行一次,您可以在那裡獲得相當多的多餘修訂)
  • 替換 WordPress
  • 獲得更快的磁碟

雖然我根據直覺不同意配置中的一些可調參數,http://blog.mysqltuner.com/包含一個可以運行的腳本,該腳本為您提供配置設定的輸入。您需要讓 mysql 運行 48 小時以上,以便它提供最佳建議。

  • 表定義緩存
  • thread_concurrency(在四核心上,我通常在 6 上運行)
  • join_buffer_size(您將其列為 join_buffer ,這可能不正確,請查看顯示狀態/顯示變數以確保您的配置值按您的預期生效)

如果您沒有在與資料庫相同的分割區上執行電子郵件,請考慮使用 noatime、nodiratime 掛載檔案系統。檢查檔案系統上的其他可調設定。

相關內容