搜尋

首頁  >  問答  >  主體

redis - 伺服器負載變高

我們的服務器在黑色星期五的這幾天偶爾會出現負載突然變高(高達20 )的情況,現在已知redis在dump時會引起io wait,redis以及memcached連接數突增,之後memcached會出現超時,再接著數據庫就掛掉,負載又上了新的台階,感覺和redis有關係,有人知道redis的dump為什麼有這麼大的影響嗎?

天蓬老师天蓬老师2798 天前711

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-04-22 08:58:19

    dump資料的時候,大量磁碟io操作,io繁忙,導致io_wait比較高,可能導致負載變高。猜想你們伺服器負載高的時候,cpu此時應該不繁忙吧?如果是cpu空閒,而io繁忙,估計就是redis的dump操作導致的大量io了。你們可以試著優化一下redis的dump相關的配置,試著dump的時間間隔調小一些

    回覆
    0
  • 黄舟

    黄舟2017-04-22 08:58:19

    伺服器高負載無非就是某項資源不夠用了。 CPU資源,磁碟資源,網路資源。

    redis的dump肯定是要有IO操作的。看看磁碟讀寫就知道了。

    由於不知道樓主的詳細部署狀況,redis是本機? mysql也是本機?感覺mysql一般都不會放在業務機器上吧。如果是IO高負載照理說應該不會影響到別的機器的mysql。

    連接數突增,超時,可以檢查tcp的 time_wait數量。感覺這個可能性更大一點,比較像是某個服務短連接調用,一旦故障這邊主動斷開大量time_wait耗盡網絡資源導致其他服務也不可用。

    回覆
    0
  • 取消回覆