Re: Вопрос по производительности.
BieZax
nginx-forum at nginx.us
Wed Jun 17 14:59:59 UTC 2015
Поэксперементировал еще немного, но пока не получается понять, где
затык. Конфиг nginx:
user www www;
worker_processes auto;
worker_rlimit_nofile 200000;
error_log /var/log/nginx/nginx-error_log warn;
events {
worker_connections 8192;
use kqueue;
multi_accept on;
}
http {
access_log off;
include mime.types;
include win-utf;
default_type application/octet-stream;
log_format inc
'$host;$remote_addr;$status;$upstream_response_time;$upstream_addr;$upstream_status;$http_x_forwarded_for;$time_local;$request;$http_user_agent';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
sendfile_max_chunk 32m;
reset_timedout_connection on;
client_header_buffer_size 16k;
large_client_header_buffers 4 8k;
client_max_body_size 5m;
client_body_buffer_size 128k;
variables_hash_max_size 1024;
server_names_hash_bucket_size 256;
keepalive_timeout 15;
client_body_timeout 10s;
client_header_timeout 10s;
lingering_time 10s;
send_timeout 10s;
#gzip
gzip on;
gzip_min_length 2048;
gzip_comp_level 4;
gzip_http_version 1.0;
gzip_proxied any;
gzip_buffers 32 64k;
gzip_types text/plain text/xml text/css text/javascript application/xml
application/x-javascript application/atom+xml application/xaml+xml
application/rtf application/json;
gzip_vary off;
open_file_cache max=30000 inactive=60s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
#Proxy
proxy_buffers 512 8k;
proxy_buffer_size 64k;
output_buffers 32 512k;
proxy_send_timeout 180;
proxy_read_timeout 180;
}
Sysctl:
security.bsd.see_other_uids=0
kern.ipc.maxsockets=204800
kern.ipc.nmbclusters=262144
kern.ipc.shm_use_phys=1
kern.ipc.somaxconn=4096
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.maxvnodes=256000
kern.random.sys.harvest.ethernet=0
kern.random.sys.harvest.interrupt=0
kern.sync_on_panic=1
net.inet.icmp.bmcastecho=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.maskrepl=0
net.inet.ip.intr_queue_maxlen=256
net.inet.ip.maxfragpackets=1024
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.randomized=0
net.inet.ip.redirect=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.tcp.blackhole=2
net.inet.tcp.drop_synfin=1
net.inet.tcp.fast_finwait2_recycle=1
net.inet.tcp.finwait2_timeout=3000
net.inet.tcp.hostcache.expire=1200
net.inet.tcp.keepinit=5000
net.inet.tcp.maxtcptw=65536
net.inet.tcp.msl=5000
net.inet.tcp.recvbuf_auto=0
net.inet.tcp.recvspace=65536
net.inet.tcp.sendbuf_auto=0
net.inet.tcp.sendspace=131072
net.inet.tcp.syncookies=1
net.inet.tcp.tso=0
net.inet.udp.blackhole=1
net.inet.udp.recvspace=32768
net.isr.direct=1
net.route.netisr_maxqlen=1024
vfs.ufs.dirhash_maxmem=100000000
loader.conf:
kern.ipc.nmbclusters=0
net.inet.tcp.reass.maxsegments=2048
vm.pmap.shpgperproc=400
hw.em.rxd=4096
hw.em.txd=4096
hw.em.rx_int_delay=100
hw.em.tx_int_delay=100
hw.em.rx_abs_int_delay=1000
hw.em.tx_abs_int_delay=1000
dev.em.rx_processing_limit=-1
net.inet.tcp.hostcache.hashsize=4096
net.inet.tcp.hostcache.bucketlimit=100
net.inet.tcp.hostcache.cachelimit=65536
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.syncache.cachelimit=65536
net.inet.tcp.tcbhashsize=4096
net.isr.defaultqlimit=4096
net.isr.bindthreads=1
net.isr.maxthreads=8
net.link.ifqmaxlen=1024
Сократил размер файла до 1 Кб
LA ~5 при 16 ядрах
IO в порядке, загрузка сети около 130 мегабит/c
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259544,259693#msg-259693
Подробная информация о списке рассылки nginx-ru