您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 性能测试 > 正文

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

发表于:2017-01-09 作者:网络转载 来源:

  提问:游戏服务器的压力测试应该如何进行?自己写机器人还是 LR 等工具?
  我自己测试的方式如下:
  1)先测Unit,这个没啥好说的,软件工程那一套,基本保障覆盖。
  2)单接口压力测试。这里是用fake数据使用自己开发的压测脚本进行测试,基本上一个接口要测试5分钟的样子,期间保障两台机器同时并发300个进程不间断发包。
  3)机器人测试。这个稍微麻烦点……总之就是在跑机器人脚本,模拟一个玩家可能进行的操作,操作是随机的(除非某些关联操作,会写在一起),然后搞起10W+个机器人跑啊跑啊一跑就是两三天……
  4)采集线上数据。任何测试都模拟不了线上……无论如何线上都可能出现BUG的,所以……呵呵呵
  会员周晨宇回答:
  对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。
  要得到可支撑的"最大同时在线人数",主要做好2件事:
  1、设计你的类现网压力模型
  在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a. 各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。
  对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。
  对于b,同样在内测阶段收集玩家平均操作频率。
  此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。
  2、用压测工具构造出符合压力模型的压力
  这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点-同时在线人数。