C# 测试基于C套接字的多线程服务器

C# 测试基于C套接字的多线程服务器,c#,multithreading,testing,C#,Multithreading,Testing,我们正在开发一个使用套接字处理客户端通信的服务器应用程序,显然我们想测试服务器。有谁知道一个好的开源工具可以在多台客户机上使用多个线程来测试服务器吗?坦白地说,我会自己开发,我一直都是这么做的。开源应用程序将无法根据您的应用程序级协议发送数据包,我建议至少测试身份验证、一些基本的应用程序级指令等 我通常做的是,编写一个压力测试应用程序,生成x个数量。我通常在每台客户机服务器上测试大约1000个客户机,然后只使用一个计时器(例如25毫秒分辨率),在每次计时器回调时,我随机选择一个连接的客户机,随机

我们正在开发一个使用套接字处理客户端通信的服务器应用程序,显然我们想测试服务器。有谁知道一个好的开源工具可以在多台客户机上使用多个线程来测试服务器吗?

坦白地说,我会自己开发,我一直都是这么做的。开源应用程序将无法根据您的应用程序级协议发送数据包,我建议至少测试身份验证、一些基本的应用程序级指令等

我通常做的是,编写一个压力测试应用程序,生成x个数量。我通常在每台客户机服务器上测试大约1000个客户机,然后只使用一个计时器(例如25毫秒分辨率),在每次计时器回调时,我随机选择一个连接的客户机,随机执行任何操作、发送数据或断开客户机的连接。如果我收到其中一个客户端的断开连接通知,我会生成一个新的通知,将连接的总计数恢复到x。
然后我让整个过程运行几个小时…

在测试场景中,您提供的测试只是多线程服务器可能出现问题的一小部分。应同时测试所有可能的操作。但是我同意,如果可能的话,制作一个自己的负载测试系统,分散在多台机器上,这是一个合适的协议。多线程服务器的哪一部分你不能用这种压力测试方法进行测试?客户机可以连接、发送数据、接收数据或断开连接,所有这些都可以使用上述方法进行测试,如果需要,您可以在同一次运行中测试任何类型的应用程序级协议。