Некоторые из моих веб-сайтов размещены на сервере с активированным OPcache, что значительно повышает производительность, но у меня проблема с быстрым заполнением кеша. Затем на некоторых страницах я получаю ошибку 502, что, конечно же, является серьезной проблемой. Единственный способ решить эту проблему — вручную очистить кеш, но это помогает ненадолго. Мой хостинг-провайдер сказал мне, что они пробовали некоторые изменения (которые мне не помогли) и что я не могу ожидать увеличения памяти для OPcache в ближайшее время. Когда я попытался отключить OPcache, нагрузка на сервер была слишком высокой, поэтому мне нужно продолжать его использовать.
Самый большой сайт, который у меня есть, основан на Symfony3. Другие сайты представляют собой относительно небольшие страницы, но один из них — с которым у меня тоже возникают проблемы — основан на Silex (микрофреймворке Symfony).
Можно ли как-нибудь улучшить производительность OPcache прямо из Symfony? Или какие-либо изменения в настройках, которые я мог бы предложить моему хостинг-провайдеру?
Спасибо
Вот пример вывода из opcache_get_status(false)
, если это поможет:
[opcache_enabled] => 1
[cache_full] => 1
[restart_pending] =>
[restart_in_progress] =>
[memory_usage] => Array
(
[used_memory] => 25118936
[free_memory] => 46888
[wasted_memory] => 0
[current_wasted_percentage] => 0
)
[interned_strings_usage] => Array
(
[buffer_size] => 4194304
[used_memory] => 4194292
[free_memory] => 12
[number_of_strings] => 102372
)
[opcache_statistics] => Array
(
[num_cached_scripts] => 1074
[num_cached_keys] => 1989
[max_cached_keys] => 3907
[hits] => 302267
[start_time] => 1468984961
[last_restart_time] => 1469018698
[oom_restarts] => 0
[hash_restarts] => 0
[manual_restarts] => 1
[misses] => 6467
[blacklist_misses] => 0
[blacklist_miss_ratio] => 0
[opcache_hit_rate] => 97.9053165508
)