Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Настройка кеширование
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Настройка кеширование
- From: Shestera S Leonid <shestera@xxxxxxxxx>
- Date: Thu, 30 Apr 2009 19:36:06 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=6O02d6YcOsAnuzBDImWiilCErHKghcUDqdSXUsxwCfc=; b=UtskPyWT7WZ//57QoVcbmYkXrN9iGXJiFQzCxeaKWGAbAFHGtSYrNigT0NOejrl4d2 N/8VHzhCVTz6eKXJX8Tf4XepJo1kYOMPsH27jyOy505qKmCfUN3+4mMkeSE2PWEJJ3EP Rv909xE6fvS+bxvoFYjBdibBBxMNvAcSTfhWE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=ABMMUZ/0tNUJ7CARqLJeFERxzcQZJjCy6mNspBcvzZdtIxHkV0u43iSd6vRIstpGA2 hYoZuG4UU0rOwFQOCpnzF7G0qwHQsMrgdK0Dxpf1BLmranwndIKTZVWgJhKKQYL+fghW aOWpjwjEMGnhsPpe9ZEfob+9TgxzvXAX2oEg4=
- In-reply-to: <20090430122800.GH62233@xxxxxxxxxxxxx>
- References: <71d302d40904300414x1eb7a2a9v89c191cfa2aa78d9@xxxxxxxxxxxxxx> <2d8fb9950904300449q60ff7077qf9bd986335180e83@xxxxxxxxxxxxxx> <20090430122800.GH62233@xxxxxxxxxxxxx>
Сделал конфиг:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:60m
inactive=1d ;
server {
listen 80;
server_name db;
root /db/;
location /server/ {
proxy_cache one;
proxy_cache_valid 200 302 30m;
proxy_cache_valid 404 1m;
proxy_cache_min_uses 1;
proxy_cache_use_stale error timeout invalid_header
http_500 http_502 http_503 http_504;
access_log /var/log/nginx/db-proxy-access.log;
proxy_pass http://db;
}
}
То ко вот в кеш ничего не пишеться
ls -la /var/cache/nginx/
итого 8
drwx------ 2 nobody root 4096 Апр 30 16:49 .
drwxr-xr-x 10 root root 4096 Апр 30 16:49 ..
что я неправильно сделал?
запросы приходят формата
217.199.217.10 - - [30/Apr/2009:19:36:20 +0400] "GET
/server/?user=ae23297&host=site.ru&charset=utf-8&uri=/ HTTP/1.1" 200
30 "-" "Mozilla/4.0 (uCoz Web Services)"
2009/4/30 Igor Sysoev <is@xxxxxxxxxxxxx>:
> On Thu, Apr 30, 2009 at 03:49:53PM +0400, Sergey Shepelev wrote:
>
>> Нужно заменить этот proxy_pass на memcache_pass.
>> И отдельным скриптом каждые полчаса класть контент в мемкеш с без
>> времени протухания. Когда база упадёт, скрипт просто не обновит кеш,
>> nginx будет раздавать старые данные.
>>
>> Если все запросы вы перечислить не можете, то нужно вместо linkfeed-db
>> проксировать на свой микроскрипт, который
>> - каждые полчаса спрашивает linkfeed-db и кладёт результат в мемкеш
>> без времени протухания
>> - всё остальное время просто достаёт результат из мемкеша.
>
> Не нужно использвать memcached там, где вполне достаточно proxy_cache.
>
>> 2009/4/30 Shestera S Leonid <leonid@xxxxxxxxxxx>:
>> > Здравствуйте.
>> >
>> > Есть текущая самоя бональная схема
>> >
>> > location /server/ {
>> > proxy_pass http://linkfeed-db;
>> > }
>> >
>> > Хотелосьбы сюда вставить кеширование.
>> > Задачи
>> > 1. Если пришёл запрос то отдавать с беканда, и класть ответ в кеш на 30 мин
>> > 2. При повторном запросе в течении 30 мин отдавать из кеш
>> >
>> > Это реализовать не сложно.
>> >
>> > А вот как дальше.
>> > 3. Если упала база на основании которой гинерит беканд, то 30 мин он
>> > будет отдавать из кеша, а потом как я понял nginx удалит его
>> >
>> > Как реализовать чтобы nginx не удалял кеш, пока не будет корректно
>> > работать бекенд?
>> >
>> > Зарание спасибо за помощь.
>> >
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>
|