10 советов: как заставить Drupal работать быстрее

Прислано: axel

пт, 18/06/2004 - 04:41

Другие статьи по теме:

1. Если вам кажется, что Drupal работает медленно, то следует перекреститься. В большинстве случаев "казаться" перестает. Если не перестало или вы не христианин, то попробуйте предпринять следующие меры:

2. неиспользуемые и не очень нужные модули
-> в списке модулей выключите все модули, которые не используются, также можно пожертвовать модулями статистики (ну не похрен ли вам сколько раз вы сами просмотрели свою любимую страничку?);

3. кэширование в Drupal снижает нагрузку на базу и значительно увеличивает скорость
-> хотя кэш существенен только для анонимных посетителей, на сайтах их как правило большинство, кэш в любом случае рекомендуется включить

4. mod_rewrite
-> выключите использование mod_rewrite в .htaccess, он грузит проц, не особо сильно, но все же. Urlы станут не такими красивыми и короткими, но ведь многие CMS не используют коротких URL и ничего, живут себе.

5. модуль locale - тормоз
-> но локализация обычно нужна, значит либо адаптируем к работе с gettext и смотрим стало ли быстрей (в большинстве случаев должно), либо вовсе отрубаем локализацию интерфейса (крайняя мера)

6. темы c XML-шаблонами обычно медленнее тем использующих только PHP
-> посмотрите, какая тема используется по умолчанию: если это что-то вроде xtemplate или подобное, с шаблоном на XML - смените на тему использующую только php (например chameleon)

7. обращения к базе данных
Ставим модуль devel, включаем отображение запросов и смотрим время их исполнения. Какие-то дополнительные модули могут быть криво написаны и давать значительные задержки (например неоптимальные SQL-запросы), в стандартных модулях с этим обычно все в порядке. Пробуем отключать различные модули (даже стандартные) и смотрим на время генерации страниц (в тему: "CMSообразные" сайты выводящие массу всяких блоков по обеим краям страниц по любому смотрятся отвратительно). К этому же совету: уменьшаем количество нодов выводимых по умолчанию на главную страницу (это если для главной страницы используется модуль node). Проверяем наличие индексов у таблиц в базе, делаем тотальный optimize всех таблиц (и можно делать его регулярно).

8. Апгрейдим комп или переходим на другой хостинг. Выкидываем наконец свой модем на 14.4 и ставим выделенку.

9. Если ничего из вышепредложенного не помогло, сносим на*** все эти PHP-скрипты и базы данных и заливаем все статическим HTML.

10. Перестаем морочить людям голову своими проблемами.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Гость в пт, 18/06/2004 - 21:13.

Стоит упомянуть, что различные фильтры тоже неплохо тормозят.


Опубликовано B.X в сб, 19/06/2004 - 00:34.

В Drupal'e всё важно, ну а уж фильтры - тем более. Между прочим, фильтры - это самая главная "фича" Drupal'a. Мне нравится то, как они сделаны. Если не использовать кеширование фильтров (модуль есть такой), то все изменения видны практически сразу. Это прямо-таки особого вида css, только расширенный и позволяющий много чего добиться на Dupal'e.

Мне кажется, что самым лучшим решением была бы какая-нибудь супер оптимизация кода запросов к БД. Как-то их надо уменьшить, ну и убрать из БД всё ненужное (хелпы в частности)...


Опубликовано axel в сб, 19/06/2004 - 04:54.

Но если не использовать кэш фильтров, когда этих фильтров на сайте много поставлено - можно словить нехилые тормоза. Т.к. хотя концепция фильтров в Drupal хорошо продумана, но нынешняя техническая реализация оставляет желать лучшего. Filtercache эту ситуацию выправляет.

--
Axel


Опубликовано Nick в сб, 19/06/2004 - 13:01.

Axel, а совет 9 подходит под правило 1 http://drupal.ru/rules ?

--
USU-Lug http://usu-lug.org.ru


Опубликовано axel в вс, 20/06/2004 - 23:01.

На усмотрение админов :) Я не следил за стилем, писал как пишется. В общем-то это ведь не наезд, а лишь выражение эмоций, но если кого-то задевает - поправлю. Поправляю в общем.

--
Axel


Опубликовано axel в вт, 30/08/2005 - 07:30.

Кеширование фильтров в 4.5 и последующих версиях улучшено, проблему с фильтрами можно считать закрытой.

--
Axel,
www.axel.drupal.ru | darcs-репозиторий моих разработок


Опубликовано bany в вс, 15/06/2008 - 12:50.

стоит задача разработать социальную сеть на Drupal с нагрузкой 50 тыс. пользователей. Это реально?? выдержит??? (по аппаратной части проблем нет), как Друпал себя поведет?? например с онлайн юзерами - 1000 ???