Memcached 的 CPU 使用率不断增加

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

答案1

问题似乎不在于 memcached。连接数随着前端服务器上新创建的 apache 进程而增加,由于这些进程没有终止,因此它们仍保持与 memcached 服务器的连接。

所以我认为这是我的 Apache 服务器的问题并且它与这个主题不再相关。

相关内容