Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Тормозит TYPO3 на странице с USER_INT (http://forum.typo3.ru/showthread.php?t=8262)

dmartynenko 24.12.2009 19:36

Тормозит TYPO3 на странице с USER_INT
 
Вложений: 1
После переезда на новый сервер появилась проблема.
Система: Debian Linux, TYPO3 4.1.10, PHP 5.2.9, MySQL 5.1.37

Проблема в том, что время генерации страницы с USER_INT без кэширования составляет 20+ секунд.

Причем лог генерации страницы (приложен в картинке) не дает понять почему так происходит - и кэшируемая и некэшируемая часть страницы генерируется довольно быстро. Каких-то левых и медленных экстеншенов или статистик не стоит. Поэтому я в полном недоумении откуда берется разрыв в 20 секунд между генерацией кэшируемой части и некэшируемой.

http://molnar.by/fileadmin/log.png

Сразу скажу, что сами части USER_INT не причем - они оптимизированы и генерятся быстро, и от них нам никуда не деться.

Load Average самого сервера в среднем меньше 1 (обычно 0.15-0.25). Так что он тоже не причем, производительности с запасом хватает.

Полностью кэшируемые страницы отдаются в среднем за 80-90 ms.
Закэшированные с USER_INT генерятся за 130-170 ms.

Из особенностей конфигурации - кэширование делается с опцией [FE][pageCacheToExternalFiles] = 1.
На предыдущем сервере все работало работало без такого рода глюков.

Господа, может какие-то идеи на счет что это могут быть ?

Valery Romanchev 24.12.2009 23:04

Цитата:

Из особенностей конфигурации - кэширование делается с опцией [FE][pageCacheToExternalFiles] = 1.
А что будет если эту опцию убрать? (я ее никогда не использовал, и читал что особого выигрыша она не дает)
Т.е. пусть кеш страниц пишется в базу, как обычно.

Гипотеза такая - файлы в этот файловый кеш пишутся медленно (может их просто слишком много и тормозят файловые операции)

dmartynenko 25.12.2009 18:20

Пробовал - по времени генерации ничего не поменяется. И на старом сервере работало.

Наоборот с кэшем в mysql больше тормозит, а так значительно быстрее. По крайней мере практически не "подвисает" mysql при очистках кэша страниц с tt_news и т.п. Так как cache_pages занимает всего сотни килобайт и не гигабайты.

Правда этот механизм немного пропатчен. Изначально в TYPO3 в файлы сохраняется только поле "код страницы", а в таблицу все равно пишется поле с кодом TS шаблона. У нас размер этого шаблона в среднем больше кода страницы в 2-5 раз. Поэтому в оригинальном TYPO3 с этой опцией действительно разницы никакой не будет.

void 25.12.2009 21:43

А не пробовали кеш запихивать в специально предназначенные для этого места, т.е. в memcached?

Valery Romanchev 25.12.2009 21:50

а может это лог в FE панельке глючит?
Действительно ли после отчистки кеша страница генерится по 20 сек?
Т.е. видно ли это глазом, когда вы не залогинены в BE?

dmartynenko 28.12.2009 13:41

Цитата:

Сообщение от void (Сообщение 26609)
А не пробовали кеш запихивать в специально предназначенные для этого места, т.е. в memcached?

memcached используется где возможно в собственных плагинах.

Но патчить TYPO3 4.1 настолько, что бы TYPO3 Core использовал memcached желания нет. А апгрейдить до TYPO3 4.3 пока нет технический возможности.
Да и великоват обычный кэш TYPO3 для memcached - у нас 1-2 гига точно будет. А на серваке "всего" 4Гб ОЗУ.

dmartynenko 28.12.2009 14:10

Цитата:

Сообщение от Valery Romanchev (Сообщение 26610)
а может это лог в FE панельке глючит?
Действительно ли после отчистки кеша страница генерится по 20 сек?
Т.е. видно ли это глазом, когда вы не залогинены в BE?

Да, это заметно даже на глаз.

Также включена опция [FE][debug] и с коде страницы пишется время генерации.

Кроме того есть собственный плагин, которорый сохраняет время генерации страниц для разных условий (кэш-не кэш, FE логин - без логина) и выводит график по скорости генерации страниц, там хорошо просматривается (слева в милисекундах время).

http://realt.by/fileadmin/typo3-perf...2009-12-24.png
http://realt.by/fileadmin/typo3-perf...2009-12-25.png
http://realt.by/fileadmin/typo3-perf...2009-12-28.png

Самое интересное что cейчас ситуация иная - генерация без кэша находится сейчас в пределах 2 секунд. Разрыв между кэшируемой и USER_INT частью 0.3 секунды. Причем нагрузка сейчас выше раза в два, чем была 24.12, когда я писал свое первое сообщение и генерация страницы превышала 20 секунд.

Вообщем зависимости между загрузкой и временем генераци без кэша как таковой не наблюдается - оно может выскочить за 20 секунд в произвольный период времени.

ПС: Самое неприятное что лезть в ядро и отлаживать что же именно тормозит времени нет совершенно.

Valery Romanchev 28.12.2009 21:39

Цитата:

ПС: Самое неприятное что лезть в ядро и отлаживать что же именно тормозит времени нет совершенно.
Это понятно... да и не факт, что вообще удастся найти проблему за разумное время.
Еще вопрос: не стоит ли чего-то типа eacceselerator или APC ?
Если стоит, то тормоза могут воникнуть, когда большое количество PHP кода кешируется в байт код.
Если акселератора нет, то я бы советовал обновиться до 4.3 (там кеширование по другому сделано)

dmartynenko 29.12.2009 13:43

Кажется проблему удалось решить. Вчера с обеда и сегодня не было таких "всплесков" медленной работы.
По выявленной закономерности по времени появления тормозов помогли хостеры:

Цитата:

Скорее всего проблема заключалась в ДНС белпака. Мы раньше его использовали для серверов. Но теперь он частенько плохо работает. Сейчас поменяли ДНС на сервере. Посмотрите по графикам как сейчас будет ответ.
Хотя каким образом медленный ДНС влияет на механизмы генерации страницы TYPO3 я не понимаю.

dmartynenko 04.01.2010 18:25

Кстати в тему http://dmitry-dulepov.com/article/sm...ement-tip.html


Часовой пояс GMT +4, время: 06:30.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot