PDA

Просмотр полной версии : TYPO3+nginx = evo_nginx_boost


dmartynenko
28.03.2009, 17:30
В репозитории появился новый экстеншн - evo_nginx_boost.
Авторы используют возможность nginx брать контент страницы прямо из memcached, исключая для кэшированных страниц вызов Apache + PHP.
По их тестам прирост производительности для запроса страницы из кэша составил 400 раз (сумашедшие 39000% :), по сравнению со стандартным механизмом TYPO3-кэширования.

Ссылки на экстеншн и пост авторов:
http://typo3.org/extensions/repository/view/evo_nginx_boost/current/
http://blog.evo.pl/en/2009/03/21/how-to-boost-speed-up-your-typo3-website-with-nginx/

jettero
09.04.2009, 21:17
В репозитории появился новый экстеншн - evo_nginx_boost.
Авторы используют возможность nginx брать контент страницы прямо из memcached, исключая для кэшированных страниц вызов Apache + PHP.
По их тестам прирост производительности для запроса страницы из кэша составил 400 раз (сумашедшие 39000% :), по сравнению со стандартным механизмом TYPO3-кэширования.

Ссылки на экстеншн и пост авторов:
http://typo3.org/extensions/repository/view/evo_nginx_boost/current/
http://blog.evo.pl/en/2009/03/21/how-to-boost-speed-up-your-typo3-website-with-nginx/

В версии 4.3 alfa это уже есть, точнее не этот плагин, а там есть механизм кэширования через memcached, его бэкпортировали для 4 ветки из Flow3.

dmartynenko
10.04.2009, 12:48
Механизм TYPO3 кэширования в memcached это совсем не то. Это то же кэшрование, только не в БД или файлы - что TYPO3 умел и раньше - а более гибко и в другие хранилища, в том числе и memcached. Т.е. страницы отдает все равно TYPO3.

Связка nginx + memcached позволяет вообще не трогать TYPO3 при отдаче закэшированных страниц.

jettero
10.04.2009, 15:00
Механизм TYPO3 кэширования в memcached это совсем не то. Это то же кэшрование, только не в БД или файлы - что TYPO3 умел и раньше - а более гибко и в другие хранилища, в том числе и memcached. Т.е. страницы отдает все равно TYPO3.

Связка nginx + memcached позволяет вообще не трогать TYPO3 при отдаче закэшированных страниц.

Да, там memcached используется внутри, но есть надежда, что для выдачи закэшированых страниц не придется инициализировать слишком много, по-крайней мере Дима Дулепов писал, что в eID скриптах тоже можно использовать кэширование через memcached. Выйдет релиз 4.3 посмотрим :)

А nginx+memcached как фронтенд сервер это тоже интересно, но это будет работать только для страниц, где нет ни одного USER_INT плагина.

А, прочитал, что в evo_nginx_boost user_int плагины кэшируют, но с коротким экспайром, надо попробовать как это работает.

Pavel Antonov
12.04.2009, 14:41
А nginx+memcached как фронтенд сервер это тоже интересно, но это будет работать только для страниц, где нет ни одного USER_INT плагина.

Там где есть USER_INT вообще о никаком кэшировании страниц идти речь не может, на с memcached ни с 4.3.

jettero
12.04.2009, 18:09
Там где есть USER_INT вообще о никаком кэшировании страниц идти речь не может, на с memcached ни с 4.3.

Ну вот, вроде бы нельзя, а в evo_nginx_boost кэшируют :), там такие страницы кэшируют на фронтенд сервере (nginx+memcached), но с 3-5ти минутным экспайром и обновляют кэш сразу, если юзер залогинен и отправил POST запрос; вы ссылку почитайте, там расписано.

Но у меня все равно есть вопросы по эффективности evo_nginx_boost, то что намеряли ускорение в 400 раз это замечательно, но первая цифра в один хит в секунду при первом тесте, говорит о том, что у них на сервере не установлен ускоритель PHP и/или страницы не кэшировались в TYPO3, потом раздельное кэширование для каждого залогиненого пользоватяля тоже не всегда айс, это получается рост объема кэша пропорционально объему пользователей, и по сути большая часть страниц в кэше у всех пользователей будет одинаковая. В общем все это надо смотреть в деле.

dmartynenko
17.06.2009, 19:26
Экстеншн продолжает обновляться авторами.

Добавилась работа без nginx - т.е. просто кэширование в memcached.

Появились еще разные фичи.
Теперь из мануала видно что авторы проработали вопросы:

кэширование с логином/без логина
возможность задания времени кэширования каждой страницы
исключение страниц из кэширования по URI-шаблону или при вызове страницы с POST параметрами
ручной очистки всего из memcached или для выбранных страниц


Подробности во второй части мануала - теперь доступном и на английском языке: http://techblog.evo.pl/en/evo_nginx_boost-extension/