Хіба що більше включених модулів робить сайт повільнішим?


13

Хіба що більше включених модулів робить сайт повільнішим?
Я встановив 30 модулів для свого сайту, і боюся, що це стане занадто повільно.

Відповіді:


11

Наявність більшої кількості увімкнених модулів робить завантаження Drupal повільнішим, оскільки завантажується і аналізується більше файлів. Крім того, що більше включених модулів не означає автоматично мати повільніший сайт, оскільки не всі модулі виконують код для кожної запитуваної сторінки.

Наприклад, якщо ви встановили «Перегляди» і ви ввімкнули лише перегляд титульної сторінки, Перегляд не виконується, коли запитувана сторінка є сторінкою вузла. Хоча модуль Views реалізується hook_menu_alter(), і він виконується, навіть якщо ви не ввімкнули жодне перегляд, але модуль Views включений. Будь-яка реалізація hook_menu_alter()запускається під час відновлення меню, що зазвичай не відбувається у кожному запиті на сторінку.


6
Наявність безлічі модулів, які нічого не роблять, робить сайт трохи повільнішим. Це потрібно робити так, як працює система гака; Drupal виконує дзвінок module_hook для кожного встановленого модуля щоразу, коли запускається гачок. Усі ці перевірки можна скласти. На нашому сайті module_hook зателефонували 13 000 разів, і це зайняло 168 мс; кожна трішки додає.
mikeytown2

15

Так. Однак 30 не варто турбуватися. Ви переживаєте проблеми, коли переходите понад 100;)

Встановіть кеш-код байтового коду (APC або XCache), щоб усунути більшість уповільнень, включаючи багато файлів, і обов'язково періодично видаляйте невикористані модулі (зазвичай кожен проект збирає модулі, які в якийсь момент під час розробки отримують невикористані)


Я бачу, що Commerce Kickstart використовує 96 модулів для внесків.
Пер

Встановлення XCache змусило мої сторінки відображатись за половину часу. Спасибі.
cherouvim

1

На додаток до обох відповідей @Bojan Zivanovic & @kiamlaluno, які є правильними, вам слід подбати про взаємодію модулів. Наявність великої кількості модулів збільшує ризик поганої взаємодії модулів (наприклад, взаємодії з наркотиками). Я б сказав, що більше ніж 50 модулів стає небезпечним, і вам слід завчасно перевірити, що ви не використовуєте кілька модулів для одних і тих же доменів завдань.

Як приклад створення сторінок із блоками, поданнями, панелями, полями, що містять види, блоки, що містять види, блоки, що містять панелі, що містять види, що містять ... Ідея полягає у тому, щоб отримати щось, що може зрозуміти звичайний мозок (як складаються мої різні сторінки) . Це може мати великий вплив на продуктивність, коли кілька складних способів навантаження приховано та приковано. Інший приклад - додавання декількох правил ACL з декількох модулів для кожного вмісту.

Якщо ви боїтесь виступу, завжди використовуйте модулі профілювання та відстежуйте відмінності після кожного додавання нового модуля. Колись невеликий гачок із деяким SQL всередині або спеціальним шаблоном врятує ваш веб-сайт.


Drupal зроблений для "нормального мозку"? :)
pico34

1

три речі, про які слід пам’ятати під час створення сайтів, які можуть пришвидшити ваш drupal-сайт:

  1. Зменшити кількість модулів
  2. Перевірте свій журнал запитів mySQL на наявність повільних запитів та при необхідності налаштувати код / ​​додати індекси.
  3. Кешування (і сподіваємось, що більшість ваших користувачів не мають автентичності)

що стосується частини модуля, очевидно, що більша кількість модулів буде меншою, ніж швидкість, тому що для обробки потрібна більша оперативна пам'ять.

все-таки 30 - 60 модуль не буде так сильно впливати на ваш сайт.

Частота завантаження сайту та кількість модуля становить приблизно 100 модулів, затримаю сайт на 350мс до 650мс.

сподіваюсь, що на наступному сайті ви будете мати на увазі ці моменти .. :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.