Связка для Wordpress на NGINX+PHP-fpm: Opcache, Memcached и Varnish. Стоит ли?
Приветствую. Занялся ускорятельством Wordpress сайта, переехал с Апача на NGINX+PHP-fpm, уже установил и настроил Opcache, результатом доволен, но есть еще куда стремиться. Я не силен в матчасти, все стараюсь делать по мануалам и советам бывалых.
Вычитал, что можно еще поставить Memcached и Varnish, но я уже во всех этих кешах запутался. На самом сайте тоже стоит кеширующий плагин, эффект от него есть, но стоит ли тогда еще настраивать Memcached и Varnish? Или что-то из этого будет просто взаимозаменяемым?
Подскажите, как поступить исходя из лучших практик и целесообразности.
Я скажу что не стоит вы поверите мне? И правильно сделаете. Напишите тестовый сценарий и запустите его для стресстеста. Потом изменив конфиг прогоните ещё раз потом сравните метрики. Дальше думайте.
fpm+nginx+opcache -самая быстрая связка.
Рекомендованная
nginx +apache+fpm
memcached - медленней но умеет работать в кластерах, если кластер не нужен то opcache
плюс минус да.
По факту из плюсов мемкеш что он может кешировать такие вещи как скажем сессии в кластере.
удобно когда два бэкэнда и нужно держать общую сессию для пользователя.
но сам понимаешь как это быстро
но даже подключаясь по скету, это все равно медленней, не говоря же по IP.
так что по факту для php самый быстрый способ кеширования это
1. нормальный код который учитывает и работает с кешем
2. опкеш.
3. поднять все в оперативку не дает прироста практически никакого.
а вот nvme дики дают отличный прирост работы с бд соизмеримый с переходом HDD > SSD
поскольку при больших запросах в бд скорость I-O ( не путать тупо со скоростью) решает.
Если opcache уже настроил, копай не в сторону кэшей, а в другие. В базу данных и т.д. Varnish - универсальный кэш всего, но из-за универсальности и настраивать его сложнее, так что я бы его не трогал, раз уже opcache есть. Memcache к php приложениями подключается очень легко, если в вордпрессе есть готовые настройки для мемкэша - окей, подключи, потестируй, будет ли разница. Если не будет - выключишь.