曾参加过一块MMO手游的开发,开发后期需要对服务器承载进行测试,采用模拟客户端编程,采用多个进程+线程的模式,按照cs端定义的协议对服务器进行测试。
机器人向服务器按照协议格式发送请求(包含非法请求与合法请求),对于不同数量的机器人N个小时运行,获取游戏服务器物理机上上面的一些数据进行分析
物理机分为三台:一台作为游戏服务器运行服(GameServer),一台缓存(dataServer 与数据库交互)一台作为mysql数据存储服;
具体每台配置 忘记记录下来了。
游戏启动后需要把数据库中数据全部加到到游戏内存中(DataServer),然后发送到游戏服务器(GameServer)
1从数据库读取数据
对加载的类型进一步划分
数据加载时间大致和数据的量呈现递增关系。
2查看CPU随着在线人数的变化所占百分比
可以看出从晚上8时到次日下午14时,各个服务器CPU变化区间是固定的。
3查看内存变化
这个同样是晚上8时到下午14时,随着机器人数量变化而生成的图表。
内存处于一个区间段,说明程序没有内存泄漏。
对于具体的内存,CPU所占的百分比,各个游戏之间对比是没有任何意义的,设计和数据的存储方式和存储结构都不相同,而这样的测试目的是在于了解 针对本款游戏在线玩家人数与服务器所占内存,CPU之间的一个关系,为了上线更好地控制每个服承载的最大人数做准备。
希望可以给想测试服务器性能的小伙伴提供一种思路