百万用户游戏服务器测试要测什么?
摘要: 大量用户登录游戏,往往会对游戏服务器产生巨大的压力,游戏上线之前对服务器的承载能力做测试是必须要做的事。本文从腾讯游戏服务器性能测试的经历出发,对服务器性能测试的原理、指标和方法进行了介绍,并介
大量用户登录游戏,往往会对游戏服务器产生巨大的压力,比如LOL韩国服务器,游戏上线之前对服务器的承载能力做测试是必须要做的事。本文从腾讯游戏服务器性能测试的经历出发,对服务器性能测试的原理、指标和方法进行了介绍,并介绍了内部目前流行的一些工具和使用技巧。
序号 | CPU | 内存 | 硬盘 | 宽带 | 售价 | 申请试用 |
---|---|---|---|---|---|---|
韩国服务器1 | E5-2620 | 32G RAM | 1T SSD | 50M/不限流量 | $137.20 USD | 申请试用 |
韩国服务器2 | E5-2620*2 | 32G RAM | 1T SSD | 50M/不限流量 | $263.20 USD | 申请试用 |
韩国服务器3 | E5-2650 | 32G RAM | 1T SSD | 50M/不限流量 | $179.20 USD | 申请试用 |
韩国服务器4 | E5-2650*2 | 32G RAM | 1T SSD | 50M/不限流量 | $305.20 USD | 申请试用 |
韩国服务器5 | E5-2680 | 32G RAM | 1T SSD | 50M/不限流量 | $221.20 USD | 申请试用 |
韩国服务器6 | E5-2680*2 | 32G RAM | 1T SSD | 50M/不限流量 | $333.20 USD | 申请试用 |
韩国服务器7 | E5-2680v4*2 | 32G RAM | 1T SSD | 50M/不限流量 | $487.20 USD | 申请试用 |
韩国服务器8 | E5-2690 | 32G RAM | 1T SSD | 50M/不限流量 | $235.20 USD | 申请试用 |
韩国服务器9 | E5-2690*2 | 32G RAM | 1T SSD | 50M/不限流量 | $389.20 USD | 申请试用 |
韩国服务器10 | E5-2697 | 32G RAM | 1T SSD | 50M/不限流量 | $263.20 USD | 申请试用 |
韩国服务器11 | E5-2697*2 | 32G RAM | 1T SSD | 50M/不限流量 | $417.20 USD | 申请试用 |
韩国服务器12 | E5-2698v4*2 | 32G RAM | 1T SSD | 50M/不限流量 | $557.20 USD | 申请试用 |
用户对游戏服务器测试什么?
1、游戏版本上线之后,新的服务器开放或者服务器更新,面对大量玩家的涌入,如果服务器的性能不好,就会发生登录失败的问题。
2、运营期压力,玩家体验损失
百万级的在线人数预估,当时进行了服务器性能测试,测试结果是当时对方的服务器只能承受1500人的同时在线,如果一套服务器只能承载1500个用户,该游戏要上线需要多少服务器?需要1000套,这无疑是一个巨大的浪费。
同样是百万级的游戏,有的公司需要上千台服务器,而有的公司只要几百台服务器,巨大的服务器采购运维成本差异皆因各家公司做服务器性能测试乃至性能调优的能力参差不齐。
那么问题就来了,服务器性能测试是什么?要怎么做才最有效呢?
什么是服务器性能测试?
性能测试的核心概念主要包括两部分:正确的测试方法,正确的评价性能的指标。测试方法会告诉你用什么样的套路去执行测试;性能指标是告诉你如何用数值来描述你的测试对象的性能。
常用的性能指标
在介绍测试方法之前,先来了解一下关于服务器性能测试的一些指标含义。
●吞吐量:固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)。
●平均吞吐量:一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化。
●峰值吞吐量:一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一。
●最低吞吐量:一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象。
●70%的吞吐量集中区间:通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定。
●响应时间:一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒。
●平均响应时间:一段时间内响应时间的平均值。无法体现响应时间的波动情况。
●中间响应时间:一段时间内响应时间的中间值,50%响应时间,有一半的服务器响应时间低于该值而另一半高于该值。
●90%响应时间:一段时间内90%的事务响应时间比此数值要小。反应总体响应速度,和高于该值的10%超时率。是用来评估系统容量的重要指标之一。
●最小响应时间:响应时间的最小值。反映服务最快处理能力。
●最大响应时间:响应时间的最大值。反映服务器最慢处理能力。
●CPU占用率:1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况。
常用的服务器性能测试方法:
1、现网数据预估
现网数据预估是根据压力测试过程中的部分数据,对未来大量用户访问的情况机型预估。图中的横轴代表现网吞吐量,纵轴代表CPU压力。
图中绿色的部分代表当前的服务器压力,当收集一段时间数据之后,可以模拟一条曲线。假设对服务器的上线成本预估是80%,可以通过曲线拟合的方式推测出现网的能力是多少,也从而推断出最大上限是多少。
缺点:通常游戏服务器都是比较复杂的,这种方式只适合简单的服务器拟合,复杂服务器数据就不太准确。
2、真人压测
真人压测就是通过邀请一定数量的真实用户来玩游戏,从而对服务器达到一个测试效果。这种方式他最大特点在于用户的行为相对是最真实的,因为用户的使用完全不会受到限制,和线上一个真实用户一样。目前游戏上线过程中的“封测”,就可以被认为是一种真人压测,可以帮助开发者发现一些性能问题。