Проконсультируйте по отдаче больших файлов.
Ncs
nginx-forum at nginx.us
Sat Nov 16 17:08:09 UTC 2013
Зачада такая: Имеется мощный сервер (FreeBsd 9.2, 8 ядер проц, 32гб памяти,
24х2тб винты, порт 1гбит/с), необходимо раздавать с него видеофайлы размером
50-500МБ
Проблема в том, что не получается заставить nginx отдавать больше 500Мбит/с,
после рестарта он какое-то время отдает под 800, но потом скорость отдачи
проседает и всё.
Конфиг nginx
worker_processes auto;
timer_resolution 100ms;
worker_rlimit_nofile 204800;
worker_priority -5;
events {
use kqueue;
worker_connections 8192;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile off;
aio on;
etag off;
access_log off;
log_not_found off;
directio off;
expires max;
proxy_buffering off;
server {..........}
}
Настройки /etc/sysctl.conf
kern.ipc.nmbjumbop=192000
kern.ipc.nmbclusters=400000
kern.ipc.maxsockbuf=83886080
kern.ipc.maxsockets=204800
net.inet.tcp.maxtcptw=163840
kern.maxfiles=204800
kern.ipc.somaxconn=4096
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
sysctl kern.ipc.shmall=67108864
kern.ipc.shmall=67108864
net.inet.tcp.rfc3465=0
net.route.netisr_maxqlen=4096
kern.ipc.maxsockbuf=83886080
net.inet.tcp.recvbuf_inc=524288
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.sendbuf_inc=524288
net.inet.tcp.sendbuf_max=16777216
net.inet.tcp.sendspace=65536
Винчестеры не заняты.
Есть какие-нибудь идеи?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,244740,244740#msg-244740
Подробная информация о списке рассылки nginx-ru