Выбор ответа Senior Производительность: OPcache и FPM обновлено
realpath cache и автозагрузка
Вопрос
Профилирование показывает много системных вызовов stat и lstat на каждом запросе Symfony-приложения. Что проверить в первую очередь?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: OPcache без проверки времени, classmap и realpathcachesize. При каждом include PHP разрешает путь к файлу и проверяет его время изменения.
Варианты ответа
- OPcache без проверки времени, classmap и
realpath_cache_sizeправильный ответ - Размер
memory_limit: при нехватке PHP перечитывает файлы - Число воркеров
pm.max_children: каждый делает своиstat - Версию nginx и его
open_file_cacheдля PHP-файлов
Разбор
При каждом include PHP разрешает путь к файлу и проверяет его время изменения. Кеш реальных путей (realpath_cache_size, по умолчанию 4 МБ) и OPcache без проверки времени убирают большую часть обращений к файловой системе, а classmap-автозагрузчик (--classmap-authoritative) избавляет от поиска файлов по правилам PSR-4. memory_limit, число воркеров и nginx на эти вызовы не влияют.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.