压力测试

本文介绍了游戏服务器压力测试的不同阶段及方法,包括单元测试、单接口压力测试、机器人测试及线上数据采集等,并讨论了如何利用自定义工具和开源框架进行有效测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我自己测试的方式如下:
1)先测Unit,这个没啥好说的,软件工程那一套,基本保障覆盖。
2)单接口压力测试。这里是用fake数据使用自己开发的压测脚本进行测试,基本上一个接口要测试5分钟的样子,期间保障两台机器同时并发300个进程不间断发包。
3)机器人测试。这个稍微麻烦点……总之就是在跑机器人脚本,模拟一个玩家可能进行的操作,操作是随机的(除非某些关联操作,会写在一起),然后搞起10W+个机器人跑啊跑啊一跑就是两三天……
4)采集线上数据。任何测试都模拟不了线上……无论如何线上都可能出现BUG的,所以……呵呵呵

测试应该分为几个阶段
(1)单元测试,也就是程序员自己写的程序。自己测试自己的逻辑代码
(2)合并内网测试,在内网的机器上跑通所有的逻辑,一般有专门测试人员完成。
(3)内网压力测试,测试某些指令的性能参数。可以重复数据包。
(4)内测,邀请一些玩家进入内测服务器查看服务器的稳定性。
(5)公测,放开注册,克隆服务器,让大量玩家进入。

继承jmeter的AbstractJavaSamplerClient写的机器人,结合jmeter的线程和远程管理功能做压力测试

我觉得一个是强度测试 一个是代码覆盖测试。强度测试就找具有代表性的功能 循环发,或者多个代表性的协议搭配循环发,主要来看服务器性能参数的。代码覆盖测试就是一个小机器人 尽可能覆盖所有协议 多跑些时间 看内存泄漏等等。

测压力最好是机器人,机器人对功能模块的覆盖越完整越好。用数据回放做压力测试意义不大

你可以尝试开源游戏服务器端框架firefly,Firefly Game Server Framework
有开源的压力测试工具下载!

用脚本模拟玩家操作 也就是所谓的机器人 测一天 然后主要看网络流量和内存 当然前提是你所测试的逻辑是没有问题也不会造成当机

可以让客户端把发送的消息存储到一个文件里(按一定的格式),然后写一个程序,按你们定义的格式把消息读出来一条条发送,然后起多个线程同时发送,就变成一个很强大的机器人了。不过要注意一些有顺序要求的消息要特殊处理,还有一些玩家之间的交互操作是测不了的(需要特殊处理)。一般的跑跑足够了。

我们的作法是自己写工具,模拟前台发协议到后台做测试。一些主要的功能才做压力测试,比如同时注册,最大在线,战斗,地图移动,数据存取等。

通常都是私有协议。用脚本语言写压力测试工具最好,快速高效也便于维护。

把所有的debug日志都打开,从前端用loadrunner之类的去做。

看是什么协议了,如果LR直接支持协议的,建议还是使用现有的工具吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值