mqant压力测试(单机至少支持5000桌子同时玩)
发布于 6 个月前 作者 liangdas 651 次浏览 来自 分享

最近化时间对mqant进行了一系列的压力测试,以往的测试都只是停留在简单的接口压测上,并没有真正结合实际业务来测试,而这次正好使用猜数字这个游戏来测试了一把,测试结果如下

测试环境

MacBook Pro (13-inch, Mid 2012) 2.5 GHz Intel Core i5 16 GB 1600 MHz DDR3 ssd

测试进程

mqantserver 后端服务器进程 xaba_task 机器人进程

要进行大并发的压力测试,需要修改电脑系统配置以及paho.mqtt.golang库的部分代码,否则xaba_task会耗尽系统资源 修改方法见README.md

参数

xaba_task 机器人数量设置为 10000 ,xaba_task进程启动后将逐步增加连接数,直达10000人 mqantserver 的table人数设置为2人,因此10000个链接会创建5000张桌子 table内玩家的初始金币应该设置高一些,以免金币耗完被踢下线

结果

mqantserver能完整的接收10000人链接并同时进行游戏

游戏源码跟压测源码都在mqantserver中,有需要的同学可以自己去做测试 mqantserver

mqantserver内存消耗

0A1A85DE7D47A432FC84E3EA90B77CB7.jpg

mqantserver cpu消耗

4B0202BA15C57C817DCF43D68BE11924.jpg

xaba_task 内存消耗

79C486155E4757B315E16107DECC0906.jpg

结论

从数据来看mqantserver对系统资源消耗不高,承载量还有很大的提升空间, xaba_task进程虽然经过修改但任然对系统资源消耗巨大,可能是paho.mqtt.golang客户端库并没有考虑到大规模连接的情况,未做这方面的优化。

mqant对cpu资源占用不高

目前来看mqant开5000张桌子的情况下,CPU消耗在70%(单核)左右,性能尚可,主要可能是猜数字游戏的桌子设计避免了资源锁的关系,每一个桌子消耗的资源可控,避免了桌子间和桌子内各种资源的相互竞争。

1 回复

非常棒 加油

回到顶部