- Исходные данные
# uname -sr FreeBSD 10.3-RELEASE-p16 # pkg info | grep memcached memcached-1.4.34_2 High-performance distributed memory object cache system
- Установка
# cd /usr/ports/databases/memcached # make install clean
Конфигурация при установке:[ ] DOCS Build and/or install documentation [ ] SASL Enable SASL Authentication
- Настройка и запуск
Добавляем строки в /etc/rc.conf:memcached_enable="YES" memcached_flags="-l 127.0.0.1 -m 1024"
- сервер принимает соединения на ip 127.0.0.1
- максимально используется 1 гигабайт памяти
- стандартный порт = 11211, другой порт можно задать через ключ -p
Через сокет запросы выполняются гораздо быстрее:memcached_enable="YES" memcached_flags="-s /tmp/memcached.sock -a 0777 -m 1024"
-a 0777 : задаем права доступа к /tmp/memcached.sock
Запускаем:# /usr/local/etc/rc.d/memcached start
- Мониторинг
Один из вариантов мониторинга: mrtg.
Блок для добавления в mrtg.cfg:Target[memcached]: `/usr/local/bin/mrtg-memcached.pl /tmp/memcached.sock` Options[memcached]: unknaszero,nopercent YLegend[memcached]: Requests per Second ShortLegend[memcached]: r/s LegendI[memcached]: All LegendO[memcached]: Misses
Скрипт на perl для получения статистики из memcached и отдачи в mrtg, /usr/local/bin/mrtg-memcached.pl#!/usr/bin/perl use strict; use Cache::Memcached; my $memd = new Cache::Memcached { 'servers' => [ $ARGV[0] ] }; my $stats = $memd->stats('misc')->{total}; print $stats->{get_hits},"\n"; print $stats->{get_misses},"\n"; print $stats->{uptime},"\n"; exit;
Мы выводим два параметра:
- get_hits : (зеленый) сколько раз обратились за данными к кешу
- get_misses : (синий) количество неудачных попыток (данных в кеше не было или время их жизни истекло)
Эффективность кэша определяется как отношение get_misses/get_hits. Если оно равно 1, то эфективность, увы, никакая.
Статья опубликована: 2017-06-21 22:47:50
Последние правки: 2017-07-09 14:34:35
Устанавливаем и настраиваем кеширующий сервер memcached.