Показ дописів із міткою memcached. Показати всі дописи
Показ дописів із міткою memcached. Показати всі дописи

суботу, квітня 18, 2009

Использование memcached php

memcachedДля начала использования memcached, вы должны запустить memcached-сервис на одном или более серверов. Запуск сервиса: сетапит сервер, выделяет память, и собственно прослушивает соединения от клиентов, использующих сервис.
Пометка: Вы можете запустить memcached не из под рута, но в этом случае вы будете слушать только один TCP/IP порт (от 1024). Однако, вы не должны использовать пользователя, для запуска сервиса, у которого есть ограничения памяти, например setrlimit.
Для запуска сервера, не из под рута:
shell>memcached
По дефолту, memcached использует следующие настройки:
  • Выделение памяти: 64 мб;
  • Прослушивает порт для соединений: 11211;
  • Максимум 1024 одновременных подключений;
Обычно люди используют полную комбинацию опций, при старте сервиса, а также скрипт, который сам запускает memcached при старте компьютера. Для примера, следующая строка запускает сервис с максимум 1024 MB RAM для кэша, прослушивает 11121 порт на айпи-адресе 192.168.0.110, запущен как бекграунд-демон.
shell> memcached -d -m 1024 -p 11121 -l 192.168.0.110
Для того, что бы убедиться, что memcached запущен, вы можете его проверить. На OpenSolaris мемкеш контролируется SMF. Активируйте его, запустив:
root-shell> svcadm enable memcached
memcached поддерживает следующие опции:
  • -u user
Если вы запускаете memcached как root, используйте опцию -u, для обозначения пользователя, который запустит memcached
shell> memcached -u memcache
  • -m memory
Установите количество выделяющейся памяти, по дефолту 64 Mb. Для увеличения используемой RAM памяти (в мегабайтах) используйте опцию -m. Чем больше памяти вы выделите, тем больше данных вы сможете сохранить.
Внимание: Не выделяйте памяти больше, чем у вас есть в RAM. Если вы выделите больше памяти, то то место, которое не влезло засвапится, это приведет к замедлению сохранения и возвращения данных. Вы можете проинспектировать свою память командой vmstat.
shell> vmstat
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr s1 s2 -- -- in sy cs us sy id
0 0 0 5170504 3450392 2 7 2 0 0 0 4 0 0 0 0 296 54 199 0 0 100

Для примера выделим 3GB памяти:
shell> memcached -m 3072
На 32-битных х86 системах, где используется РАЕ для доступа к памяти, стоит 4 GB лимит и вы не сможете выделить памяти больше этого лимита. Но вы можете обойти это ограничение, запустив несколько сущностей memcached, каждую на разный порт:
shell> memcached -m 1024 -p11211
shell> memcached -m 1024 -p11212
shell> memcached -m 1024 -p11213
  • -l interface
Определяет сетевой интерфейс/адрес для прослушивания соединений. По дефолту стоит на прослушку всех свободных адресов (INADDR_ANY).
shell> memcached -l 192.168.0.110
Поддержка IPv6 была добавлена в версии memcached 1.2.5
  • -p port
Определяет TCP порт, используемый для соединений. По дефолту: 18080.
shell> memcached -p 18080
  • -U port
Определяет UDP порт, используемый для соединений. По дефолту: 0 (выключен);
shell> memcached -U 18080
  • -s socket
Определяет Unix socket используемый для прослушки.
Если вы запустили memcached на одном сервере, вы можете отключить сетевой интерфейс и использовать локальный Unix socket, для этого надо воспользоваться -s опцией.
shell> memcached -s /tmp/memcached
Использование сокета автоматически отключает сетевой интерфейс и сохраняет открытыми порты;
  • -a mask
Определяет маску доступа для Unix socket в восьмеричной системе. По дефолту 0700;
  • -c connections
Определяет максимальное число одновременных подключений, по дефолту 1024;
shell> memcached -c 2048
Вы должны использовать данную опцию, также для уменьшения количества одновременных подключений к memcached, для улучшения работы сервера;
  • -t threads
Определяет количество потоков, для обработки входящих запросов. По умолчанию, memcached сконфигурирован с использованием 4 конкурентных потоков. Потоки улучшают процесс сохранения и отдачи даты в кеш и из кеша. Используйте замыкающую систему, для предотвращения перезаписи различных потоков или апдейта одинаковых данных. Вы можете увеличить или уменьшить количество потоков используя опцию -t;
shell> memcached -t 8
  • -d
Запускает memcached как демон бэкграунд процесс;
shell> memcached -d
  • -r
Увеличить размер файла ядра. В случае краша системы, эта опция позволит задампить всю выделенную память на диск, несмотря на установку setrlimit;
  • -M
Возвращает ошибку клиенту, в случае когда память закончилась. Эта опция обходит нормальную работу memcached, когда старые элементы замещаются новыми;
  • -k
Ограничение памяти;
Пользовательское ограничение по количеству выделяемой памяти. Попытка выделить больше памяти, чем разрешено приведет к ошибке. Вы можете установить лимит тому пользователю, при помощи которого стартуете демон (для -u user) вместе с шелом ulimit -S -l NUM_KB
  • -v
Отладочный режим (verbose mode). Печатает ошибки и замечания, пока запускается главный цикл;
  • -vv
Вдвойне отладочный режим. В дополнение к режиму -v печатает каждую клиентскую команду и ответ на нее;
  • -h
Печатает справку и выходит;
  • -i
Печатает memcached и libevent соглашения;
  • -b
Запускает контроллируемую сущность;
  • -p pidfile
Сохраняет ID процесса memcached в файл;
  • -f
Устанавливает размер блока выделяемой памяти. Когда будут выделяться новые блоки памяти, размер новых блоков будет определен делением на дефолтовый размер блока памяти;
  • -n bytes
Минимальный размер выделяемой памяти = 48 килобайт;
  • -L
В системах, которые поддерживают большое фрагментирование памяти, разрешает эту фрагментацию. использование фрагментации позволяет memcached выделить память в один большой блок памяти, что позволяет уменьшить количество обращений к памяти и увеличить производительность.

  • Перевод статьи оригинала: Dev.MySQL

понеділок, березня 23, 2009

Как установить php memcache

memcachedНебольшое howto, как установить memcached.
Вы можете собрать и установить memcached из исходных кодов, из пакетов или при помощи инсталлятора.

Установка memcached при помощи инсталлятора:
  • На RedHat, Fedora или CentOS используйте yum:
root-shell> yum install memcached
  • Для установки на Debian или Ubuntu используйте apt-get:
root-shell> apt-get install memcached
  • На Gentoo используйте emerge:
root-shell> emerge install memcached
  • Для установки на OpenSolaris используйте pkg для установки SUNWmemcached пакета
root-shell> pkg install SUNWmemcached
Сборка memcached из исходников:
На других Unix-подобных платформах, включая Solaris, AIX, HP-UX и Mac OS X и дистрибутивы Linux не перечисленные выше, вы должны собирать memcached из исходников. Для Linux есть некоторые требования:
  1. Релиз ядра версии 2.6;
  2. Библиотека libevent версии 1.1 или выше;
Скачать memcached вы можете отсюда!
Сама сборка:
shell> gunzip -c memcached-1.2.5.tar.gz | tar xf - 
shell> cd memcached-1.2.5
shell> ./configure
Опции для конфигурации:
  • --prefix
Если хотите сменить директорию установки;
shell> ./configure --prefix=/opt
По умолчанию установка производится в /usr/local;
  • --with-libevent
Если у вас установлен libevent и configure не может его найти используйте --with-libevent для нахождения библиотеки;
  • --enable-64bit
Для сборки 64-битовой версии memcached используйте --enable-64bit;
  • --enable-threads
Для поддержки мультипоточности в memcached, используйте --enable-threads.Улучшает время реакции сервера;

Запустите make для сборки memcached;
shell> make
Запустите make install для установки memcached;
shell> make install

Що таке база данних?

База данних — це спеціальна система зберігання, організації та пошуку інформації. Вона містить дані у вигляді таблиць, записів та інших стру...