Вы здесь

Какой нужен сервер для Drupal?

3

Я конечно понимаю что вопрос очень размытый, и все зависит от нагрузки и включенных модулей.
Но давайте возьмем для примера Drupal 7.34 + Zen 7.x-5.5 Theme.

Собственно есть две VPS от разных хостеров примерно одинаковой конфигурации:
1. OpenVZ, 1Гб RAM, php 5.4.35-0+deb7u2, Apache/2.2.22 (Debian), MySQL 5.5.40-0+wheezy1-log.
На ней крутится MediaWiki, Tiny Tiny RSS, phpbb, HESK, и 3 штуки Drupal 7.34.

Больше всего модулей включено на одном из Drupal, вот список того что включено:
('field'),('field_formatter_class'),('field_formatter_settings'),('field_sql_storage'),('field_ui'),('file'),('filefield_paths'),('filter'),('form_builder'),('geofield'),('geofield_map'),('geofield_ymap'),('geophp'),('globalredirect'),('googtube'),('hide_block_by_role'),('honeypot'),('iek'),('image'),('imagecache_token'),('image_url_formatter'),('imce'),('job_scheduler'),('job_scheduler_trigger'),('jquery_update'),('js_injector'),('l10n_update'),('libraries'),('lightbox2'),('link'),('linkchecker'),('list'),('locale'),('mailsystem'),('menu'),('metatag'),('metatag_opengraph'),('metatag_views'),('mimemail'),('mimemail_action'),('mimemail_compress'),('node'),('node_convert'),('node_reference'),('number'),('ocupload'),('options'),('options_element'),('path'),('readmorecontrol'),('realname'),('references'),('references_id_trim'),('rest_server'),('rules_admin'),('rules_scheduler'),('search'),('services'),('services_views'),('shortcut'),('simpleantispam'),('simplenews'),('system'),('taxonomy'),('text'),('token'),('transliteration'),('trigger'),('ulogin'),('update'),('user'),('views_bulk_operations'),('views_php'),('views_slideshow'),('views_slideshow_cycle'),('views_ui'),('web_widgets'),('word_link'),('xmlsitemap_custom'),('xmlsitemap_menu'),('xmlsitemap_node'),('yandex_captcha'),('yandex_metrics'),('yashare'),('field_group'),('pathauto'),('xmlsitemap'),('filefield_sources'),('views'),('admin_views'),('field_permissions'),('yandex_pinger'),('admin_menu'),('admin_menu_toolbar'),('standard'),('dblog'),('feeds'),('redirect'),('statistics'),('statistics_filter'),('rules'),('devel');

На двух оставшихся включено примерно 2/3 от того что выше, но нагрузка на них минимальна.

Средняя посещаемость на этом Drupal ~ 300-400 человек в день (судя по Я.Метрике).

Все это дело более-менее крутится и работает, при том что MediaWiki и Tiny Tiny RSS тоже не легкие и отжирают прилично памяти.

И есть второй сервер:
2. OpenVZ, 1Гб RAM, php 5.4.36-0+deb7u3, Apache/2.2.22 (Debian), MySQL 5.5.40-0+wheezy1
На ней крутится Joomla и Drupal 7.34 с примерно тем же самым набором модулей, за исключением feeds, services, form_builder, web_widgets и еще некоторых модулей.

Так вот на втором раз в неделю mysql помирает от нехватки памяти.

Подскажите что почитать по оптимизации Drupal?
Как выявить какие модули\темы больше всего грузят сервер?

И поделитесь в комментариях на каких конфигурациях серверов у вас работает Drupal.

Basic performance. Заставим Drupal летать. Часть I
Несколько советов по ускорению Drupal

Версия Drupal: 
7.x
Категория: 
Performance
Вопрос задан 16.02.2015 - 22:07

Ответы

1

Самый нехилый прирост дает:
1. Переход с апача на nginx + php-fpm;
2. Включение кеширования типа memcached, opcache.
3. Можно похимичить и подключить HHVM

Это ускорит сайт очень заметно, а мелкий тюнинг уже необходим по ситуации. Корректировка долгих запросов на свои и т.д. Для посещалки в 300-400 человек даже первого пункта хватит чтобы уже заметно ускорить. Есть смысл посмотреть на проект Aegir, который распространяет конфигурацию nginx + php-fpm сервера чисто для Drupal. Ещё многие рекомендуют: https://github.com/perusio/drupal-with-nginx

Буквально на прошлой недели переносил проект с апача на nginx, прирост был заметен даже владельцем, ибо раза в 2-3 быстрее стал грузиться сайт, и это на базовом конфиге nginx.

Ответ дан 16.02.2015 - 22:13
Аватар пользователя Niklan
Niklan
445

Может быть поделитесь чек-листом по переносу на nginx? Что Apache уже можно хоронить совсем для использования в продакшене?
И все же интересно почему на одном сервере 1гб памяти хватает, а на другом при гораздо меньшей нагрузке - нет.

Комментарий оставлен 16.02.2015 - 22:35

Честно говоря, я просто с VestaCP на Ajenti V. Надо сказать, Ajenti V очень сыренький но потянул. Так как я не имел ранее дела с Nginx, я встретился с некоторыми проблемами, типа что модули качать любой может и т.д. С таким гемором что я там столкнулся, с такой дубовостью реализации Ajenti V, намного проще поднимать такую связку из консоли самостоятельно.

Комментарий оставлен 16.02.2015 - 23:50

А можно по подробнее что значит "модули качать любой может"? Поставил nginx на вторую VPS. free -m как показывало ~100 мб свободной памяти так и показывает.

Комментарий оставлен 17.02.2015 - 15:20

В прямом смысле. Любой файл с сайта можно было выкачать, включая любой файл любого модуля. Фиксится просто, я написал ктю тому что тут надо внимательно в такой связке ибо .htacess не работает.

Комментарий оставлен 17.02.2015 - 17:20