我根据你的建议开发了一个TCP服务器:C#高性能TCP服务器,它是基于异步模式实现的。我还开发了一个压力测试应用程序来测试其性能。我的服务器可以从压力测试应用程序中并行获取数千个连接,并解析数据并保存到我的数据库中。
当我对服务器进行压力测试时,有时会出现“System.Net.Sockets.SocketException”错误:“无法建立连接,因为目标计算机积极拒绝”。因此,我必须重新连接。如果我使用5000个并发连接进行测试,则由于此问题,我必须尝试重新连接10-20%的连接;如果我使用10K个并发连接进行测试,则可能达到30-40%。有时甚至可能超过50%。看起来它无法处理连接接受:我从我的压力测试中尽可能地创建新连接 - 大约每秒120个连接。
那么,什么会导致这种异常?如何处理它?在服务器端实现中该怎么做才能避免这个问题?如何调整TCP连接接受?谢谢!
当我对服务器进行压力测试时,有时会出现“System.Net.Sockets.SocketException”错误:“无法建立连接,因为目标计算机积极拒绝”。因此,我必须重新连接。如果我使用5000个并发连接进行测试,则由于此问题,我必须尝试重新连接10-20%的连接;如果我使用10K个并发连接进行测试,则可能达到30-40%。有时甚至可能超过50%。看起来它无法处理连接接受:我从我的压力测试中尽可能地创建新连接 - 大约每秒120个连接。
那么,什么会导致这种异常?如何处理它?在服务器端实现中该怎么做才能避免这个问题?如何调整TCP连接接受?谢谢!