我正在使用Node.Js v0.10.2并在一个循环中处理大约 500 个链接。http请求卡住了,我一直可以看到带宽下降。
在我的 100mbit 专用服务器上,我只有~4500KB/s 的吞吐量。在我的 64 mbit 连接的家用计算机上只有 1500KB/s 的吞吐量。我slurm
用于吞吐量测量。
我在16gb ram上运行带有i7 2600的debian 6。
我还尝试了不同的代理配置并尝试了 Connection: Close / Keep-Alive,但仍然没有任何改进。
我真的不知道它缺少什么......
节点服务器.js
/etc/sysctl.conf:
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.ipv4.tcp_rmem = 4096 16384 33554432
net.ipv4.tcp_wmem = 4096 16384 33554432
net.ipv4.tcp_mem = 786432 1048576 26777216
net.ipv4.tcp_max_tw_buckets = 360000
net.core.netdev_max_backlog = 2500
vm.min_free_kbytes = 65536
vm.swappiness = 0
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.core.somaxconn = 35000
net.core.netdev_max_backlog = 32000
net.ipv4.tcp_max_syn_backlog = 64000
fs.file-max = 1000000
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 127906
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 99999
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 127906
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited