【游戏】服务器性能测试(二)容灾

简介: 一个好的服务器架构在设计时不仅需要根据游戏类型和业务需求来评估,还需要将容灾考虑进去,以下罗列了一些容灾相关的指标(非完全):节点不能存在单点故障,即某个节点宕机后不影响其他节点的正常运行,当宕机节点启动后,可以重新连接至其他节点并正常处理业务功能。节点需要支持可快速拉起,即某个节点宕机后可以快速被重新启动,并且业务功能和关联的节点能够正常接入而不受影响。服务的数据丢失不可超过5分钟,且核心数据(或关键数据)不可丢失必须及时入库,最好还可以支持通过日志或者其他形式的记录进行数据的快速恢复。

【游戏】服务器性能测试(二)容灾


一、前言


       我们在进行服务器性能测试的同时也需要关注服务器的架构和容灾需求,这样才可以保证服务器能够既满足性能需求的同时又保证服务器能够稳定运行和保障数据安全。本篇文章记录一下容灾测试相关的知识点。


二、容灾指标


       一个好的服务器架构在设计时不仅需要根据游戏类型和业务需求来评估,还需要将容灾考虑进去,以下罗列了一些容灾相关的指标(非完全):


  • 节点不能存在单点故障,即某个节点宕机后不影响其他节点的正常运行,当宕机节点启动后,可以重新连接至其他节点并正常处理业务功能。


  • 节点需要支持可快速拉起,即某个节点宕机后可以快速被重新启动,并且业务功能和关联的节点能够正常接入而不受影响。


  • 服务的数据丢失不可超过5分钟,且核心数据(或关键数据)不可丢失必须及时入库,最好还可以支持通过日志或者其他形式的记录进行数据的快速恢复。


  • 节点最好可以防单点风险,即少需要主从备份或者集群来规避单点风险,当这个节点宕机后,还有其他的节点可以来担任这个节点任务功能,而不会阻断整个业务。如果节点支持快速拉起也可以防单点风险。


  • 节点最好支持热更新,可以在用户无感知的情况下进行异常数据或者功能的修复更新。现在很多游戏都怕用户流失,也许一次停服更新就会有一批用户流失⊙﹏⊙b汗


三、架构与容灾


  • 集中式架构


微信截图_20220423230956.png


       服务器只有一个进程,所有的逻辑都在单个进程里面处理,这是早期的游戏服务器架构。一旦出现严重的Bug可能导致服务器崩溃或者数据丢失,那么将影响到全部的玩家,因此风险非常高。另外由于是单进程的,全部逻辑都在一个进程里处理,承载人数也不会太高


  • 分布式架构


微信截图_20220423231010.png


       分布式服务器架构将不同的业务放在不同的节点上面处理,这样就可以避免一个节点故障导致全部业务无法处理。分布式服务器架构的设计会根据不同的游戏类型选择不同的方式,但总的来说是会根据业务人数承载和容灾要求进行设计。因此上面这副图只是想表达一下分布式架构的节点情况,下面举例简单介绍一下,由于这块其实是公司的内部技术核心,因此我也是随便画的一些图,大家别介意!


       MMORPG类型的架构图:


微信截图_20220423231033.png


       客户端连接这个区的网关,由网关将数据转发给逻辑服(游戏服),逻辑服对场景中战斗和其他个人业务处理后同步给客户端。这里的逻辑服也可以是一个集群,客户端无需知道自己具体在哪个进程里面。但如果需要处理多玩家之间的交互业务时就需要用到公共服,例如组队、公会、聊天、匹配,因为玩家在不同的进程里面,逻辑服需要找到这些玩家具体在哪个进程以便处理业务。DB服则负责将每个逻辑服的数据读写到数据库。上图中单个逻辑服宕机,不会影响其他逻辑服的玩家体验游戏。其他服也是一样。当然这里说的比较简单,真正的逻辑其实非常复杂,而且很有可能还会引入更多的节点来确保整个架构能够协作完成任务。


       ARPG类型的架构图:


微信截图_20220423231045.png


       对比MMORPG的架构图发现这里多了战斗服集群,ARPG游戏会比较关注的战斗中的打击感,对战斗表现这块要求比较高,因此将战斗业务独立出去进行业务解耦,也可以提高整体的承载能力。另外一般ARPG游戏都是通过组队进入副本战斗,当玩家进行副本战斗时,其实只是跟战斗服进行交互,而不会对其他服产生影响。单个战斗服的宕机只会让这个进程的玩家退出战斗,其他战斗服的战斗则可以正常进行。另外如果战斗服是一个更大的集群,全部区都共用这些节点,那么可以很好的利用资源和跨服战斗的实现。


