Re: Оптимизация по-памяти FreeBSD + nginx под выдачу картинок
Vitaly Belenky
heman777 на yandex.ru
Вт Май 31 17:56:30 MSD 2011
31.05.2011 17:05, Евгений Григоренко пишет:
> sysctl kern.maxvnodes
Спасибо!
Начал кушать, но медленно.. 2мб в секунду. В целом то хорошо - наестся
рано или поздно. Но вот при ребуте долго будет разогреваться..
Что-нибудь можно сделать что-бы кэшировалось быстрее?
было
> 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
Ставлю задачей снизить физический read до минимума.
Вопросы:
Нужно ли мне open_file_cache.max больше 10000?
Как соотносить open_file_cache и kern.maxfilesperproc, kern.maxfiles?
Я думал что нужно open_file_cache.max * worker_processes, однако при
значении в 15000 * 4 = 60000 не влезаю в ограничения.
>
> 31 мая 2011 г. 19:56 пользователь Vitaly Belenky <heman777 на yandex.ru
> <mailto:heman777 на yandex.ru>> написал:
>
> Имеем веб-проект с большой посещаемостью. На проекте наличиствует
> большое кол-во картинок.
>
> Вопрос следующий. Есть железка на SATA, хочется оптимизировать
> систему так, что-бы она жрала всю доступную оперативную память под
> файловый кэшь и минимально обращалась к диску. Картинки меняются
> редко, вернее вообще не меняются. Запись происходит крайне редко.
>
> Описание машины
>
> CPU: Intel(R) Xeon(R) CPU X3450 @ 2.67GHz (2666.65-MHz
> K8-class CPU)
> Origin = "GenuineIntel" Id = 0x106e5 Family = 6 Model = 1e
> Stepping = 5
>
> real memory = 17179869184 (16384 MB)
> avail memory = 16470654976 (15707 MB)
>
> FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
> FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads
>
>
> ad4: 953869MB <Seagate ST31000524NS SN11> at ata2-master UDMA100
> SATA 3Gb/s
>
> Настройки системы
>
> Увеличен maxfiles и maxfilesperproc
>
> > sysctl -a | grep files
>
> kern.maxfiles: 1600000
> kern.maxfilesperproc: 1500000
>
> Патиция с картинка смонтирована с noatime
> > cat /etc/fstab
>
> # Device Mountpoint FStype Options Dump Pass#
> /dev/ad4s1b none swap sw 0 0
> /dev/ad4s1a / ufs rw 1 1
> /dev/ad4s1e /usr ufs rw,noatime 2 2
> /dev/ad4s1d /var ufs rw 2 2
> /dev/cd0 /cdrom cd9660 ro,noauto 0 0
>
>
> В nginx включено кэширование дескрипторов
> open_file_cache max=10000;
> open_file_cache_valid 360s;
> open_file_cache_min_uses 2;
> open_file_cache_errors on;
>
> access логи выключены
>
>
> Текущие показатели системы
>
> > sysctl -a | grep "kern.openfiles"
>
> kern.openfiles: 40623
>
> > iostat -dx 1
>
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 55.9 2.6 754.6 69.9 0 12.9 38
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 33.0 0.0 401.5 0.0 0 7.7 25
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 51.9 0.0 452.9 0.0 0 6.5 34
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 64.8 5.0 1003.0 57.8 1 5.8 40
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 34.9 0.0 400.7 0.0 1 7.5 26
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 49.8 0.0 880.7 0.0 0 7.0 33
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 30.9 1.0 577.9 2.0 0 6.9 21
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 48.9 0.0 564.3 0.0 0 8.6 37
> extended device statistics
> device r/s w/s kr/s kw/s wait svc_t %b
> ad4 25.9 0.0 404.8 0.0 0 5.7 15
>
>
> last pid: 19320; load averages: 0.16, 0.21, 0.18
> up 0+02:25:47 15:23:55
> 163 processes: 2 running, 161 sleeping
> CPU: 0.1% user, 0.0% nice, 1.0% system, 0.0% interrupt, 98.9% idle
> Mem: 139M Active, 4209M Inact, 1623M Wired, 216K Cache, 1285M Buf,
> 9835M Free
> Swap: 8192M Total, 8192M Free
>
>
> Это не очень долгий uptime, но лучшее что я видел это 6000M Inact.
>
> Как заставить сожрать остальную память?
>
>
>
> --
> Best regards, Vitaly Belenky
> tel. : 8-909-955-67-20
> email: heman777 на yandex.ru <mailto:heman777 на yandex.ru>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> http://nginx.org/mailman/listinfo/nginx-ru
>
>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
--
Best regards, Vitaly Belenky
tel. : 8-909-955-67-20
email: heman777 на yandex.ru
Подробная информация о списке рассылки nginx-ru