The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Оптимизация по-памяти FreeBSD + nginx под выдачу картинок"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Оптимизация и тюнинг / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Оптимизация по-памяти FreeBSD + nginx под выдачу картинок"  +/
Сообщение от heman email(ok) on 31-Май-11, 15:25 
Имеем веб-проект с большой посещаемостью. На проекте наличиствует большое кол-во картинок.

Вопрос следующий. Есть железка на 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.

Как заставить сожрать остальную память?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Оптимизация по-памяти FreeBSD + nginx под выдачу картинок"  +/
Сообщение от parad (??) on 31-Май-11, 17:15 
он сам сожрет, когда это ему понадобится. сколько весит контент, какая фс?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Оптимизация по-памяти FreeBSD + nginx под выдачу картинок"  +/
Сообщение от heman email(ok) on 31-Май-11, 17:58 
> он сам сожрет, когда это ему понадобится. сколько весит контент, какая фс?

Я привёл выше fstab - ufs.

Контент весит 57 Gb.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Оптимизация по-памяти FreeBSD + nginx под выдачу картинок"  +/
Сообщение от heman email(ok) on 17-Июн-11, 23:10 
Что-бы FreeBSD сожрал всю память, нужно увеличть значение kern.maxvnodes.

Что-бы не было проблем с nginx open_file_cache, нужно задать worker_rlimit_nofile или добавить в стартовый скрипт nginx ulimit -n `sysctl -n kern.maxfilesperproc`

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру