【游戏】服务器性能测试(三) 性能指标

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 一、引言 在做游戏服务器性能测试的时候,我们需要通过一些指标来判断服务端是否存在性能问题,由于绝大多数的服务端都是架设在Linux服务器上,因此本篇是以Linux系统为前提,简单介绍常用的性能指标。二、服务器指标 现如今的游戏服务器一般为分布式架构如图1。一个区的服务端由多个节点组成,通过这些节点来完成复杂的业务功能交互以及扩大人数承载。并不是每个节点都会占用一台物理机,通常是一个区的节点都放在一台物理机上(多区公用的除外)。这样每个节点进程就不能完全独占CPU,内存,网络等资源。而进行服务器性能测试也就是确保这些节点能够在一台机器上满足预定的设计要求。

【游戏】服务器性能测试(三) 性能指标


一、引言


   在做游戏服务器性能测试的时候,我们需要通过一些指标来判断服务端是否存在性能问题,由于绝大多数的服务端都是架设在Linux服务器上,因此本篇是以Linux系统为前提,简单介绍常用的性能指标。


二、服务器指标


   现如今的游戏服务器一般为分布式架构如图1。一个区的服务端由多个节点组成,通过这些节点来完成复杂的业务功能交互以及扩大人数承载。并不是每个节点都会占用一台物理机,通常是一个区的节点都放在一台物理机上(多区公用的除外)。这样每个节点进程就不能完全独占CPU,内存,网络等资源。而进行服务器性能测试也就是确保这些节点能够在一台机器上满足预定的设计要求。以下这些指标都可以通过外部的工具或者系统自带的指令进行数据收集和监控。


微信截图_20220423233528.png

图片源自网络

   1. CPU性能指标


   CPU性能指标包括CPU的使用率和CPU load,是判断系统处理能力以及应用运行是否稳定的重要参数,可以通过top指令进行查看。


# 查看全部进程的CPU使用情况 -d1 表示刷新间隔1秒 
top -d1 
# 查看某个进程的使用情况
top -d1 -p<pid>
# 查看某个进程的每个线程的使用情况
top -d1 -H -p<pid>


640 (1).png


    对于单个节点来说,通常CPU使用率不要超过70%但这不是绝对值,还需要根据服务器上运行的进程节点数来进行合理的分配,假设一台4核机器上面运行着8个服务器节点进程,那么按照单节点70%的CPU占用标准就不合理了,因为在峰值下会有超负荷运行风险。这个时候我们可以根据CPU load来判定服务器是否处于超负荷运行状态。


  2. 内存


   每个节点运行过程中都会占用系统内存,因此也需要关注进程内存的使用情况。另外还有一个更重要的问题就是内存泄漏,节点如果出现内存泄漏就会有宕机的风险。节点运行中的数据并不都是实时入库,如果宕机就会丢失这部分没有保存的数据,从而造成损失。在进行性能测试的时候需关注进程的内存增长情况,并提前发现内存泄漏问题。下面展示了两种内存泄漏的曲线图,在性能测试中都可能会遇到。


微信截图_20220423233559.png


  3. 网络


   网络带宽也是性能测试需要关注的地方,它即受到网卡流量影响,同时也受到网络传输的影响。例如比较熟悉的世界聊天,某个玩家发送聊天信息后服务器需要广播给在线的全部玩家。这样就会产生很大的网络流量,如果带宽不够就会造成数据延迟。


  4. 磁盘io


   磁盘io主要在文件读写,数据库存储等方面产生,出现io过载会使整个服务器都变的缓慢,因此io的负载也是需要在性能压测的时候进行关注。


三、事务指标


   服务器为用户提供业务服务时,如何评估业务的处理能力,是否存在瓶颈,这就是性能测试需要找出的。以下这些指标需要性能测试工具进行收集统计计算得出。


   1.事务响应时间


   用户发起一个事务请求,服务器多久可以响应这个请求是判断业务处理能力的一个重要指标。事务响应时间包含客户端发出请求,网络传输,服务器处理三部分组成。


   2.事务并发数


   每秒同时发出的事务请求数量即并发数,通过不断的增大并发数,来观察服务器的性能数据表现以及响应时间,可以获得在指定条件下服务器能够承受的最大并发数。注意有些业务承受的最大并发数与用户数量有关。例如上面说的世界聊天,在线的用户数不同,服务器所能承受的最大并发数也有所不同。


   3.事务TPS


   TPS=并发数/平均响应时间,游戏服务器的TPS要求一般在80~120左右,当然越高越好。给定要求的TPS后,我们就可以通过并发数和响应时间压测出服务器的人数承载。


四、最后


   以上就是服务器性能测试需要关注的相关性能指标,大家如果有疑问或者是有不同的见解,欢迎留言给我,互相学习共同进步!


欢迎微信搜索"游戏测试开发"关注一起沟通交流。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1月前
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
47 4
|
3月前
|
弹性计算 运维 云计算
云服务器 ECS产品使用问题之如何把本地的游戏存档上传到在线游戏服务器
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
3月前
|
弹性计算 缓存 Linux
云服务器 ECS产品使用问题之如何修改游戏参数
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
Java Spring UED
Spring框架的异常处理秘籍:打造不败之身的应用!
【8月更文挑战第31天】在软件开发中,异常处理对应用的稳定性和健壮性至关重要。Spring框架提供了一套完善的异常处理机制,包括使用`@ExceptionHandler`注解和配置`@ControllerAdvice`。本文将详细介绍这两种方式,并通过示例代码展示其具体应用。`@ExceptionHandler`可用于控制器类中的方法,处理特定异常;而`@ControllerAdvice`则允许定义全局异常处理器,捕获多个控制器中的异常。
38 0
|
3月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何访问游戏路径
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
3月前
|
Shell Python
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
|
3月前
|
弹性计算 Linux 数据安全/隐私保护
云服务器 ECS产品使用问题之如何迁移游戏数据
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
3月前
|
弹性计算 运维 云计算
云服务器 ECS产品使用问题之幻兽帕鲁服务器在游戏和计算巢远程都无法连接,该怎么办
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
3月前
|
弹性计算 开发工具 数据安全/隐私保护
云服务器 ECS产品使用问题之如何修改游戏配置
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
3月前
|
弹性计算 云计算
云服务器 ECS产品使用问题之如何解决更新后进游戏要重新创建角色的问题
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
下一篇
无影云桌面