Несколько причин, по которым при использовании require или include файлов в PHP растёт потребление памяти:
- Наследование лимита памяти от родительского скрипта. 1 Когда скрипты вызывают другие скрипты с помощью require или include, этот лимит наследуется и делится со всеми включёнными скриптами, которые зависят от родительского. 1
- Загрузка подключаемых файлов в оперативную память. 5 Интерпретатор последовательно исполняет команды, и подключаемые файлы загружаются в оперативную память. 5
- Операции ввода-вывода с диском. 3 Они выполняются медленнее, чем в памяти, поэтому часто становятся фактором, влияющим на производительность при использовании больших фреймворков. 3
Чтобы снизить потребление памяти, можно использовать кэши кода, например, APC и похожие кеши. 3 Также можно объединить все файлы в один большой, чтобы сделать меньше вызовов ввода-вывода. 3