Просмотр полной версии : Долго генерится страница (до 10 секунд)
Под typo3 развернуто несколько сайтов.
сервер:Linux Fedora 10, mysql 5.0.67.
Проблема: один из сайтов тормозит, страницы открываются  через 10 сек.
"долгих" запросов на mysql нет.
Подскажите, пожалуйста, куда смотреть.
З.Ы. Анализ системы показывает, что после запроса страницы mysqld начинает интенсивно работать с операциями вывода.
Valery Romanchev
03.06.2009, 13:21
какие плагины стоят на странице?
Если там есть tt_news и количество новостей порядка 10000  - то это известная и  решаемая проблема.
Если что-то другое, то поставьте расширение debug_mysql_db и посмотрите, какие запросы идут и сколько времени они занимают.
Новостей около 1500 (всего-то).
allowCaching = 1
статистика системы в момент запроса страницы
#vmstat 1 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  0  0    120 1381304 279068 933604    0    0     4     0 2030 2229  0  0 100  0  0
 1  0    120 1379088 279096 933576    0    0     0   184 1664 2320  7  1 84  8  0
 2  1    120 1354932 279100 933584    0    0     0   368 2214 5495 35 14 50  1  0
 2  0    120 1354676 279100 933604    0    0     0     0 2056 5805 33 18 50  0  0
 1  0    120 1354472 279108 933604    0    0     0   120 2208 5268 32 19 50  0  0
 2  0    120 1354552 279112 933748    0    0     0   184 2458 6039 31 20 50  0  0
 2  0    120 1353032 279124 933700    0    0     0   212 2425 6011 30 21 49  0  0
 0  0    120 1379428 279148 933692    0    0     0   368 2375 4886 33 16 50  3  0
 0  2    120 1379144 279152 933820    0    0     0  1516 2468 2690  4  2 55 40  0
 0  0    120 1378948 279172 933908    0    0     0   256 2415 2528  1  0 93  7  0
 0  0    120 1378948 279172 933872    0    0     0     0 2070 2276  0  0 100  0  0
 0  0    120 1363644 279172 933780    0    0     0     0 1937 2356  7  1 92  0  0
 0  0    120 1364372 279176 933680    0    0     0    40 2148 2319  0  0 99  1  0
 0  0    120 1364448 279204 933760    0    0     0  4468 1738 2289  1  1 70 29  0
 0  0    120 1364348 279228 933704    0    0     0  1064 1935 2296  0  0 92  9  0
