Советы по ускорению сайта Drupal - PullRequest
6 голосов
/ 03 апреля 2009

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

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

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

Ответы [ 8 ]

5 голосов
/ 03 апреля 2009

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

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

4 голосов
/ 03 апреля 2009

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

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

3 голосов
/ 08 апреля 2009

У вас есть URL на ваш сайт?

Пара быстрых указателей:

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

НТН.

3 голосов
/ 05 апреля 2009

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

1 голос
/ 28 декабря 2013

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

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

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

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

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

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

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

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

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

0 голосов
/ 04 апреля 2009

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

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

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

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

0 голосов
/ 03 апреля 2009

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

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

0 голосов
/ 03 апреля 2009

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

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

Также проверьте настройки Apache. Работает ли он медленно, только при одновременном использовании, или он работает медленно только с одним посетителем?

Есть также страница на Drupal, которая содержит несколько общих шагов: Особенности настройки сервера

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

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