我正在尝试在 ubuntu 64 上的 ec2 c1.xlarge 机器上加载测试一个简单的 node.js 和 cyclone hello world 应用程序。它有 8 个内核。我使用 nginx 作为负载均衡器,主管为每个核心启动一个进程。当我在机器上运行以下命令时,对于 node.js,我的 qps 约为 6500。
ab -n 5000 -c 25 http://127.0.0.1
当我从远程机器运行 ab 时,即使是在同一区域中的机器,qps 也会下降到大约 175 qps。如果我从我的开发机器上运行,情况会更糟。
那么,我错过了什么?是否有我必须调整的参数以允许来自远程机器的更多连接?我觉得我错过了什么。我必须在 sysctl 配置文件中调优吗?它是一台相当原始的机器,但在启动时,以下是我调整的 nobs。
sysctl -w fs.file-max=128000;
sysctl -w net.ipv4.tcp_keepalive_time=300;
sysctl -w net.core.somaxconn=250000;
sysctl -w net.ipv4.tcp_max_syn_backlog=2500;
sysctl -w net.core.netdev_max_backlog=30000;
sysctl -p