我们的服务器在黑色星期五的这几天偶尔会出现负载突然变高(高达20+)的情况,现在已知redis在dump时会引起io wait,redis以及memcached连接数突增,之后memcached会出现超时,再接着数据库就挂掉,负载又上了新的台阶,感觉和redis有关系,有人知道redis的dump为什么有这么大的影响吗?
黄舟2017-04-22 08:58:19
dump資料的時候,大量磁碟io操作,io繁忙,導致io_wait比較高,可能導致負載變高。猜想你們伺服器負載高的時候,cpu此時應該不繁忙吧?如果是cpu空閒,而io繁忙,估計就是redis的dump操作導致的大量io了。你們可以試著優化一下redis的dump相關的配置,試著dump的時間間隔調小一些
黄舟2017-04-22 08:58:19
伺服器高負載無非就是某項資源不夠用了。 CPU資源,磁碟資源,網路資源。
redis的dump肯定是要有IO操作的。看看磁碟讀寫就知道了。
由於不知道樓主的詳細部署狀況,redis是本機? mysql也是本機?感覺mysql一般都不會放在業務機器上吧。如果是IO高負載照理說應該不會影響到別的機器的mysql。
連接數突增,超時,可以檢查tcp的 time_wait數量。感覺這個可能性更大一點,比較像是某個服務短連接調用,一旦故障這邊主動斷開大量time_wait耗盡網絡資源導致其他服務也不可用。