24小时技术QQ:3003634090

资讯中心

百万用户游戏服务器测试要测什么?
2020-05-22 16:56:17
阅读()
来源:互联数据
摘要:    大量用户登录游戏,往往会对游戏服务器产生巨大的压力,游戏上线之前对服务器的承载能力做测试是必须

大量用户登录游戏,往往会对游戏服务器产生巨大的压力,游戏上线之前对服务器的承载能力做测试是必须要做的事。本文从腾讯游戏服务器性能测试的经历出发,对服务器性能测试的原理、指标和方法进行了介绍,并介绍了内部目前流行的一些工具和使用技巧。


用户对游戏服务器测试什么?


1、游戏版本上线之后,新的服务器开放或者服务器更新,面对大量玩家的涌入,如果服务器的性能不好,就会发生登录失败的问题。


游戏服务器测试什么?


2、运营期压力,玩家体验损失


百万级的在线人数预估,当时进行了服务器性能测试,测试结果是当时对方的服务器只能承受1500人的同时在线,如果一套服务器只能承载1500个用户,该游戏要上线需要多少服务器?需要1000套,这无疑是一个巨大的浪费。


同样是百万级的游戏,有的公司需要上千台服务器,而有的公司只要几百台服务器,巨大的服务器采购运维成本差异皆因各家公司做服务器性能测试乃至性能调优的能力参差不齐。


那么问题就来了,服务器性能测试是什么?要怎么做才最有效呢?


什么是服务器性能测试?

性能测试的核心概念主要包括两部分:正确的测试方法,正确的评价性能的指标。测试方法会告诉你用什么样的套路去执行测试;性能指标是告诉你如何用数值来描述你的测试对象的性能。


常用的性能指标


在介绍测试方法之前,先来了解一下关于服务器性能测试的一些指标含义。


●吞吐量:固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)。

●平均吞吐量:一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化。

●峰值吞吐量:一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一。

●最低吞吐量:一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象。

●70%的吞吐量集中区间:通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定。

●响应时间:一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒。

●平均响应时间:一段时间内响应时间的平均值。无法体现响应时间的波动情况。

●中间响应时间:一段时间内响应时间的中间值,50%响应时间,有一半的服务器响应时间低于该值而另一半高于该值。

●90%响应时间:一段时间内90%的事务响应时间比此数值要小。反应总体响应速度,和高于该值的10%超时率。是用来评估系统容量的重要指标之一。

●最小响应时间:响应时间的最小值。反映服务最快处理能力。

●最大响应时间:响应时间的最大值。反映服务器最慢处理能力。

●CPU占用率:1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况。


游戏服务器测试效果


常用的服务器性能测试方法:


1、现网数据预估


现网数据预估是根据压力测试过程中的部分数据,对未来大量用户访问的情况机型预估。图中的横轴代表现网吞吐量,纵轴代表CPU压力。


图中绿色的部分代表当前的服务器压力,当收集一段时间数据之后,可以模拟一条曲线。假设对服务器的上线成本预估是80%,可以通过曲线拟合的方式推测出现网的能力是多少,也从而推断出最大上限是多少。


缺点:通常游戏服务器都是比较复杂的,这种方式只适合简单的服务器拟合,复杂服务器数据就不太准确。


2、真人压测


真人压测就是通过邀请一定数量的真实用户来玩游戏,从而对服务器达到一个测试效果。这种方式他最大特点在于用户的行为相对是最真实的,因为用户的使用完全不会受到限制,和线上一个真实用户一样。目前游戏上线过程中的“封测”,就可以被认为是一种真人压测,可以帮助开发者发现一些性能问题。


游戏服务器真人测试


但是这种方式也存在着弊端:


●暴露出的性能问题有限

许多经过封测的游戏到上线还会产生问题,原因之一就是封测人数通常还是太少,虽然有几百或者几千用户在玩,但是并发并不够,不足以暴露服务端性能问题;


●不适合调优

服务器性能测试不光需要暴露服务器的问题,暴露问题之后还需要不断的回归调优,但是真人是无法完全重复这些行为方式的。


3、接口测试


服务器方面的接口测试与传统意义上的接口测试略有不同,当开发人员需要对一套服务器进行评估,但是又时间不足的情况下,我们可以考虑选择一些具有代表性的功能,以及一些高风险功能进行测试,通过以小见大的方式,来评估整套服务器性能。


当然这个方法的主要问题就是无法遍历整个服务器的接口,难以避免一些微小的问题。


4、录制回放


这里面包含两部分,“录制”就是通过抓取数据包的方式,来获取游戏时的协议,比如用户登录游戏时抓取登录包;“回放”即把这些捕获的协议重新发送给服务端,这样理论上就可以通过工具放大协议量级达到性能测试的目的,比如将之前录制的登入协议扩大1w倍给服务器,这样就模拟了1w人同时登入的情况。


这个方法存在的问题是,游戏的协议交互非常复杂,如果只是单纯的放大数据包,对于服务器是产生不了多大的压力的。这类方法比较适合固定输入输出服务类型的测试。


5、机器人模拟


机器人模拟测试是对以上各种测试做了一个平衡, 通过高还原真实玩家的用户行为,模拟高并发场景,从而得到类似很多人同时游戏的测试效果。


0

上一篇:云服务器用作游戏挂机的教程
下一篇:面对客户需求,寻找100m韩国 vPS
旗下产品均支持24小时免费测试
互联数据香港机房产品均支持24小时免费测试,先测试后付款让业务不熟更放心
申请测试
免费试用
免费试用
旗下产品均支持24小时免费测试
24小时免费电话
400-8715-668
24H客服

24H在线客服

  • 业务咨询
  • 售后服务
24小时免费电话
400-8715-668