SSI+Memcached bug?

Alexey Kovyrin alexey at kovyrin.net
Fri May 18 04:01:46 MSD 2007


Hello, All,

Сидел тут игрался с рельсами и хитрой схемой кеширования с
использованием SSI и мемкеша... И наступил на странную проблему -
похоже, что нгинкс при выполнении запросов для <!--virtual--> работает
как-то не так, как для основного потока запросов. Для начала опишу
нашу схему:

1) за нгинксом стоят рельсы по хттп (монгрелы) и нгинкс на них проксирует запрос
2) ответ в большей мере - статика, потому мы решили ложить ее в мемкеш
(или на диск) при первом обращении, а динамические куски типа
пейджинга вставлять через нгинкс с использованием SSI.
3) нгинкс, получив ответ, спрашивает кусочки у рельсов и вставляет в
страницу, уходящую юзеру

Схема работает как часы, если не использовать мемкеш. Если же его
использовать (локейшн с мемкешем и по 404-й ошибке уход на
фолбек-локейшн с проксированием), то сама страница обрабатывается
нормально (первый раз - рельсами, а потом - достается из кеша), а вот
кусочки в сси почему-то спрашиваются у рельсов не по их собственным
урлам, а все одинаково: GET /fallback, что приводит к куче ругательств
со стороны рельсов и сломанной страничке.

Если все кусочки (у них урлы удобные) обрабатывать отдельным локейшном
с проксированием (без мемкеша), то опять как часы :-) - основные
странички из кеша, а кусочки - через прокси рельсами отдаются.

В общем, странно это - хочется понять, где проблема.

Для Игоря - в аттаче конфиг и дебаг-лог двух запросов: первого (с
пустым кешем) и второго (с главной страницей в кеше).

Заранее благодарю за помощь.

-- 
Alexey Kovyrin
http://kovyrin.info/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xxx.zip
Type: application/zip
Size: 13337 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070517/b799bb1c/attachment.zip>


More information about the nginx-ru mailing list