Performance 您使用什么自定义协议测试(功能/负载/压力)您的网络服务?

Performance 您使用什么自定义协议测试(功能/负载/压力)您的网络服务?,performance,testing,networking,network-programming,Performance,Testing,Networking,Network Programming,我最近创建了一个基于回合的游戏服务器,可以同时接受10到数千个客户端连接(Linux上的长话短说epoll)。通信基于简单、自定义、基于线路的协议。该服务器允许客户端连接,在游戏比赛中寻找其他玩家,玩上述游戏(发送移动、聊天信息等),并在游戏结束时收到通知 我现在要做的是通过模拟客户端连接来测试服务器。我希望支持10万个同时连接,所以这个测试对我来说非常重要。你们自己测试用的是什么 我现在正在研究的一些东西是:pexpect(用于功能测试的pythonexpect库)和用于负载测试的tsung

我最近创建了一个基于回合的游戏服务器,可以同时接受10到数千个客户端连接(Linux上的长话短说epoll)。通信基于简单、自定义、基于线路的协议。该服务器允许客户端连接,在游戏比赛中寻找其他玩家,玩上述游戏(发送移动、聊天信息等),并在游戏结束时收到通知

我现在要做的是通过模拟客户端连接来测试服务器。我希望支持10万个同时连接,所以这个测试对我来说非常重要。你们自己测试用的是什么

我现在正在研究的一些东西是:pexpect(用于功能测试的pythonexpect库)和用于负载测试的tsung

我希望能够从我的笔记本电脑上进行测试,因为我没有可以连接的客户机集群。也许我需要使用ip别名或类似的方法来生成100到数千个出站套接字(每个接口AFAIK的限制是65K)

不管怎样,在我看来,我需要一些相当定制的东西,但我想在我走这条路之前我会问一下

谢谢

我以前使用过自定义采样器和断言组件,使用自定义协议(基于Java RMI的API)对银行应用程序进行自动回归/负载测试

不过,它并不完全是轻量级的,您最终会在JMeter组件中进行大量额外的编码,以支持您的自定义协议。我猜在这种情况下,您必须编写自己的基于Java套接字的客户端


但是它在定义测试组件的逻辑方面给了您很大的灵活性,因此您可以在其中做任何您想做的事情。它的扩展性也很好,允许您在被测系统上抛出大量并发连接。

我们使用的是HP LoadRunner,它是最先进的负载测试产品。(但也很昂贵)。它可以模拟对服务器的数千个请求,并提供响应时间等指标。

我决定最好从“自己滚”开始