MEMCACHED — поставим, отмониторим

MEMCACHED — поставим, отмониторим

Многие работают с таким акселератором, как Memcache. Для работы с ним на многих языках программирования, будь то JAVA, PHP, PYTHON или другие, есть готовые библиотеки. Также, для готовых «движков» есть свои плагины, позволяющие ускорить работу сайта, для Joomla, WordPress и прочих)

Описание Memcache на вики

Установка особого труда не вызывает:

aptitude install memcached

Конфигурационный файл находится по адресу:

/etc/memcached.conf

Особого тюнинга не требует, если нужно, «подкручиваем» размер кеша (параметр -m).

Но прежде, чем его тюнить, надо оценить, насколько эффективно мы его используем.

Получить статистику можно вручную через telnet:

mas@test:~$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 12200
STAT uptime 261079
STAT time 1385959060
STAT version 1.4.5
STAT pointer_size 64
STAT rusage_user 437.583347
STAT rusage_system 1529.471586
STAT curr_connections 7
STAT total_connections 12732514
STAT connection_structures 44
STAT cmd_get 18748186
STAT cmd_set 1233653
STAT cmd_flush 0
STAT get_hits 18325325
STAT get_misses 422861
STAT delete_misses 0
STAT delete_hits 0
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 auth_cmds 0
STAT auth_errors 0
STAT bytes_read 3035154650
STAT bytes_written 60994110129
STAT limit_maxbytes 536870912
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 97525
STAT curr_items 54
STAT total_items 920050
STAT evictions 0
STAT reclaimed 151635
END
quit
Connection closed by foreign host.

 

Статистика бывает нескольких видов:

— просто stats,  выводит общую статистику;

— stats slabs, выводит статистику по использованию памяти;

— stats items, выводит статистику по кешу «ключ-значения»;

— stats sizes, выводит статистику по размерам объектов;

— чтобы сбросить статистику — stats reset;

Для мониторинга я использую общую статистику с помощью пхп. Ниже приведены скрипты, которые «дергают» статистику:

1) первый скрипт на пхп, который возвращает статистику:

<?php
        $memcache = new Memcache;
        $memcache->connect('localhost',11211);
        print_r($memcache->getStats());
        $memcache->close()
?>

2) второй скрипт  возвращает нужный результат через парсинг:

#!/bin/bash

PARAM=$1
REZ=`php /usr/local/scripts/memcache_state.php | awk '/\['$PARAM'\]/ { print $3 }'`

echo $REZ

Соответственно, в первый скрипт я указываю параметр, значение которого хочу получить, а он, просто парсит его в пхп-скрипте (ПХП я знаю слабо).