Илья Шипицин Wrote:
-------------------------------------------------------
> посмотрите в сторону APC (http://pecl.php.net/package/APC). за счет
> кеширования статики вы много не выиграете (если вообще что-то
> выиграете), а
> эффективность от php-кешей в подобных случаях обычно лучше, чем лепить
> костыли на nginx-е.
>
Статика (картинки) выдаются nginx-ом напрямую, не с бэк-енда.
APC стоит, его поддержка в движке включена. Хитов 100%. Но он кеширует не то, что мне нужно в данном случае. Мне нужно кеширование динамического контента, чтобы разгрузить бэк-енд. Иногда случаются выплески количества гостей (в том числе и ДДоС-атаки) и это приводит к большому количеству запросов в БД и отказу от обслуживания. Логично было бы отделить гостей от пользователей и выдать им закешированную страницу, что намного облегчит жизнь бэк-енда и БД в случае наплыва гостей.
Меня больше интересует правильность моей настройки кеширования с точки зрения nginx-а, если всё правильно, то значит есть какие-то непонятые мной тонкости в работе движка, ну или протокола http. Размышляю я просто - если в запросе клиента нет (или равны нулю) куки, которые отличают пользователя от гостя, то ответ от бэк-енда закешировать (на 1 минуту) и выдавать его из кеша всем другим гостям.
-------------------------------------------------------
> посмотрите в сторону APC (http://pecl.php.net/package/APC). за счет
> кеширования статики вы много не выиграете (если вообще что-то
> выиграете), а
> эффективность от php-кешей в подобных случаях обычно лучше, чем лепить
> костыли на nginx-е.
>
Статика (картинки) выдаются nginx-ом напрямую, не с бэк-енда.
APC стоит, его поддержка в движке включена. Хитов 100%. Но он кеширует не то, что мне нужно в данном случае. Мне нужно кеширование динамического контента, чтобы разгрузить бэк-енд. Иногда случаются выплески количества гостей (в том числе и ДДоС-атаки) и это приводит к большому количеству запросов в БД и отказу от обслуживания. Логично было бы отделить гостей от пользователей и выдать им закешированную страницу, что намного облегчит жизнь бэк-енда и БД в случае наплыва гостей.
Меня больше интересует правильность моей настройки кеширования с точки зрения nginx-а, если всё правильно, то значит есть какие-то непонятые мной тонкости в работе движка, ну или протокола http. Размышляю я просто - если в запросе клиента нет (или равны нулю) куки, которые отличают пользователя от гостя, то ответ от бэк-енда закешировать (на 1 минуту) и выдавать его из кеша всем другим гостям.