Использование кэша PHP APC в режиме командной строки с использованием файлов дампа

Недавно я начал использовать кэш APC на наших серверах. Одной из наиболее важных частей нашего продукта является процесс CLI (Cron/scheduled), производительность которого имеет решающее значение. Обычно пакетное задание состоит из параллельного запуска 16-32 процессов в течение часа (они «перезапускаются» каждые несколько минут).

По умолчанию использование кэша APC в CLI является пустой тратой времени из-за того, что кэш кода операции не сохраняется между отдельными вызовами. Но APC также содержит функции apc_bin_dumpfile()и apc_load_dumpfile().

Я подумал, что эти две функции можно использовать для повышения эффективности APC в режиме командной строки, скомпилировав все это вне пакетного задания, сохранив в одном файле дампа и загрузив файл дампа отдельными процессами.

Есть ли у кого-нибудь опыт работы с таким сценарием, или вы можете привести веские причины, почему это сработает или не сработает? Можно ли разумно получить какой-либо значительный выигрыш в использовании памяти или производительности? Какие подводные камни скрываются в тени?

11
задан Brian Tompsett - 汤莱恩 30 March 2017 в 20:17
поделиться