Задача:
Оптимизировать сайт для ускорения работы.
Решение
Что можно сделать, чтобы сайт на Друпал работал быстрее:
- В списке модулей выключите все модули, которые не используются. Может быть стоит также пожертвовать модулями статистики;
- Кэширование в Drupal снижает нагрузку на базу и значительно увеличивает скорость. Хотя кэш существенен только для анонимных посетителей, на сайтах их как правило большинство, кэш в любом случае рекомендуется включить;
- Выключите использование mod_rewrite в .htaccess. URL'ы станут не такими красивыми и короткими, но ведь многие CMS не используют коротких URL;
- Модуль locale сильно сказывается на ухудшение скорости работы сайта, но локализация обычно нужна, значит либо адаптируем к работе с gettext и смотрим, стало ли быстрей (в большинстве случаев должно), либо на крайний случай выключаем локализацию интерфейса (крайняя мера);
- Темы c XML-шаблонами обычно медленнее тем использующих только PHP, посмотрите, какая тема используется по умолчанию: если это что-то вроде xtemplate или подобное, с шаблоном на XML - смените на тему использующую только php (например, chameleon);
- Важной частью увеличения скорости работы Drupal является информация о количестве обращений к базе данных. Ставим модуль devel, включаем отображение запросов и смотрим время их исполнения. Какие-то дополнительные модули могут быть криво написаны, и давать значительные задержки (например, неоптимальные SQL-запросы), в стандартных модулях с этим обычно все в порядке. Пробуйте отключать различные модули (даже стандартные) и смотрите на время генерации страниц. К этому же совету:
- уменьшаем количество документов (node), выводимых по умолчанию на главную страницу (это если для главной страницы используется модуль node).
- Проверяем наличие индексов у таблиц в базе.
- Также делаем тотальный optimize всех таблиц (и можно делать его регулярно).
- Использование модуля mod_gzip веб-сервера Apache - он сжимает файлы, которые отдаются браузеру.
- Можно испозовать кеширование разных видов.
- Можно оптимизировать PHP-код
- Можно оптимизировать структуру базы данных
- Можно оптимизировать настройки веб-сервера, базу данных, PHP
- Можно заменить страницы, которые генерирует модуль View своим кодом, который будет работать быстрее.
- Уменьшить время загрузки страниц (сжатие CSS и JS, оптимизация картинок и HTML)
Использованные материалы
Drupal: руководство по пользованию
Полезные ссылки
- http://www.drupal.ru/node/13291 - Увеличение производительности сайта
- Сервис для анализа скорости загрузки страниц сайта
- Оптимизация Drupal
- Разгоняем Drupal




































Комментарии
Установил модуль Devel, но нигде не могу найти отображения числа и скорости запросов к БД.
Версия Друпала - 6.3
Посмотрел в блоках - включил блок Development, но это просто ссылки на разные функции.
Снимаю вопрос, был включен агрессивный режим кеширования.