тормозня при включённом кэшировании
Igor Sysoev
is at rambler-co.ru
Mon Nov 9 13:28:23 MSK 2009
On Sun, Nov 08, 2009 at 10:13:39AM +0300, Igor Sysoev wrote:
> On Sun, Nov 08, 2009 at 04:21:21AM +0300, Maxim Dounin wrote:
>
> > Hello!
> >
> > On Sun, Nov 08, 2009 at 01:43:13AM +0300, Михаил Монашёв wrote:
> >
> > > Здравствуйте.
> > >
> > > При включении кэширования вот такая картина:
> > >
> > > last pid: 29642; load averages: 459.45, 178.48, 75.93 up 124+06:59:13 01:28:38
> > > 757 processes: 680 running, 77 sleeping
> >
> > [...]
> >
> > > Если закоментарить строчки
> > > proxy_cache_path /opt1/favicons levels=1:1 keys_zone=favicons:1m max_size=1G;
> > >
> > > proxy_cache favicons;
> > > proxy_cache_key $proxy_host;
> > > proxy_temp_path /opt1/favicons/proxy_tmp_path;
> > >
> > > то всё работает нормально. кусок конфига такой:
> >
> > [...]
> >
> > Есть мнение что это называется lock contention, и с таким
> > количеством процессов счастья не будет.
> >
> > Но возможно ты просто недодал памяти под кеш (1m это скажем так не
> > очень много, посмотри в error_log на предмет строчек
> > "ngx_slab_alloc() failed: no memory" на уровне crit.
>
> Я думаю, скорее второе, чем первое.
Как оказалось, 500 воркеров на 8 процессорах действительно попадают в
lock contention: sched_yeild() для этого недостаточно.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list