Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.7.45
Про 50 и 30 не понял.
Кеш чистится до 0 - всегда, причём иногда cache manager после очистки
начинает жрать 100% (после увеличения max_size это стало происходить
реже, но всё же случается)
В качестве теста я запускаю:
$ while :; do i=$(($i+1)); fetch -q "http://localhost:8080/blah?id=${i}"; done
и смотрю df. Цикл длится минуты 3 после чего происходит очистка кеша.
Кстати, на заметку, если убрать из конфига:
proxy_cache_valid 200 302 60m;
воркер на каждый запрос падает по 11 сигналу.
31 марта 2009 г. 13:56 пользователь Igor Sysoev <is@xxxxxxxxxxxxx> написал:
> On Tue, Mar 31, 2009 at 12:05:19PM +0400, Andrey Zonov wrote:
>
>> Падений нет.
>> proxy_cache в именованном location.
>>
>> server {
>> listen *:8080 default;
>> server_name localhost;
>>
>> #-- main
>> location / {
>> ...
>> }
>> error_page 404 = @proxy;
>> }
>>
>> #-- proxy
>> location @proxy {
>> access_log /place/nginx/log/access_proxy.log
>> stat;
>> proxy_cache zone;
>> proxy_pass http://p1;
>> }
>>
>> Увеличил значения key_zone и max_size
>> proxy_cache_path /place/nginx/cache levels=1:2
>> keys_zone=zone:10m inactive=60m max_size=30m;
>>
>> Очистка происходит _полностью_ при размере кеша 50-80Мб, при этом
>> manager перестал пожирать 100% после очистки.
>
> А до 50М кэш чистится до 30М ?
>
>> bzsize в логе так и не видно, может имелось ввиду bsize?
>>
>> [notice] 36093#0: http file cache: /place/nginx/cache 0.000M, bsize: 512
>
> Да, имелся ввиду bsize.
>
>> Диск форматился так: newfs -e 512 -f 512 /dev/md0
>>
>> Кстати, вопрос - cache manager запускает проверку на очистку раз в минуту?
>
> Не совсем. Кэш-менеджер запускается каждую или минуту, или когда подоходит
> время ближайшего, если оно ближе.
>
>> 31 марта 2009 г. 0:24 пользователь Igor Sysoev <is@xxxxxxxxxxxxx> написал:
>> > On Mon, Mar 30, 2009 at 09:39:07PM +0400, Andrey Zonov wrote:
>> >
>> >> ...
>> >> proxy_connect_timeout 3;
>> >> proxy_buffering on;
>> >> proxy_buffer_size 32k;
>> >> proxy_buffers 32 32k;
>> >> proxy_intercept_errors off;
>> >> proxy_next_upstream error timeout http_500;
>> >> proxy_store_access user:rw group:rw all:r;
>> >> proxy_temp_path /place/nginx/cache/spool 1 2;
>> >>
>> >> proxy_cache_path /place/nginx/cache levels=1:2
>> >> keys_zone=zone:1m inactive=60m max_size=5m;
>> >
>> > zone:1m - это на 8192 файла.
>> >
>> >> proxy_cache_min_uses 1;
>> >> proxy_cache_valid 200 302 60m;
>> >> proxy_cache_valid 404 10m;
>> >> ...
>> >
>> > А где proxy_cache ? Не на этом уровне ?
>> > Падений процессов нет ?
>> >
>> >> $ grep bzsize /place/nginx/log/error.log
>> >> $
>> >
>> > Нужно включить уровень notice.
>> >
>> >> ОС - FreeBSD 7.1-RELEASE-p2
>> >> nginx-devel-0.7.46 из портов, чуть подправленных до текущей версии.
>> >>
>> >> Igor Sysoev пишет:
>> >> >On Mon, Mar 30, 2009 at 07:48:47PM +0400, Andrey Zonov wrote:
>> >> >
>> >> >
>> >> >>Господа, кто попробовал в бою?
>> >> >>
>> >> >>Стандартно воспроизводится: запукаем nginx, он начианет складывать
>> >> >>файлы в кеш, доходит до отметки в max_size, чистит кеш _полностью_,
>> >> >>после чего cleaner manager начинает жрать 100% проца. Некотрое время
>> >> >>файлы в кеш не кладутся, потом всё сначала...
>> >> >>
>> >> >>Судя по ktrace, после очистки кеша происходит зацикливание вызова
>> >> >>gettimeofday
>> >> >>
>> >> >
>> >> >Какие параметры ..._cache_path и что показывает
>> >> >
>> >> >grep bzsize error.log
>> >> >
>> >> >?
>> >> >
>> >> >
>> >> >
>> >
>> > --
>> > Игорь Сысоев
>> > http://sysoev.ru
>> >
>> >
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>
|