0

我正在构建一个Windows服务,它监听TCP上的连接,并且一旦建立连接,就会发送稳定的数据流。这非常简单...一旦发出初始请求,通信就是单向的(当然是在应用层)。网络服务器应用程序的负载测试策略

有什么好的方法来测试这种负载很重的情况,比如多达3000个同时连接?有这种标准的工具吗,还是应该自己写?

回答

1

我感觉你已经编写了你自己的协议,所以我认为你就像坚持实现你自己的负载测试客户端。

为这样的事情写一个负载测试客户端并不难。我建议的唯一的事情就是真正考虑你是要测试一台物理机器还是多台机器的连接。我并不是说你应该从3000台物理机器上进行测试,但是像10台或20台机器这样的设备会是一个好主意。否则,客户机很可能会成为瓶颈。

此外,要真正测试服务器,您必须具有良好的负载测试实施。如果您看到负载测试仪的处理器使用率保持在100%,那么您并未测试服务器;你正在测试客户端。

+0

感谢您的建议。我想我可能会走这条路。也许当我完成后,我将构建一个通用测试实用程序并将其发布给其他人使用。可以将预定义的数据块发送到服务器并接受响应的东西。我对自己的优化能力并不那么自信,这就是为什么我希望标准工具已经存在,但检查测试仪是否过载的情况很简单。再次感谢。 – Brad 2010-11-16 18:38:30

+0

那么,我可以给的最好的建议是去一个异步实现('BeginRead' /'BeginWrite')而不是多个进程。这是最重要的一点,并且会增加客户端的吞吐量。 – 2010-11-16 18:49:56