目前我正在为nginx设置接受C1M,我在我的虚拟BOX与Centos 7.0和RAM 10G。
这里是我的sysctl.confconfiguration。
fs.file-max = 9999999 fs.nr_open = 9999999 net.core.netdev_max_backlog = 4096 net.core.rmem_max = 16777216 net.core.somaxconn = 3240000 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 16384 net.ipv4.ip_forward = 0 net.ipv4.ip_local_port_range = 1 65535 net.ipv4.tcp_rmem = 8192 873800 8388608 net.ipv4.tcp_wmem = 4096 655360 8388608 net.ipv4.tcp_mem = 8388608 8388608 8388608 net.ipv4.tcp_fin_timeout = 7 net.ipv4.tcp_keepalive_time = 30 net.ipv4.tcp_max_syn_backlog = 3240000 net.ipv4.tcp_max_tw_buckets = 6000000 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_slow_start_after_idle = 0 vm.min_free_kbytes = 65536 vm.overcommit_memory = 2 net.nf_conntrack_max = 237680 net.netfilter.nf_conntrack_max = 237680 net.ipv4.ip_conntrack_max = 131072 net.ipv4.netfilter.ip_conntrack_max = 1048576 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
在nginx.conf中,我将worker_connection设置为1000000,worker_process 4,worker_rlimit_nofile 1000000
我使用ulimit -n 2000000来设置我的打开文件,但是我只能获得大约65K的活动连接,就像这样。
Active connections: 65318 server accepts handled requests 768234 768234 1549023 Reading: 0 Writing: 61245 Waiting: 4073 I try with wrk -t3 -c67000 -d40s http://my-ip:80
我有没有错过configuration? 谢谢您的回复。
Bayu Permadi,
活动连接的数量受可用套接字数量的限制。
套接字是clien_ip + client_port + server_port + server_ip 。 最大端口号大约是65k,所以增加连接数量的唯一方法就是使用额外的IP。
例如使用虚拟接口 。 或者将虚拟适配器添加到virtualbox机器。
无论如何,为了获得良好的性能testing,您应该使用分布式客户端(负载生成器),因为使用单个或多个客户端的testing往往会成为客户端的性能testing,
你是从多台机器还是从一台机器运行你的基准testing工具? 看来你是从一个单一的运行,所以本地端口范围是罪魁祸首。