Проконсультируйте по отдаче больших файлов.

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