|
Ключевые слова: nginx, web, memcached, cache, speed, (найти похожие документы)
From: Boguk Maxim <ICQ: 99-312-438> Newsgroups: nginx-ru Date: Mon, 26 Jan 2008 18:21:07 +0000 (UTC) Subject: Кэширование страниц в memcached и nginx Оригинал: http://www.lexa.ru/nginx-ru/msg07681.html Логика работы такая: nginx умеет ходить в memcached за страницей если такой страницы в memcached нет то получается 404 код ошибки который можно перехватить и перенаправить на backend Который проставит нужные данные в кеш и отдаст ответ nginx'u. (производительность связки nginx+memcached куда выше чем можно добится у nginx+(apache/mod_perl для X-Accel-Redirect)+ memcached) Такая связка реально работает и показывает очень приличную производительность (сколько максимум так можно отдавать не знаю... думаю упрется в ethernet). PS: что не возможно сделать пока это использование распределенного на несколько серверов memcached изза того nginx пока не умеет считать какой либо хеш от URL чтобы на его основе принимать решение в каком из memcached сервер искать данные. (хотя конечно можно по locations разбросать руками на несколько memcached) Пример рабочего конфига (сильно упрощенный) : location =/ajax/SOME_URL.html { #без этого content_type кривой будет default_type text/html; #идем в memcached #ключ в memcached '/ajax/SOME_URL.html' #если у запроса нужны аргументы надо не забыть их сохранить для случая memcached miss #через set $ArgsCopy $args; #и потом добавить их через rewrite в location /_backend_/ memcached_pass SOME_MEMCACHED_IP:SOME_MEMCACHED_PORT; #если в memcached не попали то через 404 error_page запрашиваем данные у backend #который нам их отдает и записывает итог в memcached error_page 404 = /_backend_/ajax/SOME_URL.html; } #внутренний URL для обработки случаем memcached miss на этот location location /_backend_/ { internal; #идем на backend proxy_pass http://BACKEND_IP:BACKEND_PORT/; }
|
Обсуждение | [ RSS ] |
|
Добавить комментарий |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |