Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Быстродействие сайта на Друпал, кеширование

Быстродействие сайта на Друпал, кеширование
, by

Здравствуйте, Иван. Снова обращаюсь к Вам за помощью. У меня получается очень тяжелый сайт на друпал, есть ли какие то методы, что бы улучшить производительность сайта, например с помощью каких либо модулей. Медленно грузятся страницы. Почитала о модуле Boost. Как его праильно и корректно настроить,чтоб не навредить? Может есть еще какие-то методы. Изображения я уменьшаю, флешками почти не пользуюсь. И сколько считается  нормой по времени загрузка страницы? Подскажите ,пожалуйста. Спасибо заранее!

1 answer
votes: 582
Answer

Здравствуйте, для начала решите для кого вы будете кешировать, для анонимов или для зарегистрированных пользователей. Анонимы обычно на различных новостных и информационных сайтах, зарегистрированные на соц. сетях или сайты с функциями соц. сетей.

Если для анонимов, то проще всего поставить модуль boost и забыть о проблемах с нагрузкой. Boost сгенерирует html странички и нагрузка снизится. Как вариант для анонимов на сервере можно настроить Varnish + Pressflow, хорошо это описано в видео lullabot здесь можно скачать:

http://rutracker.org/forum/viewtopic.php?t=3372107

 

Теперь, то что касается зарегистрированных пользователей:

Отключаем неизпользуемые модули, стараемся избегать модулей referencies, ralations, fields collection, если это возможно. Запросы с join'

1. Установить на сервер APC или eAccelerator, Xcache, чтобы кешировать php-код. Модуль для друпала так и называется APC, модуль позволяет кешировать данные о сайте и загрузке в оперативной памяти с помощью  APC. Понятно о чем это я будет если почитать readme к модулю Memcache.

2. Установить на сервер Memcache и установить модуль memcache api на сайт.

3. Боремся с модулем Views если он есть, в нем тоже включаем кеширование. Можно поставить по времени для всяких блоков новостей и статей, например на час хранение кеша. Если делать чтобы сразу кеш сбрасывался когда новая новость появляется нужно поставить модуль Cache actions

http://drupal.org/project/cache_actions

Нужно добавить Rule обновить кеш view на создание, редактирование, удаление ноды нужного нам типа материала.

4. Боремся с кешированием блока. Отключаем модуль fields permission если он есть. Потому что (или content permissions не помню точно) он блокирует возмоность кешировать блоки, а это плохо.

5. Отключаем модуль php filter и выносим все блоки с php кодом в отдельный модуль. Да и в целом все блоки кастомные выносим в модуль.

6. Если seo не сильно нужно, то используем ajax для загрузки блоков. Можно использовать модуль ajaxify block или подобный для загрузки блоков и регионов через ajax.

7. Ужимаем все наши css, javascript. Css Advanced CSS/JS Aggregation

http://drupal.org/project/advagg

Css у меня сжимался нормально, а вот js выдавал ошибку.

8. Теперь нужно разбираться с блоками которые индивидуальные для каждого пользователя.

http://drupal.org/project/views_puc

http://drupal.org/project/authcache - для 6ки

http://drupal.org/project/easy_authcache - для 6ки, но не пробовал его

На семерку еще не сталкивался с модулями для пользовательского кеширования, хотя точно помню что на последних camp'ах рассказывалось что-то подобное. Модуль назывался то ли easy cache, то ли это и блы easy_authcache. Нужно смотреть последний кемп в Москве или Киеве.



Огромное спасибо,Иван, буду пробовать. Зарегистрированных на сайте не много, в основном это пользователи с ролью менеджера-владельцы страничек, они редко обновляют свой контент, в основном делаю за них это я. А анонимных пользователей больше, потому настроила Boost. С Varnish + Pressflow буду разбираться, с зарегистрированными пользователями думаю тоже скоро надо будет, когда их активность на сайте будет существенной, еще раз спасибо за советы!


привет