Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Отдача больших файлов
On 01/14/14 01:17, Anton Sayetsky wrote:
Собственно, планируется сабж в ближайшем будущем.
Размеры файлов - от 1 до 8-10 ГиБ, 400-500 сессий до 2-3 коннектов на
сессию, траф - 4-5 ГБит/сек. Последние два параметра в перспективе
могут вырасти ориентировочно до двух раз. Ось - FreeBSD, ФС - ZFS.
Есть ли общие рекомендации настройки nginx для подобных конфигураций?
Размер/кол-во буферов, метод отдачи файлов и т.п.
1. Собрать ядро с увеличенным до 1 Мб MAXPHYS
options MAXPHYS=(1024*1024)
2. Подобрать оптимальное значение для
sysct kern.ipc.sendfile.readahead
измеряется в блоках по MAXBSIZE (по умолчанию 64к)
больше MAXPHYS/MAXBSIZE ставить смысла нет.
т. е. при MAXPHYS 1 Мб можно попробовать kern.ipc.sendfile.readahead=16
Ну и собственно в конфиге nginx - sendfile on;
3. Про тюнинг ZFS написано много, в первую стоит посмотреть на размер ARC - по
умолчанию ZFS пытается съесть почти всю память и запущенным приложениям остаётся
мало, иногда аппетиты ZFS приходится ограничивать:
vfs.zfs.arc_max="16G"
vfs.zfs.prefetch_disable="1" # это стоит проверять на тестах, но я несколько раз
сталкивался с тем, что отключение ZFS prefetch ускоряет работу.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|