Memcache

memcached 在沒有通知的情況下崩潰

  • October 27, 2011

我們嚴重依賴 memcache,每月處理數十億個請求。我們有 5 個記憶體記憶體伺服器。昨晚,我們的流量增加了 25%。圖表顯示每個 memcache 傳輸的請求和數據增加並導致它們崩潰。它開始了連鎖反應,每個 memcache 伺服器一個接一個地崩潰(每台伺服器的負載增加)。

我們在 syslog、消息、memcache 日誌文件中找不到日誌(詳細設置已關閉)。

我有兩個問題:

  1. 我怎樣才能知道為什麼會發生這種情況。如果負載是記憶體記憶體的問題,是否有任何文件說明普通記憶體記憶體(在體面的配置上執行)可以處理多少。我怎樣才能增加這個值。
  2. 我怎樣才能確保他們永遠不會再倒下。它最終影響了我們的 mysql 伺服器和複製,並影響了許多其他相關服務。我需要更多的記憶體記憶體伺服器嗎?

我使用這個 init.d 腳本啟動了我的記憶體記憶體:http: //pastebin.com/wfMnB4ta 其中 ENABLE_MEMCACHE 在 /etc/default/memcached 中為 YES

/usr/share/memcached/scripts/start-memcached:http://pastebin.com/LaUugXye _

謝謝

我猜你執行的是 1.4.5 或更早的版本。

既然你提到流量增加,那麼突然退出:

  • 您可能已達到最大連接數限制(有關此問題的一些討論,請參見http://memcached.org/timeouts )。
  • 如果長時間錘擊連接限制,則會出現導致 memcached 退出的錯誤。
  • 這在 1.4.6 中部分修復,在 1.4.7 中進一步修復,並在 1.4.9 中進行了細化。

如果您遇到崩潰,首先要做的是確保您使用的是最新的穩定版本。如果您仍然遇到崩潰,最好的辦法是聯繫實際的郵件列表或送出包含資訊的錯誤報告,而不是幸運地讓維護人員通過 Twitter 搜尋看到這一點。

定期升級以匹配最新的穩定版本可以幫助您避免將來整個集群崩潰。

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