Welcome! Log In Create A New Profile

Advanced

Re: Очистка кеша nginx

VovansystemS
February 07, 2013 07:30AM
у меня на крупных порталах программисты часто используют nosql
кеширование radius и memcached на уровне приложения, чтобы кешировать
не всю страницу целиком, а какие-либо данные/части страницы, что
позволяет разгузить хосты с пхп и майскл.

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

если сайт на wordpress, то можно использовать плагин
http://wordpress.org/extend/plugins/nginx-helper/ - он удаляет
страницы из кеша после их изменения при соотвествующей конфигурации,
обращаясь на специальный локейшн. пример:
location ~ \.php$ {
...
fastcgi_cache_key
"$scheme|$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
...
}

location ~ /purge(/.*) {
log_not_found off;
set $uri_orig $1; # энкодим кирилличное выделение
fastcgi_cache_purge CACHE
"$scheme|$request_method|$http_if_modified_since|$http_if_none_match|$host|$uri_orig$is_args$args";
}
Т.е. кеш удаляется по ключу. по которому он был создан. Похожим
образом Вы можете организовать своевременное обновление кеша у себя.

На самом же деле, у себя я ограничиваю только размер кеша (а он
находится на рамдиске), а inactive выставляю в 24h. Таким образом кеш
со временем вырастает до своего max_size, а потом cache manager
начинает сам оттуда удалять самые старые записи. Время кеширования
выставляю в 1m. Если вдруг отвалится бекэнд, то самые просматриваемые
страницы сайта будут по-прежнему загружаться, т.к. настроен
proxy_cache_use_stale. Минус данного способа в том, что кеш занимает
постоянно весь выделенный под него объём, а также в том, что
необходимо правильно подобрать экспериментально размер этого самого
кеша, учитывая сколько разных страниц одновременно открывают
пользователи.. Но в любом случае, для большого сайта, есть смысл
управлять кешем на уровне приложения - это просто, удобно и
эффективно.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Очистка кеша nginx

dimn February 05, 2013 09:57AM

Re: Очистка кеша nginx

VovansystemS February 05, 2013 11:12AM

Re: Очистка кеша nginx

dimn February 05, 2013 11:42AM

Re: Очистка кеша nginx

VovansystemS February 05, 2013 11:56AM

Re: Очистка кеша nginx

Михаил Монашёв February 05, 2013 11:52AM

Re: Очистка кеша nginx

dimn February 07, 2013 06:17AM

Re: Очистка кеша nginx

slpls February 08, 2013 07:11AM

Re: Очистка кеша nginx

VovansystemS February 07, 2013 07:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 167
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready