Назад | Перейти на главную страницу

Memcached продолжает увеличивать использование процессора

Я использую сервер memcached, который обслуживает два внешних сервера. Они подключаются к серверу memcached из Apache2 / PHP с помощью стандартной библиотеки PECL.

По какой-то причине memcached на сервере потребляет все больше и больше ЦП, пока не достигнет 100%.

Я запускаю memcached со следующими параметрами:

/usr/bin/memcached -d -m 128 -p 11211 -u memcache -l 0.0.0.0

Еще одна интересная вещь, которую я обнаружил, - это то, что существует много открытых соединений (200) между интерфейсными серверами и сервером memcached.

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
...

И у большинства из них в столбце «Отправить-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, и это больше не связано с этой темой.