游戏服务器的压力测试应该如何进行?

2017-09-01 10:40:01 大一互联 93

timg.jpg


对于游戏服务器的压力测试应该如何进行?写机器人还是用LR等工具?

参考的测试方式如下:

(1)先测Unit,这个没啥好说的,软件工程那一套,基本保障覆盖。

(2)单接口压力测试。这里是用fake数据使用自己开发的压测脚本进行测试,基本上一个接口要测试5分钟的样子,期间保障两台机器同时并发300个进程不间断发包。

(3)机器人测试,这个稍微麻烦点……总之就是在跑机器人脚本,模拟一个玩家可能进行的操作,操作是随机的(除非某些关联操作,会写在一起),然后搞起10W+个机器人跑啊跑啊一跑就是两三天……

(4)采集线上数据。任何测试都模拟不了线上……无论如何线上都可能出现BUG的。

 timg (1)_看图王.jpg

对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。

 

要得到可支撑的"最大同时在线人数",主要做好2件事:

u=2581842753,2382454200&fm=26&gp=0_看图王.jpg

 

1、设计你的类现网压力模型

在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a. 各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。

对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。

对于b,同样在内测阶段收集玩家平均操作频率。

此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。

 

2、用压测工具构造出符合压力模型的压力

这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点-同时在线人数。




文章转载请注明www.bigone.com.cn  广东idc 大一互联
我们专业提供广州各大运营商机房服务器托管租赁等IDC机房业务!
您可以选择电信/双线/BGP多线/等多家运营商线路运行您的业务!
文章如有侵权,请及时联系我们删除!
销售电话:020-83560263    销售手机:
13760852008