ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Оптимизация по-памяти Fre eBSD + nginx под выдачу картин ок



Спасибо, всё получилось.


> find /path/to/images -exec cat {}>  /dev/null \;

Приятная штука :)


Съел всю память(ну даже без этой команды), оставил 420мб, больше не хочет. Вопрос теперь нужно ли уменьшать kern.maxvnodes что-бы не улетать в свап или можно оставить как есть?


> sysctl -a | grep vnode
kern.maxvnodes: 1500000
kern.minvnodes: 83200
vm.stats.vm.v_vnodepgsout: 0
vm.stats.vm.v_vnodepgsin: 19316
vm.stats.vm.v_vnodeout: 0
vm.stats.vm.v_vnodein: 2326
vfs.freevnodes: 83200
vfs.wantfreevnodes: 83200
vfs.numvnodes: 835387
debug.sizeof.vnode: 472


Mem: 218M Active, 12G Inact, 2487M Wired, 181M Cache, 1643M Buf, 420M Free



31.05.2011 18:39, Igor Sysoev пишет:
On Tue, May 31, 2011 at 05:56:30PM +0400, Vitaly Belenky wrote:
31.05.2011 17:05, Евгений Григоренко пишет:
sysctl kern.maxvnodes
Спасибо!


Начал кушать, но медленно.. 2мб в секунду. В целом то хорошо - наестся
рано или поздно. Но вот при ребуте долго будет разогреваться..
Что-нибудь можно сделать что-бы кэшировалось быстрее?

find /path/to/images -exec cat {}>  /dev/null \;

было
  >  sysctl kern.maxvnodes
kern.maxvnodes: 332801
  >  sysctl vfs.numvnodes
vfs.numvnodes: 291095


стало
  >  sysctl kern.maxvnodes
kern.maxvnodes: 1500000
  >  sysctl  vfs.numvnodes
vfs.numvnodes: 340071




Ещё вопрос по настройкам open_file_cache
      open_file_cache             max=10000;
      open_file_cache_valid       360s;
      open_file_cache_min_uses    2;
      open_file_cache_errors      on;


С такой конфигурацией, max больше 10000 поставить не получается. Через
10-15 минут работы в логах nginx получаю "Too many open files". nginx
запущен с конфигурацией worker_processes  4;

      kern.maxfiles: 1600000
      kern.maxfilesperproc: 1500000


  >  sysctl -a | grep "kern.openfiles"
kern.openfiles: 17595

Если nginx запускается на старте, то kern.maxfilesperproc небольшой
и установка большого значения в /etc/sysctl.conf не помогает.
Я в стартовом скрипте nginx'а ставлю

ulimit -n `sysctl -n kern.maxfilesperproc`

Ещё вариант:
worker_rlimit_nofile  20000;




--
Best regards, Vitaly Belenky
tel. : 8-909-955-67-20
email: heman777@xxxxxxxxx

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.