Коли я повинен використовувати компілятор Magento


44

Я часто бачу, як люди згадують, що вони використовують функцію компілятора Magento.

Я ніколи не замислююся і не замислююся про те, у яких випадках ви повинні ним скористатися і скільки ви отримаєте тоді ефективність.

[ВІДМОВА]: Оскільки я нещодавно отримав пропозицію щодо редагування. Це питання не стосується di-компіляції magento2, навіть не трохи про magento2.


1
Дивіться мої орієнтири з компілятором: byte.nl/blog/should-i-use-the-magento-compiler
Віллем

1
у вас немає конфігурації apc, також у нас зараз є модуль opcache у поточних версіях, і немає підтримуваної версії php, яка б більше не працювала з apc. Програмне забезпечення змінюється, а також рішення та шляхи вирішення.
Flyingmana

Відповіді:


43

[ВІДКРИТТЯ] Ця відповідь призначена лише для компілятора в Magento 1, компілятор у Magento 2 має зовсім іншу мету / ефект

Ви повинні використовувати його ніколи.

Оскільки PHP розробив декілька механізмів вдосконалення програм, що містять багато файлів.

Значить: php opCache в поточній версії php покращує продуктивність, якщо правильно налаштовано. Наприклад, використовувати досить високий ліміт для кешованих файлів. Також opCache має вдосконалення для функцій доступу до файлової системи, які працюють на більш глибокому рівні, а потім aoe_classpathcache і ще більше покращує продуктивність.

Зрештою, у нас є автозавантаження, яке не потребує більше декількох мс без компілятора. Існують навіть випадки, коли компілятор завдав шкоди продуктивності. Не кажучи вже про шалені трудомісткі проблеми налагодження програм за допомогою компілятора.

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

http://php.net/manual/en/opcache.configuration.php


2
Отже, ви пропонуєте вимкнути компіляцію, очистити компільовані файли та використовувати натомість opCache?
perissf

1
якщо ви підсумуєте це, так
Flyingmana

3
Компілятор - це найспритніша помилка з версіями 1.4.1.1, 1.4.2.0 та, можливо, 1.5.1.0. Починаючи з 1.5.1.0 вперед, оптимізація коду почала робити її менш ефективною. Десь близько 1.6 або 1.7, хтось робив тестування A / B і виявив, що він може фактично уповільнити роботу системи при певних конфігураціях сервера.
Лабораторії Фіаско

3
Два налаштування для інтерпретатора PHP, щоб допомогти з базовими файлами файлів, які можна виконати, якщо у вас є системний доступ або ви можете змусити вашого постачальника хостингу зробити зміни для вас -> realpath_cache_size=64kі realpath_cache_ttl=3600. 64 к. Здається, найприємнішим місцем, люди рекомендували більше, але тестування продуктивності показує, що це марно пам'ять.
Лабораторії Фіаско

2
@FiascoLabs У вас є посилання / джерело до ваших цифр "A / B тестування"? Було б непогано бачити.
Арам Папазіян

11

"Коли я повинен використовувати компілятор Magento"

Якщо з якоїсь причини у вашій системі не встановлено прискорювач PHP (малоймовірно, але можливо)

Якщо ви використовуєте дуже стару версію magento (ви насправді не повинні бути)

Чому слід залишати його інвалідом?

Я повністю погоджуюся з коментарем Fiasco Labs вище. Хоча ви не вказали свій номер версії magento, це справедливо для всіх версій magento (CE) понад 1.6.1, якщо ви ввімкнули компілятор у системі, яка вже має прискорювач php (наприклад, PHP-APC тощо) для всього вашого магазину , від сторінок адміністратора аж до перевірки клієнта буде помірно повільніше, а ще гірше, що багато плагінів / модів, які ви знайдете під час підключення magento, не працюватимуть належним чином із компілятором.

Коротше кажучи, у 2014 році ніколи не існує жодної вагомої причини для включення компілятора.

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