тормозня при включённом кэшировании

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