5

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

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

我现在正在研究的一些东西是:pexpect(python 期望 lib 用于功能测试)和 tsung 用于负载测试。

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

无论如何,在我看来,我需要一些相当定制的东西,但我想在我走这条路之前我会问一下。

谢谢!

4

3 回答 3

1

在使用自定义协议(基于 Java RMI 的 API)对银行应用程序进行自动回归/负载测试之前,我已经将JMeter与自定义采样器和断言组件一起使用。

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

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

于 2009-01-12T04:47:51.363 回答
1

我决定最好从“自己动手”开始。

于 2009-02-13T19:11:30.357 回答
0

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

于 2009-01-12T05:44:58.113 回答