四、总结


      我们在性能测试的时候需要去理解服务器的架构,知道不同的节点承担的功能业务,这样在设计压测场景时才知道会对哪些节点产生性能压力,好进行性能评估。另外我们也需要考虑服务器是否满足容灾需求,这样才能更好的判断服务器是否能够上线完成使命。 服务器架构需要很深的学习和理解实践,我的能力也只能简单的进行表面的总结,希望对大家有帮助。


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

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1月前
|
弹性计算 固态存储
玩转阿里云游戏服务器:阿里云幻兽帕鲁Palworld游戏专属服务器搭建保姆级流程
对于热爱《幻兽帕鲁》的玩家们来说,与好友一起联机冒险无疑是游戏的一大乐趣。但如何快速搭建一个专属服务器,让你和朋友轻松“抓帕鲁”呢?本文将为您提供阿里云极简部署幻兽帕鲁专属服务器的指引,让您仅需轻点三次鼠标,3秒轻松开服!
|
2月前
|
弹性计算 Linux Windows
2024年阿里云《幻兽帕鲁/Palworld》如何搭建多人游戏专用服务器,图文攻略
《幻兽帕鲁》无疑是近期游戏界的焦点,其独特的开放世界与生存制作玩法吸引了众多玩家。但你知道吗?与好友一同在这个世界中冒险,其实更加有趣!今天,就为大家带来详细的图文攻略,教你在阿里云上快速搭建《幻兽帕鲁》的多人游戏专用服务器。
|
2月前
|
弹性计算 固态存储
2024年阿里云如何自建《Palworld/幻兽帕鲁》多人游戏专用服务器详细教程
想要和朋友在《幻兽帕鲁》的世界里自由冒险,却苦于没有合适的服务器?别担心,现在就来教您如何在三次点击之内,轻松搭建自己的专属《幻兽帕鲁》服务器!
37 1
|
1月前
|
弹性计算 运维 安全
畅享幻兽帕鲁:快速搭建稳定服务器,与小伙伴畅游游戏世界!
畅享幻兽帕鲁:快速搭建稳定服务器,与小伙伴畅游游戏世界!
514 0
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
弹性计算 缓存 测试技术
阿里云2核4g服务器(费用价格/性能测试/支持人数)
阿里云2核4g服务器能支持多少人访问?2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
1月前
|
弹性计算 Ubuntu Windows
阿里云自建《幻兽帕鲁Palworld》多人游戏专属服务器,搭建方法分享
对于《幻兽帕鲁》的忠实粉丝来说,与好友一同在游戏中探险、生存无疑增加了更多的乐趣。而为了实现这一愿望,搭建一个专属的多人游戏服务器就显得尤为重要。今天,我将为大家带来一篇极简教程,教您如何在三次点击内,轻松搭建《幻兽帕鲁》的专属服务器。
|
1月前
|
弹性计算 Ubuntu Windows
阿里云幻兽帕鲁Palworld搭建游戏联机服务器教程,3秒开服
对于《幻兽帕鲁》这款开放世界生存制作游戏的狂热粉丝来说,能够拥有自己的游戏服务器无疑是一个巨大的诱惑。这款游戏由Pocketpair开发,于2024年1月18日发行了抢先体验版本,其广阔的游戏世界和多样的玩法——收集神奇的生物"帕鲁",派遣它们进行战斗、建造、农活和工业生产等——已经吸引了无数玩家。今天,我将为大家详细介绍,如何在阿里云服务器上以最简单的方式一键部署幻兽帕鲁联机服务器。
|
1月前
|
弹性计算 缓存 测试技术
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
1月前
|
弹性计算
2024年阿里云轻松创建《幻兽帕鲁Palworld》多人游戏专属服务器教程
对于热爱《幻兽帕鲁》的玩家们来说,与好友共同探险、挑战,无疑是游戏中的一大乐趣。但如何快速搭建一个稳定的专属服务器,却常常让玩家们感到头疼。别担心,阿里云为您提供了极简的解决方案,让您在三次点击之内,3秒内轻松开服!
29 0