我正在尝试以每秒 10K 的连接对一台简单的服务器进行压力测试;这是非常虚拟的服务器,所以这应该是可能的。
当我运行 gatling 时,我能得到的最好结果是 7K,在 8K 时我们开始收到连接错误。这又是一个简单的测试,加速到 8k 并保持流量 2 分钟。
Request 'Home' failed: java.net.ConnectException: Cannot assign requested address
我知道这个错误与调整我们的盒子(打开文件等)有关。我尝试了一些命令,但这并没有太大帮助。
无论如何,当我用 httperf 运行一个简单的突发测试时,我很容易得到 10K 而没有任何错误。命令行:
httperf --uri / --server cloud-10-0-20-35 --port 8080 --num-conns=500000 --rate 10000
我在 Centos 6.x 虚拟机上。
为什么 httperf 的工作方式不同?我知道它是一个原生工具,但为什么会有这么大的差异?有任何想法吗?我知道这与 Java 基础设施有关,然后与 Gatling 本身有关——这是一个很棒的工具。