我最近创建了一个回合制游戏服务器,可以接受数十万个并发客户端连接(长话短说 - Linux 上的 epoll)。通信基于简单、定制、基于线路的协议。该服务器允许客户端连接、寻找游戏比赛中的其他玩家、玩所述游戏(发送动作、聊天消息等),并在游戏结束时收到通知。
我现在想做的是通过模拟客户端连接来测试服务器。我希望能够支持数十万个同时连接,所以这个测试对我来说非常重要。你们自己测试用什么?
我现在正在研究的一些东西是:pexpect(用于功能测试的 python Expect lib)和用于负载测试的 tsung。
我希望能够从我的笔记本电脑进行测试,因为我没有可供连接的客户端计算机集群。也许我需要使用 ip 别名或类似的方法来生成数百个或数千个出站套接字(据我所知,每个接口的限制为 65K)。
不管怎样,在我看来,我需要一些相当定制的东西,但我想在走这条路之前我应该先问一下。
Thanks!
我用过JMeter http://jakarta.apache.org/jmeter/在使用自定义协议(基于 Java RMI 的 API)对银行应用程序进行自动回归/负载测试之前,使用自定义采样器和断言组件。
但它并不完全是轻量级的,您最终将在 JMeter 组件中进行大量额外的编码来支持您的自定义协议。我猜在这种情况下您必须编写自己的基于 Java 套接字的客户端。
但它为您定义测试组件的逻辑提供了很大的灵活性,因此您可以在里面做任何您想做的事情。它的扩展性也很好,并且允许您在测试中的系统上抛出大量并发连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)