Недавно я начал использовать кеш APC на наших серверах. Одной из наиболее важных частей нашего продукта является процесс CLI (Cron/schedule), производительность которого имеет решающее значение. Как правило, batchjob состоит из запуска примерно 16-32 процессов параллельно в течение примерно часа (они "перезапускаются" каждые несколько минут).
По умолчанию использование кеша APC в CLI является пустой тратой времени из-за того, что кеш-код операции не сохраняется между отдельными вызовами. Но APC также содержит функции apc_bin_dumpfile()
и apc_load_dumpfile()
.
Я думал, что эти две функции могут быть использованы для повышения эффективности APC в режиме CLI за счет того, что все они были скомпилированы когда-то за пределами batchjob, хранятся в одном файле дампа и имеют отдельные процессы, загружающие dumpfile.
Есть ли у кого-нибудь опыт такого сценария или вы можете дать веские причины, почему он будет работать или не будет работать? Если можно было бы разумно получить какой-либо значительный выигрыш, будь то использование памяти или производительность? Какие подводные камни скрываются в тени?