nginx + memcached

Gena Makhomed makhomed at pbank.lutsk.ua
Fri Jul 27 00:40:37 MSD 2007


Здравствуйте, Михаил!

Wednesday, July 25, 2007, 10:17:02 PM, you wrote:

ММ> Кроме того, сейчас memcached работает не только по tcp,
ММ> но и по udp и через сокет. Только не все клиенты это умеют.

memcached через udp -- это в действительности очень мало кому надо будет
потому что появятся новые проблемы из-за unreliable delivery upd пакетов

unix domain socket не выходит за пределы localhost, поэтому в 99% случаев
применения memcached IMHO удобнее всего будет работать через протокол tcp

ММ> А в последней версии 1.2.3 ещё треды вроде добавили.

эта возможность нужна в том частном случае, когда сервер memcached
так сильно загружен запросами, что CPU становится его узким местом

PS насколько я понимаю, сейчас возможен только такой
способ взаимодействия nginx с backend через memcached:

backend =(1)=> memcached =(2)=> ngx_memcached_module =(3)=> ngx_gzip_module =(4)=> client

backend помещает в memcached text/html в несжатом виде,
потом при каждом запросе клиента nginx берет из memcached
html-странички, сжимает их через gzip и отдает клиенту.

при переходах (1) и (2) неэффективно используется память,
а при переходе (3) - неэффективно используется процессор.

интереснее было бы хранить в memcached уже сжатый через
gzip контент, чем будем хорошо экономить память, и только
для небольшой части http клиентов потребуется этот контент
разархивировать перед отдачей; почти все современные браузеры
уже более-менее нормально умеют работать с ответами сжатыми gzip.

PPS аналогично и при хранении кеша в файловой системе, а не в памяти,
  - c жесткого диска быстрее прочитается 10-20 килобайт, чем 100-200.

-- 
Best regards,
 Gena                            mailto:makhomed at pbank.lutsk.ua







More information about the nginx-ru mailing list