Memcached
Memcached 不斷增加 CPU 使用率
我正在執行一個服務於兩個前端伺服器的 memcached 伺服器。它們使用標準 PECL 庫從 Apache2/PHP 連接到 memcached 伺服器。
由於某種原因,伺服器上的 memcached 正在消耗越來越多的 CPU,直到達到 100%。
我正在使用以下參數執行 memcached:
/usr/bin/memcached -d -m 128 -p 11211 -u memcache -l 0.0.0.0
我發現的另一個有趣的事情是前端伺服器和 memcached 伺服器之間有很多打開的連接 (200)
netstat -n Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 30 10.2.10.69:11211 10.2.10.193:49393 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.172:52918 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.193:39677 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.193:46480 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.172:58869 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.193:38498 ESTABLISHED tcp 0 0 10.2.10.69:11211 10.2.10.193:54095 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.172:55895 ESTABLISHED tcp 0 30 10.2.10.69:11211 10.2.10.193:38809 ESTABLISHED ...
其中大多數在“Send-Q”列中具有值“30”。這些連接以“ESTABLISHED”模式存在幾分鐘,直到它們從 netstat 的輸出中消失。這意味著什麼嗎?
還有我的 Memcached “統計資訊”:
STAT pid 1183 STAT uptime 5087 STAT time 1398177110 STAT version 1.4.13 STAT libevent 2.0.16-stable STAT pointer_size 64 STAT rusage_user 322.404149 STAT rusage_system 1055.877988 STAT curr_connections 164 STAT total_connections 28962 STAT connection_structures 291 STAT reserved_fds 20 STAT cmd_get 55986225 STAT cmd_set 22250 STAT cmd_flush 0 STAT cmd_touch 0 STAT get_hits 55891017 STAT get_misses 95208 STAT delete_misses 23066 STAT delete_hits 6277 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT touch_hits 0 STAT touch_misses 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 966125003 STAT bytes_written 12255690623 STAT limit_maxbytes 134217728 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 STAT conn_yields 0 STAT hash_power_level 16 STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT expired_unfetched 0 STAT evicted_unfetched 0 STAT bytes 1898162 STAT curr_items 978 STAT total_items 22250 STAT evictions 0 STAT reclaimed 0 END
似乎問題不在於 memcached。連接數隨著前端伺服器上新創建的 apache 程序而增加,並且由於這些程序沒有終止,它們保持與 memcached 伺服器的連接。
所以我認為這是我的 Apache 伺服器的一個問題,它不再與這個主題相關聯。