驰网飞飞 发表于 2024-7-23 14:45:48

服务器性能测试是什么?游戏服务器性能测试的一些指标含义

大量用户登录游戏产生的“洪荒之力”往往会对游戏服务器产生巨大的压力,游戏上线之前对服务器的承载能力做测试是必须要做的事。那么什么是服务器性能测试,游戏服务器性能测需要测试哪些东西?

什么是服务器性能测试?
提到服务器性能测试,不得不提到很多术语。为了让大家更容易理解,举个生活中的例子:

你中午去“海底捞”吃饭

我们可以把“海底捞”这个酒楼看成一个被测系统

你去吃饭,就是对这个被测系统发起请求,对这个系统造成了一定的负载。你带去的人越多,那么这个餐馆就越繁忙,可以说餐馆承受的负载就越大

你开始点菜。这个时候你隔壁桌的人也开始点菜。那么你们两个对这个系统产生了并发的请求。同时,其他桌有的在吃菜,有的在等菜,这些都是并发进行的事务。一个完整的吃饭事务可以定义成包括:点菜,下单,上菜,买单四个步骤。

对于一个C/S的系统来说,可以对应于:建立连接,发送请求,接受应答,断开连接

影响一个餐馆生意好坏的一个重要原因是上菜速度。上菜速度体现在两个方面:
一个顾客请求的处理耗时,从下单到上菜中间等待的时间,我们称之为响应时间
这个餐馆同时为多名顾客上菜的频率,我们称之为吞吐量

很多因素会影响上菜速度,比如服务员的个数、厨师的个数。对于一个C/S的系统,服务员相当于是接入层,厨师相当于是后台服务。假如服务员太少,下单很慢,后面的厨师都闲着,那么上菜速度也快不了;假如服务员够多,下单足够快,但是厨师太少,下的单来不及做,同样上菜速度也很慢;如果服务员很多,厨师也很多,但是来的客人很少,那么大部分的服务员和厨师都闲着,资源全部浪费掉了。因此,接入层和后台服务进程个数、以及资源配比,都是需要根据实际情况进行调优的

来多少顾客,这是酒楼自己无法控制的,但是酒楼的上菜速度、餐位多少都会制约客流量。一定有一个峰值客流量,当来的客人超过了这个峰值,那么这些客人就会等位,或者是上菜速度超慢让客人无法容忍。容量测试就是通过工具模拟足够多的顾客来吃饭的事务,希望找到这样一个客流量对酒楼产生一定的负载,这个时候酒楼既能接待最多的客户同时也能保证最短的等待时间。更多的,还可以对这个酒楼人员配置和餐位设置等进行调优,以期达到一个最理想的资源利用率和效率

客流量跟进来的客人多少有关,也跟餐馆的接待能力有关。单方面增加来就餐的顾客,遭到投诉的可能性就越大,上错菜的可能性也越大

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

常用的服务器性能指标
在介绍测试方法之前,先来了解一下关于服务器性能测试的一些指标含义
吞吐量:固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)
平均吞吐量:一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化
峰值吞吐量:一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一
最低吞吐量:一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象
70%的吞吐量集中区间:通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定
响应时间:一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒
平均响应时间:一段时间内响应时间的平均值。无法体现响应时间的波动情况
中间响应时间:一段时间内响应时间的中间值,50%响应时间,有一半的服务器响应时间低于该值而另一半高于该值
90%响应时间:一段时间内90%的事务响应时间比此数值要小。反应总体响应速度,和高于该值的10%超时率。是用来评估系统容量的重要指标之一
最小响应时间:响应时间的最小值。反映服务最快处理能力
最大响应时间:响应时间的最大值。反映服务器最慢处理能力
CPU占用率:1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况

服务器性能测试工具的使用
不过令人遗憾的是,对于游戏开发者的实际情况来说,充足的测试时间并不是每次都可以保证的,而且对于模拟机器人的开发过程本身又是一个很大的投入,对于一些通用场景,如果能够有通用的平台代码可以调用,相信对于游戏开发者是一种极大的解放

对于服务器性能测试来说,好的测试要做到这样几点:
业务场景模拟:可编码解析任意协议,实现复杂业务场景
发现瓶颈:支持使用场景中复杂的数据传输行为,比如“登录”“查看个人信息”等,更加真实的模拟用户行为,发现服务器问题;
持续压力:实现7*24小时一定量级的服务器压力;
触达极限:短时间内触达服务器的压力上
灵活自定义:对于类似游戏的复杂混合场景,可以结合在线代码开发IDE,实现对任何标准或自定义协议的通信

感谢您的阅读,服务器大本营—技术文章内容集合站,助您成为更专业的服务器管理员!
页: [1]
查看完整版本: 服务器性能测试是什么?游戏服务器性能测试的一些指标含义

点击直接加入[服务器大本营QQ频道]