Оптимизация Drupal через PHP Apache и Mysql оптимизация - PullRequest
3 голосов
/ 30 января 2011

Я установил Drupal common из acquia и использовал его для своего интернет-сайта колледжа.Я настроил его на Ubuntu lucid lynx Desktop Edition с последней версией XAMPP.Я хочу повысить производительность сайта.Мой сервер базы данных и веб-сервер находятся на одной и той же машине.

Может ли кто-нибудь предложить способы повышения производительности в следующем пункте

  1. Какая должна быть идеальная конфигурация оборудования
  2. Какие параметры я должен изменить в PHP, чтобы запустить его для лучшей производительности?
  3. Как я могу оптимизировать apache и My SQL, чтобы получить лучшую производительность из обоих ??
  4. есть ли в drupal твики, которые могутсделать его быстрее?
  5. Существуют ли дополнительные пакеты для кэширования и т. д., которые могут улучшить скорость ??

Ответы [ 5 ]

4 голосов
/ 30 января 2011

Кроме того, попробуйте Varnish, если вы используете PressFlow, как предложено Berkes. Это очень помогает, если вам приходится обслуживать контент для анонимных пользователей.

Varnish может кэшировать в памяти весь контент, создаваемый Drupal, уменьшая попадания на ваш веб-сервер и базу данных.

Вот хорошая отправная точка для настройки Varnish с Pressflow:

https://wiki.fourkitchens.com/display/PF/Configure+Varnish+for+Pressflow

Google некоторые для более подробной информации.

И не забывайте об оптимизации, не связанной с Drupal, например, о сокращении количества http-запросов, обслуживании элементов веб-страниц из разных доменов для уменьшения конвейерной работы браузера и т. Д. Используйте YSlow и следуйте отличным правилам Yahoo. Google для «Yahoo! Best Practices для ускорения вашего веб-сайта» (не может включать ссылку из-за ограничения SO для новых пользователей).

3 голосов
/ 30 января 2011
  1. Не специально для Drupal, но для каждой настройки PHP. Более общее: для каждого веб-приложения. Советую начать с Создание масштабируемых сайтов О'Рейли .
  2. Смотри выше. Для Drupal, обратите внимание на ограничение памяти; многие люди просто доводят это до смешных ценностей; после логики: Drupal нужно более 38 МБ, я просто дам ему 250 МБ, чтобы быть в безопасности.
  3. Опять же, смотрите выше. Для Drupal, обратите особое внимание на количество запросов. Если вы сосредоточены только на медленных запросах, вы можете пропустить этот крошечный запрос, забивая вашу БД более 100 раз за запрос.
  4. Много. Мой совет - начать смотреть на pressflow , оптимизированный Drupal. В него встроены все настройки, которые вы ищете. И многое другое.
  5. Да. Многие, но начинаются с memcached . И если вы сильно полагаетесь на поиск, рассмотрите возможность перехода на поиск SOLR.

Еще много советов для начинающих можно найти на Drupal performance Блог

2 голосов
/ 30 января 2011

Вопрос, который вы задаете, очень широк, поэтому трудно дать какие-либо подробности в ответах.Хорошее место для начала - собственный справочник drupal по настройке производительности.

Я также очень рекомендую модуль повышения , если ваш сайт обслуживает в основном анонимных пользователей, поскольку это позволяетзапросы даже не заходить в drupal и обслуживаться целиком из статического кэша.

1 голос
/ 30 января 2011

В модуле Devel Drupal есть модуль Performance, который будет регистрировать использование памяти и время доступа к разделу отчетов вашего сайта.

Используйте это, чтобы определить, какие страницы на вашем сайте работают медленно.Загрузите xdebug (расширение PHP) и включите функцию профилирования.Делайте запросы к своим страницам, требующим высокой производительности, и он будет создавать (очень большие) дампы всего запроса.Откройте файл кэша в такой программе, как KCacheGrind или WinCacheGrind, и вы сможете увидеть все вызовы функций, которые выполнял Drupal при создании страницы.Отсюда вы можете увидеть, какие части являются самыми медленными, и оптимизировать их.

Это даст вам повышение производительности на 30-80%, если у вас медленный сайт.По моему опыту, обычно есть несколько блоков или представлений, которые составляют большую часть любых проблем с производительностью.

0 голосов
/ 06 мая 2013

Pro Drupal 7 Development имеет целый раздел, посвященный тонкой настройке, называемый "оптимизация drupal".
Я думаю, вы найдете его довольно интересным.Также обсуждаются аппаратные архитектуры, которые вас интересуют.

По 4-му вопросу вы можете для начала проверить модуль буста и отключить модули, которые вы не используете.Кроме того, для улучшения производительности страницы вы можете включить кэширование страниц в разделе Конфигурация -> Производительность.На той же странице вы можете использовать агрегирование и сжатие файлов CSS (JS) в один », таким образом вы уменьшаете количество HTTP-запросов на страницу и общий размер загружаемой страницы. Также следует учитывать, если CRON настроен. Не запущенный cron может заполнить базу данных журналом, устаревшим кешем и другим «мусором».

Последнее предложение - преобразовать вашу базу данных из MyIsam в InnoDB , но я думаю, что это требует некоторого изучения, потому что не всегда происходит так, что InnoDB быстрее. С InnoDb меньше потери времени при блокировке таблицы, в то время как MyISAM быстрее при чтении таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...