对Apache Mina总带宽进行基准测试

时间:2010-11-24 20:34:51

标签: java networking tcp bandwidth apache-mina

我正在开发一个相对快节奏的游戏(Flash / Apache Mina Server后端),我很难获得当前设置所使用的带宽类型的准确基准。

我的问题是:如何获得测试所需带宽的准确基准?我现在正在做的事情不考虑任何开销?

关于我正在发送/接收的消息的方法

[out/in]Bandwidth+= message.toString().getBytes().length;

然后我每250毫秒打印一次当前值(因为这是当前“世界”更新的频率)。

随着10个“怪物”随机移动,1个玩家随机移动我得到这个输出..(这里1秒窗口)

In bandwidth: 1647, Outgoing: 35378
In bandwidth: 1658, Outgoing: 35585
In bandwidth: 1669, Outgoing: 35792
In bandwidth: 1680, Outgoing: 35999

因此严格按照传递的消息(传出)的大小进行操作,每个人屏幕上每个不断移动的项目每秒大约621字节/秒或(621/10)每秒62.1字节。这似乎有点低,一个好的高速连接可以在这个“速率”下每秒处理1000多个对象更新没问题。

1 个答案:

答案 0 :(得分:0)

这里肯定闻到了腥味。根据他们提供的性能测试:here mina在~10个连接上每秒能够提供20K + 405字节的请求 - 比您所看到的要多得多。

我的猜测是,这里出现了一些导致延迟的时间问题。我会寻求数据包跟踪应用程序(如wireshark)的帮助,看看你的代码中的观察是否与原始网络数据相关。如果可能的话,我还会尝试使用更多数据“充斥”服务器端 - 这可能会提供一些洞察问题所在。

我希望这有帮助,祝你好运。