Советы по ускорению сайта Drupal

мы только что реализовали сайт drupal. Производительность сайта, похоже, является проблемой. Мы включили кэширование drupal, настроили производные кэширования apache. Повторные посещения страниц достаточно быстры (CSS и JS кэшируются), но начальные посещения страниц по-прежнему являются проблемой.

эксперты Drupal, не могли бы вы предложить нам несколько указателей на различные методы, используемые для ускорения сайтов drupal. (как DOs и DONOTs). Есть ли другие низко висящие фрукты?

(кстати, DB не проблема здесь. Этот слой достаточно быстр. Проблема, похоже, в PHP / Drupal layer)

8 ответов


вы использовали какие-либо инструменты, такие как YSlow или Firebug, чтобы определить, какие части загрузки страницы на самом деле занимают больше всего времени? Кроме того, рассмотрите возможность использования мониторинга запросов модуля Devel, чтобы определить, сколько времени занимает выполнение запросов по сравнению с выполнением PHP-кода.

Как отмечали другие, кэш кода операции, такой как APC, может иметь драматическое влияние. Тот факт, что вторые посещения сайта быстрее, однако, намекает на проблему со вторичными файлами (изображениями, JS, внешними JS это вызывает удаленные сайты и т. д.).


вы упоминаете, что CSS /JS медленный - вы включили "оптимизацию полосы пропускания" для CSS и JS в/admin/settings / performance? Он связывает все CSS (или JS) в один файл, что может иметь существенное значение, если у вас есть большое количество отдельных файлов (задержка - убийца).

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


Я написал статью о производительность загрузки страницы в Drupal. Вы найдете ссылки почти на все, что вам нужно знать об этом предмете. И, как уже отмечали другие, вы определенно должны установить кэш кода операции, такой как eAccelerator или APC. Они просты в настройке и дают вам бесплатный прирост производительности!


У вас есть URL-адрес вашего сайта?

пара советов:

  1. Используйте YSlow
  2. использовать tools.pingdom.com чтобы увидеть, есть ли что-то явно медленное
  3. сжатие js и css с помощью компрессора YUI
  4. используйте cookies только там, где это необходимо
  5. используйте APC / Xcache
  6. настройка PHP params
  7. используйте отдельный сервер для статики. Использовать nginx
  8. использовать лак для кэш

HTH.


Я нашел несколько способов ускорить Drupal. Я использовал Godaddy, который медленнее, чем уже медленная система, но это помогло мне раскрыть некоторые проблемы. Кроме того, я использовал Commerce Kickstart, который даже медленнее, чем Drupal 7.

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

  1. вам нужно быстрое подключение к базе данных (без медленных сетевых подключений к базе данных).

  2. есть некоторые конфигурации настройки можно изменить в PHP.ini/.пользователь.ini. (см. ссылку ниже)

  3. Если Drupal размещен в хостинговой компании, вам нужно выбрать хостинговую компанию с максимально быстрым временем отклика.(см. ссылку ниже)

  4. включить кэширование на Drupal.

  5. Не включайте более 50 модулей.

  6. также выполняйте кэширование запросов с MySQL, если вы используете MySQL.

после этого много иметь дело с производительностью программно. Посмотрите, как Drupal 7 разбивает объекты профиля, Если вы хотите увидеть другую проблему с базой данных, которая будет расти со шкалой, что означает, что Drupal 7 может никогда не масштабироваться. Возможно, вам придется писать модули самостоятельно, чтобы ускорить работу частей, которые уже медленны в ядре. Возможно, Drupal 8 позаботится о некоторых проблемах.


Если вы уверены, что БД не является узким местом, то это указывает на время выполнения или ответ сервера.

вы делаете какое-либо кэширование кода PHP?

также проверьте конфигурацию Apache. Он работает медленно только при одновременном использовании или он замедляется с летучей мыши только с одним посетителем?

есть также страница на Drupal, которая проходит через некоторые общие шаги:настройка сервера соображения

вы можете игнорировать связанные с базой данных, конечно.


недавно я запустил сайт Drupal, и он работает довольно быстро. Самое большое узкое место (согласно Y!Slow), является ShareThis приложение, которое мы добавили. Кроме того, внешняя загрузка Google Analytics добавляет немного времени.

кроме того, убедитесь, что все модули разработчика отключены (они могут добавлять накладные расходы jscript и styling), что вы не вошли в систему как администратор при тестировании, и используйте браузер с минимальными надстройками (например, Chrome), которые могут выполнять обработку на сторона.


попробуйте установить apc -http://il.php.net/apc или eccelerator -http://eaccelerator.net/

оба улучшают производительность запуска PHP. На некоторых сайтах, которые я тестировал, время загрузки первой страницы пошло от ~750msec до ~300msec.

У меня есть плохой опыт работы с PHP/MySQL / Drupal в Windows, иногда легче найти лампу. Поэтому я бы рекомендовал-убежать от настроек на основе Windows.

Не stackoverflow.com отвечай... но сайт syster пока недоступен:)