我使用 Netty 构建了一个简单的 TCP 服务器,我想用 JMeter 对其进行基准测试。我正在使用 JMeter TCP 采样器,使用 BinaryTCPClientImpl 类名来发送字节。我检查了“无延迟”和“重用连接”。我假设这些是针对 SO_NODELAY 和 SO_REUSEADDR 的。我正在运行 75 个线程,每个线程执行 1000 个 TCP 请求。我一直看到大约 11% 的请求失败:
500 java.net.SocketException:软件导致连接中止:套接字写入错误
如果我取消选中“重用连接”,那么所有 75,000 个请求都会成功,不会出现一个错误,但吞吐量仅为原来的 33% 左右。
我需要对我的 Netty 服务器做些什么来防止这些错误吗?