Выбор ответа Senior Производительность: OPcache и FPM обновлено

Предзагрузка OPcache

Вопрос

Что даёт opcache.preload (PHP 7.4+)?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Загружает классы в память при старте FPM без автозагрузки. Скрипт предзагрузки выполняется один раз при старте пула: классы фреймворка компилируются и связываются заранее, автозагрузка для них больше не нужна.

Варианты ответа

  1. Заранее выполняет частые SQL-запросы при старте FPM
  2. Загружает классы из vendor в браузер вместе с JS
  3. Загружает классы в память при старте FPM без автозагрузкиправильный ответ
  4. Включает JIT для всех указанных в скрипте файлов и функций

Разбор

Скрипт предзагрузки выполняется один раз при старте пула: классы фреймворка компилируются и связываются заранее, автозагрузка для них больше не нужна. Выигрыш обычно единицы процентов. Минусы: изменения предзагруженных файлов требуют перезапуска FPM, а настройка сложнее. Symfony генерирует файл предзагрузки автоматически.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.