Кто имеет опыт в оптимизации производительности работы Drupal. В частности его форума. Крайне медлено генерируются страницы. Пожалуйста откликнитесь в какую сторону надо копать и где еще можно выжать секунды генерации страниц. В данный момент скорость генерации некоторых страниц зашкаливает за 5 секунд - это норма или нонсенс?
Комментарии
скорее нонсенс. на сервере профайлер имеется?
APC или eAccelerator пробовали?
Незнаю, что там у вас с контентом (я про 5 с.), но несколько снизят время генерации 3 шага.
1. Отключите у Apache поддержку (инициализацию, поиск, чтение) htaccess, перепишите из htaccess настройки в раздел вашего вуртуалхоста. Из секции Virtualhost настройки считываются один раз, при старте демона, а из хтакцеса при каждом обращении клиента.
2. Заставьте Apache не вести логи (AccessLog, ErrorLog) — этим должна заниматься отдельная машина, с отдельным сервером.
3. Подумайте о кэшировании.
Как вариант, можно поставить более быстрый сервант : )
3. Подумайте о кэшировании.
???
Какова посещаемость сайта и что за хостинг? Отдельный сервер или shared?
Кроме системного кеширования (APC, XCache, eAccelerator и др.) стоит настроить кеширование в друпале. Во-первых проверить что кеширование друпала вообще включено и может быть переключить в режим агрессивного кеширования. Во-вторых поставить и настроить blockcache - снижает нагрузку при выводе блоков. Можно также попробовать модуль кеширования boost, но он пока очень нестабилен для Drupal 5.
посещаемость - 100 хостов, хостинг шаред (уже третий сменил - на всех жалуются на нагрузку).
block cache - спасибо попробую.
минимальное время жизни кеша - на что оно влияет?
100 хостов это вообще не нагрузка. Тут специальных мер не нужно, если конечно не увешать сайт кучей модулей и блоков. Если стоят дополнительные модули - то стоит попробовать поотключать их, нередко код дополнительных модулей неоптимален или вообще крив (например индексы не используют в своих таблицах). Установка block cache впрочем не повредит.
Мин. время жизни кеша, это сколько данные будут в нём лежать до обновления. Т.е. даже если данные уже другие отдаваться будут принудительно старые из кеша. При низкой посещаемости (100 хостов) это не требуется.
Также рекомендую поставить модуль devel и включить в нём лог запросов - там отображаются все SQL запросы от друпала и время их исполнения. Тогда можно выявить, что тормозит.
Всем спасибо за советы.
Кэширование помогло снизить время генерации страниц для анонимных пользователей до 1-2 секунд.
Но для залогиненых пользователей это не помогает Время генерации страниц для них оставляет желать лучшего (в среднем 3-6 секунды). Особенно при отправке сообщений (фильтры стоят стандартные) задержки доходят иногда до 15 секунд.
На данный момент в системе 30 пользователей.
Буду курить модуль devel.
Также убрал из page.tpl.php строку <?php print $styles ?> и перенес все нужные стили в один файл. Это позволило уменьшить количество запросов на сервак. Вроде бы в друпале есть похожая функция в настройках для объединения css. Но я так и не разобрался как она себя ведет: генерирует ли она каждый раз новый файл или сохраняет его на диске, чтобы клиент по time-метке не скачивал его повторно.
devel - в среднем 500-1000 ms на страницу
на том же сервере стоит 'голая' пятерка - там 200-300 ms на страницу (страница - полный минимализм - просто пару абзацев, ни одного блока, комментариев и пр)
это нормальные значения?
какие у Вас?
основные тяжелые запросы - locale, drupal_lookup_path , upload_load (это же все стандартное?)
block caсhe - спасибо, попробую
подскажите плиз - что и Как стоит спрятать от роботов???