ImageMagick может тормозить если страницы с изображенями и конфигурация неправильная. Поиграйте с настройками ІМ.
Valery Romanchev
03.06.2009, 15:48
Новостей около 1500 (всего-то).
это тоже может вызвать проблему, текущая версия tt_news мало оптимизирована 
Дело в том, что там есть запросы, забирающие все записи со всеми полями. Т.е. mysql может запросто посылать несколько десятков мб данных через небольшой буфер.
Другая проблема - это использование категорий при выводе списка новостей. Если стоит фильтр по категории - то возникают большие запросы с перечислениме uid новостей, типа uid NOT IN (1,23,200.... и тут тысяча чисел). Выполняются эти запросы быстро, но вот создаются они в пхп в цикле - поэтому проблема с скоростью
Валерий, а можно поподробнее о ускорении работы tt_news? У меня генерируется главная страница (по админпанеле) где то 3,5 сек, закешированая около 0,6. Что в принципе все равно много. Сервер выделеный, не слабый. На главной 9 лент новостей (через rgtabs, без аякса). Всего около 2к новостей на данном сайте, и около 4к в базе (несколько сайтов).
dmartynenko
05.06.2009, 18:24
Проверьте:
1. оптимизированность PHP - обязателен кэшер типа xCache
2. MySQL - хватает ли памяти для кэша?
У нас для страницы из кэша (с парой мелких USER_INT) типичное время 0.160-0.240 секунды (выделенный сервер с > 10000 уников в день).
В админ панели кстати виден лог по времени что и сколько генериться - весьма полезно для изучения. Например у нас из этих 0.160-0.240 на этап "Parse template" (т.е. на загрузку всех PHP файлов) уходит 0.120 секунд.
Продолжим.....
А может ли влиять кеширование страниц на производительность?
При 500 униках в день и 200 страниц на сайте, cashe_pages за сутки разрастается до 2000-4000 записей и размером 1-3 Гб.
dmartynenko
05.08.2009, 13:31
Продолжим.....
А может ли влиять кеширование страниц на производительность?
При 500 униках в день и 200 страниц на сайте, cashe_pages за сутки разрастается до 2000-4000 записей и размером 1-3 Гб.
Может: большой кэш - медленный кэш.
Но что-то у вас не так.
Количество записей в кэше еще объяснимо - так как для каждой страницы под каждое условие в TS шаблоне и каждую группу FE пользователей создается своя кэшированная копия (так как эти параметры могут влиять на содержание страницы).
Но общий размер у вас многоват. Сейчас для примера глянул один из сайтов - 12000 записей занимают 800 Мб.
Обратите внимание, что в кэше сохраняется не только HTML код страницы, но и весь TS шаблон с ней связанный и соответственно исходный HTML код шаблона. Если они большие - то и весь кэш будет расти.
Два вопроса:
1.В нете есть tip по оптимизации:
disable completely any TYPO3 built-in statistics
Как отключить сбор статистики?
2. Где в админке посмотреть лог генерации по времени?
dmartynenko
05.08.2009, 14:52
1.В нете есть tip по оптимизации:
disable completely any TYPO3 built-in statistics
Как отключить сбор статистики?
По умолчанию ничего такого не включено.
Оно включается так:
config.stat = 1
config.stat_mysql = 1
config.stat_apache = 1
Соответственно выключается: = 0
2. Где в админке посмотреть лог генерации по времени?
Добавьте в шаблон:
config.admPanel = 1
При этом когда вы залогинены под админом в BE, в FE внизу страницы появится раскрываемый блок информации о генерации страницы. В том числе там будет подробный лог со времением что и сколько на этой странице генериться.
tnx a lot за поддержку.
админка показала следующее:
.....
/Page generation/pagegen.php, render    343  0  +9269  =9269    
page  PAGE  343  9233  +36  =9269    
substituteMarkerArray
page    525  6    
......
page.substituteMarkerArray    9584  0        
/Page generation/Local anchor fix, all    9612  7    
.....
хм!?
Ну и в зазвернутом листинге
............
RealURL warning: rootpage_id was not configured!
--------------------------------------------------------------------------------
RealURL warning: rootpage_id was not configured!
--------------------------------------------------------------------------------
RealURL warning: rootpage_id was not configured!
--------------------------------------------------------------------------------
RealURL warning: rootpage_id was not configured!
--------------------------------------------------------------------------------
RealURL warning: rootpage_id was not configured!
...................
Я так понимаю, настройка RealURL?
dmartynenko
05.08.2009, 17:48
tnx a lot за поддержку.
админка показала следующее:
.....
/Page generation/pagegen.php, render    343  0  +9269  =9269    
page  PAGE  343  9233  +36  =9269    
substituteMarkerArray
page    525  6    
......
page.substituteMarkerArray    9584  0        
/Page generation/Local anchor fix, all    9612  7    
.....
хм!?
Может скриншот?
А то в цифрах отступы тереются и несовсем ясно что и как.
dmartynenko
05.08.2009, 17:50
Я так понимаю, настройка RealURL?
Проверьте правильно ли настроен typo3conf/realurl_conf.php (если у вас не включен autoconf).
Вообщем читайте мануал.
Valery Romanchev
05.08.2009, 18:27
tnx a lot за поддержку.
админка показала следующее:
.....
/Page generation/pagegen.php, render    343  0  +9269  =9269    
page  PAGE  343  9233  +36  =9269    
substituteMarkerArray
page    525  6    
......
page.substituteMarkerArray    9584  0        
/Page generation/Local anchor fix, all    9612  7    
.....
хм!?
раскройте в админ панели все разделы и зажмите все чексбоксы
Тогда будет видно, какой конкретно модуль сколько времени дает.
Еще можно попробовать поскрывать блоки контента и посмотреть, какой будет эффект.
по RealURL стоит autoconf.
pageroot_id определен в localconf.php, но
/Process ID    125  5  +2  =7  RealURL warning: rootpage_id was not configured!
и дальше по отдельных модулях тот же варнинг.
Представлю лог разработчику.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot