Тюнинг отдачи мелких картинок
Igor Sysoev
is at rambler-co.ru
Fri Oct 19 16:29:41 MSD 2007
On Fri, Oct 19, 2007 at 04:13:48PM +0400, Монашёв Михаил wrote:
> Здравствуйте.
>
> FreeBSD 7.0-PRERELEASE
>
> имеется следующая картина:
>
> last pid: 20046; load averages: 0.19, 0.20, 0.09 up 4+14:11:50 16:04:21
> 32 processes: 1 running, 31 sleeping
> CPU states: 0.5% user, 0.0% nice, 1.0% system, 2.3% interrupt, 96.2% idle
> Mem: 135M Active, 2936M Inact, 652M Wired, 184M Cache, 214M Buf, 9980K Free
> Swap: 4096M Total, 3764K Used, 4092M Free
>
> PID THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
> 15901 1 -8 0 45312K 38912K biord 0 2:44 0.00% nginx
> 15900 1 -8 0 45312K 39024K biord 0 2:43 0.00% nginx
> 15903 1 -8 0 45312K 38956K biord 1 2:43 0.00% nginx
> 15898 1 -8 0 45312K 38864K biord 0 2:41 0.00% nginx
> 15902 1 -8 0 45312K 38736K biord 0 2:41 0.00% nginx
> 15899 1 -8 0 45312K 38860K biord 1 2:40 0.00% nginx
>
> gstat показывает:
>
> L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
> 0 8 7 116 21.1 0 26 0.6 10.1| ad4
> 2 42 41 799 19.1 0 0 10.5 48.6| ad6
> 3 33 33 504 18.4 0 0 0.1 35.2| ad8
> 0 33 33 514 21.9 0 0 9.8 35.3| ad10
> 1 38 38 560 18.9 0 0 0.1 41.3| ad12
> 0 27 26 450 27.5 0 0 0.1 33.3| ad14
>
> Раздаётся очень много мелких картинок.
>
> Диски хоть и недогружены, но nginx-ы все в ожидании ввода-вывода.
А если увеличить число воркеров ?
> Я знаю, какие картинки запрашивают часто и хотел бы их положить в
> свободную память. Файлуха сама почему-то заняла только 214 метров
> (214M Buf в top-е). Как можно увеличить размер этого буфера?
> Простаивает 3 Гига памяти ( 2936M Inact в top-е) :-(
2936M Inact + 184M Cache - это и есть файлы.
214M Buf - это просто mapping. Жрёт ценную KVA, которую лучше отдать
mbuf clusters/etc. Я последнее время уменьшаю его до 64M:
/boot/loader.conf:
kern.maxbcache=64M
Ухудшения не заметил.
> Или куда эффективнее класть/обновлять/удалять картинки самому: в
> мемкашед или в файловую систему в памяти?
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list