Долго генерится страница (до 10 секунд)
Под typo3 развернуто несколько сайтов.
сервер:Linux Fedora 10, mysql 5.0.67. Проблема: один из сайтов тормозит, страницы открываются через 10 сек. "долгих" запросов на mysql нет. Подскажите, пожалуйста, куда смотреть. З.Ы. Анализ системы показывает, что после запроса страницы mysqld начинает интенсивно работать с операциями вывода. |
какие плагины стоят на странице?
Если там есть 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 может тормозить если страницы с изображенями и конфигурация неправильная. Поиграйте с настройками ІМ.
|
Цитата:
Дело в том, что там есть запросы, забирающие все записи со всеми полями. Т.е. mysql может запросто посылать несколько десятков мб данных через небольшой буфер. Другая проблема - это использование категорий при выводе списка новостей. Если стоит фильтр по категории - то возникают большие запросы с перечислениме uid новостей, типа uid NOT IN (1,23,200.... и тут тысяча чисел). Выполняются эти запросы быстро, но вот создаются они в пхп в цикле - поэтому проблема с скоростью |
Валерий, а можно поподробнее о ускорении работы tt_news? У меня генерируется главная страница (по админпанеле) где то 3,5 сек, закешированая около 0,6. Что в принципе все равно много. Сервер выделеный, не слабый. На главной 9 лент новостей (через rgtabs, без аякса). Всего около 2к новостей на данном сайте, и около 4к в базе (несколько сайтов).
|
Проверьте:
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 Гб. |
Цитата:
Но что-то у вас не так. Количество записей в кэше еще объяснимо - так как для каждой страницы под каждое условие в TS шаблоне и каждую группу FE пользователей создается своя кэшированная копия (так как эти параметры могут влиять на содержание страницы). Но общий размер у вас многоват. Сейчас для примера глянул один из сайтов - 12000 записей занимают 800 Мб. Обратите внимание, что в кэше сохраняется не только HTML код страницы, но и весь TS шаблон с ней связанный и соответственно исходный HTML код шаблона. Если они большие - то и весь кэш будет расти. |
Два вопроса:
1.В нете есть tip по оптимизации: disable completely any TYPO3 built-in statistics Как отключить сбор статистики? 2. Где в админке посмотреть лог генерации по времени? |
Часовой пояс GMT +4, время: 17:14. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot