要得到可支撑的"最大同时在线人数",主要做好2件事:
1、设计你的类现网压力模型
在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a 各接口的压力比例不变, b玩家平均每分钟 *** 作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。
对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。
对于b,同样在内测阶段收集玩家平均 *** 作频率。
此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。
2、用压测工具构造出符合压力模型的压力
这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点,同时在线人数。接触JMeter也有超过半年的时间,自我感觉要想测试C++做的服务器的性能是比较无力的。其实我也想知道如何去测试,但是有一点非常明确就是我们可以发送二进制数(可以自定义的结构体或者protobuf,我们都可以通过抓包的方式去把数据抓出来,通过JMeter发送出去)据给服务器,但是服务器回复二进制,JMeter对这个数据如何正确解析,由于我的无知确实目前还没有找到解决办法(另外服务端可能回复的消息不至一条,而且还有可能顺序都不确定,这个如何检测,如果处理?)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)