Кэширование в шаред-меме

Sergey Skvortsov skv at protey.ru
Tue Oct 3 19:18:32 MSD 2006


On 03.10.2006 11:59, Михаил Монашёв wrote:
> 
> После прочтения
> http://www.mysqlperformanceblog.com/2006/08/09/cache-performance-comparison/
> захотелось  реализовать  кэширование  данных в шаред-меме. Т.е. что-то
> вроде  memcached,  только для шаред-мема и со своим алгоритмом очистки

Интересно, каким боком это относится к nginx-ru@?

> кэша.  Проблема  в  том,  что  никак  не  могу  понять  как правильнее
> сохранять  кэшируемые  данные:  выделить  один  большой  блок данных в
> шаред-меме  и  в  нём  всё  хранить  (написав  свою  реализацию хэша и
> алокатором),  или  для каждой пары ключ:значение выделять новый блок и
> хранить  всё  в  нём?

0. Использовать memcached. Самый быстрый и результативный с точки зрения
разработки вариант. В 1.2.0 появилось несколько улучшений (в т.ч.
listening на unix socket). Вкупе с правильно используемым
X-Accel-Redirect, memcached даёт прекрасные результаты.

1. Если для backend'а с forked процессами - то OSSP mm (devel/mm &
devel/p5-IPC-MM).

2. Если на одной машине для разных процессов - mmap + your favorite
locking scheme. Т.е. ещё один велосипед.

> Доков  по  шеред-мему крайне мало к сожалению и
> почитать что-то путное пока не получилось.

Их достаточно.

* Single UNIX Specification Version 3
* Richard, Stevens "UNIX Network Programming, Volume 2: Interprocess
Communications" (есть и на русском)

-- 
Sergey Skvortsov
mailto: skv at protey.ru






More information about the nginx-ru mailing list