Правильная настройка кэширования

12 3
-S
На сайте с 10.12.2006
Offline
Модератор 1354
4112

Приветствую,

подскажите, пожалуйста, как оптимально настроить кэширование для минимальной нагрузки сервера и максимально быстрого ответа сайта:

сейчас есть сайт, который кэшируется сначала плагином в CMS, потом в панели выставляется кэширование на стороне сервера, а также кэширование включено на уровне CDN сервиса. Нет ли из-за кэширования кэша лишняя нагрузка на процессор и оперативку и в целом потеря производительности?

redeyer
На сайте с 27.01.2010
Offline
102
#1

Любое кэширование обычно способствует противоположным вещам - снижению нагрузки на процессор в первую очередь. И ускорению, порой в десятки раз.

"Кэширование в панели на стороне сервера" - не сильно влияет на улучшение, если речь идет о галочке в ispmanager. Это лишь кэширование статики. В CDN обычно кэшируют то же самое. Плагином - это вот основное, что у вас работает, скорее всего. Если речь о wp, то наверняка оно лишь помогает.

Самое снижающее нагрузку и ускоряющее кэширование - это серверное кэширование на уровне nginx, когда кэшируется вся страница, весь ответ бэкенда. Суть работы плагинов примерно такая же. А как его настраивать, и много чего ещё по поводу настройки сервера для максимальной производительности и ускорения расписано в моем большом мануале по оптимизации серверов.

Если вкратце - используйте php7 в режиме apache module или nginx+php-fpm, включите и настройте в нем расширение акселератор php-opcache (тоже кэширование), оптимизируйте настройки mysql (и в нем тоже есть кэширование).

Услуги сисадмина. Настройка и оптимизация VPS https://searchengines.guru/ru/forum/928318 . Поднятие своих прокси, восстановление сайтов из вебархива. Мой канал о хостингах https://t.me/hostingexpert
L
На сайте с 25.12.2013
Offline
313
#2

Для начала научиться кэшировать через nginx, а потом уже копать дальше, если нужно. Для nginx есть куча команд, которые существенно ускоряют и защищают сайт от перегрузок. Нормальной документации на русском по nginx не найдешь, кстати.

Недорогой, надежный и отзывчивый VPS хостинг ( https://bit.ly/3eXUnNN ) Проверенная пуш партнерка с ежедневными выплатами ( https://vk.cc/9wLSrL)
redeyer
На сайте с 27.01.2010
Offline
102
#3
Lastwarrior:
Нормальной документации на русском по nginx не найдешь, кстати.

Не соглашусь. Ибо изначально от русских разработчиков софтина, так что на русском даже больше инфы по нему. Хотя на каком языке страницы - нет никакой разницы, когда ищешь конфиги.

И при использовании кэширующих плагинов на wordpress особо нет смысла разбираться с кэшированием nginx, ибо суть одна и та же, эффект один и тот же. Зачем в этом копаться, если того же эффекта можно добиться в три клика. Необходимость возникает только при сверхнагрузках, когда сервер даже с кэширующим плагином не выгребает нагрузку. Там уже кэшер на уровне nginx только и поможет.

D
На сайте с 28.06.2008
Offline
1101
#4

Кеширование Nginx и ничего больше не нужно.

fastcgi_cache_path /var/cache/nginx/vashsite levels=1:2 keys_zone=vashsite:10m max_size=128m inactive=240h; //объем и время кеширование подбираете под себя

fastcgi_cache vashsite;

# Отключаем кеш по нужным вам условиям
set $nocache $cookie_joomla_user_state;

if ($request_uri ~ /index.php)
{
set $nocache 1;
}
if ($request_uri ~ /component)
{
set $nocache 1;
}

if ($arg_cached = "1")
{
set $nocache 0;
}
fastcgi_no_cache $nocache;
fastcgi_cache_bypass $nocache;
}

В общем и все :)))

-S
На сайте с 10.12.2006
Offline
Модератор1354
#5

Господа, спасибо, теперь понятно.

redeyer:
Если вкратце - используйте php7 в режиме apache module или nginx+php-fpm, включите и настройте в нем расширение акселератор php-opcache (тоже кэширование), оптимизируйте настройки mysql (и в нем тоже есть кэширование).

Да, именно так и реализовано nginx+php-fpm + php 7 , но без акселератора php-opcache. Буду разбираться.

Апокалипсис
На сайте с 02.11.2008
Offline
391
#6
-= Serafim =-:
сейчас есть сайт, который кэшируется сначала плагином в CMS, потом в панели выставляется кэширование на стороне сервера, а также кэширование включено на уровне CDN сервиса. Нет ли из-за кэширования кэша лишняя нагрузка на процессор и оперативку и в целом потеря производительности?

Нагрузка какая? Хитов сколько?

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
-S
На сайте с 10.12.2006
Offline
Модератор1354
#7
Апокалипсис:
Нагрузка какая? Хитов сколько?

Достаточно.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#8

-= Serafim =-, да opcache надо включать (там десяток основных настроек подправить, типа время кеша, размер оперативки под кеш, не сложно), если php кода много, а его в основном гипердофига в современных движках, то прирост производительности и снижение нагрузки заметное.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
-S
На сайте с 10.12.2006
Offline
Модератор1354
#9
foxi:
-= Serafim =-, да opcache надо включать (там десяток основных настроек подправить, типа время кеша, размер оперативки под кеш, не сложно), если php кода много, а его в основном гипердофига в современных движках, то прирост производительности и снижение нагрузки заметное.

Понял. А касательно memcached есть смысл?

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#10
А касательно memcached есть смысл?

Это не просто включил и забыл как opcache. Это модуль с которым должны уметь работать скрипты, просто так включать его не имеет смысла.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий