【游戏】服务器性能测试(七)哪些业务需压测?

简介: 首先决定服务器性能的主要指标有:CPU、内存、网络,其实还有一个隐形的指标就是数据稳定,即不可产生数据丢失、数据异常。CPU主要消耗在逻辑运算上,几乎所有的业务都需要消耗CPU;内存主要指加载进内存后生成的对象所占用的内存,除了防止业务产生内存泄漏外,还需要避免整体内存占用过高;网络主要产生在服务器与客户端或其他网元节点数据交互上,占用较高网络带宽不仅产生流量费用,而且会引起游戏体验的卡顿。

【游戏】服务器性能测试(七)哪些业务需压测?


一、前言


   在进行服务器性能测试的时候,经常需要对业务进行筛选和排优先级,有些业务是需要优先进行,而有些则可以放缓,那么到底如何对业务进行划分呢?本篇接下来就对业务的选择划分做下简单的介绍。(注:本文的全部图片均来自网络)


二、测试业务的选择


   首先决定服务器性能的主要指标有:CPU、内存、网络,其实还有一个隐形的指标就是数据稳定,即不可产生数据丢失、数据异常。CPU主要消耗在逻辑运算上,几乎所有的业务都需要消耗CPU;内存主要指加载进内存后生成的对象所占用的内存,除了防止业务产生内存泄漏外,还需要避免整体内存占用过高;网络主要产生在服务器与客户端或其他网元节点数据交互上,占用较高网络带宽不仅产生流量费用,而且会引起游戏体验的卡顿。


    1. 数据读取、存储相关的业务。


       “网络游戏其实就是一堆数据而已”,此语已道破真相。就像单机游戏的存档一样,删除存档就只能重新开始,有了别人的存档数据就可以按照他的进度继续下去。网络游戏所有玩家的数据都存储在服务器上,一旦产生数据丢失后果就会非常严重,因此做好数据的存储和读取相关业务的性能测试是重中之重。很多业务都涉及数据的读取和存储,以下列举了两个比较重要的业务场景。


       1) 注册业务:新玩家进入游戏,由于服务器上没有这个玩家的数据,因此需要单独创建与这个新玩家相关的所有数据。


       2) 重复登录:在离线的情况下,玩家登录时需要将玩家数据从数据库重新加载回内存,玩家下线后需要将玩家数据保存回数据库。


微信图片_20220424103629.png

图片源自网络


   2. 个人业务。


       玩家的单个操作产生一条数据变动,并且这条数据只会与这个玩家有关,不会影响到其他的玩家数据或者服务器全局数据。针对这样的业务就可以归类为个人业务,以下简单列举几个这样的业务场景。


       1) 玩家打开宝箱获得了一件物品(可能是稀有物品),玩家的物品数据会相应的改变。


       2) 玩家升级某个技能、宠物、坐骑等,仅这个玩家的相关数据发生变化。

   3. 多人交互性业务。


       玩家的单个操作会与其他玩家的数据产生交互,最终导致多个玩家的数据发生变化;或者玩家与他人的交互涉及到服务器多网元之间的数据传输和状态改变。这些业务都可以归为多人交互业务。


       1) 玩家组队,比较常见的多人交互业务,这通常是多玩家数据在多网元节点间传输,以及状态的改变。具体可以去了解组队业务的流程图、时序图等。


       2) 玩家交易,这也是比较常见的交互业务,而且会涉及多玩家的数据发生变更。


微信图片_20220424103700.png

图片源自网络


   4. 广播性业务。


       玩家的操作需要广播通知给周围的、全部在线的玩家,甚至是离线玩家。这样的业务主要涉及网络数据的广播传输。会随着广播范围的增大而产生成倍的网络流量消耗。


       1) 聊天业务,世界聊天,联盟聊天等等都是会涉及消息的广播。


       2) 玩家更换时装,装备特殊效果武器,场景内行走、战斗等也是会产生广播数据到周围玩家。


   5. 活动业务(本服及跨服玩法)。


       我想现在已经没有哪个网络游戏会没有活动玩法,活动玩法是留住玩家,提高在线,增加收入的手段,同样活动玩法往往涉及多人交互,网络消息广播,活动数据、排行榜数据存储等。例如公会战、BOSS战、跨服玩法等。


微信图片_20220424103708.png

图片源自网络



三、总结


   在性能测试进行业务选择时,优先需要考虑数据的读取和存储相关业务,然后就是大型活动和多人交互玩法,再者就是涉及广播相关的业务,最后是那些个人的业务。还有一个比较重要的点就是必须了解所有业务在服务器中的数据、消息处理流向(例如时序图),在做性能测试的时候往往也需要优先对多网元节点交互的业务进行测试,因为涉及异步交互的业务出问题的可能性非常大。


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

相关文章
|
13天前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
3月前
|
弹性计算 运维 Linux
3分钟幻兽帕鲁游戏链接服务器一键部署教程,基于阿里云服务器
本教程介绍如何使用阿里云服务器快速部署《幻兽帕鲁》联机服务,支持与好友联机游戏。内容包括服务器配置、计费说明、服务创建及登录游戏步骤,同时提供存档管理与配置修改方法,助您轻松搭建专属游戏服务器。
|
6月前
|
JavaScript 数据可视化 Docker
简易制作MCP服务器并测试
本文介绍了如何简易制作并测试MCP服务器,包括环境搭建、代码实现及Docker部署。首先通过uv包创建项目,在main.py中定义MCP服务器及其工具和资源函数。接着详细说明了在Windows上安装uv、配置Docker镜像加速、生成requirements.txt文件以及编写Dockerfile的过程。最后,通过构建和运行Docker容器部署MCP服务器,并使用Node.js工具测试其功能,确保服务器正常工作。此教程适合初学者快速上手MCP服务器的开发与部署。
2436 63
|
11月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
4月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
7月前
|
弹性计算 Linux 数据安全/隐私保护
幻兽帕鲁palworld自建游戏联机服务器,使用阿里云价格真优惠!
阿里云提供幻兽帕鲁(Palworld)游戏服务器搭建服务,支持4核16G(8人在线)和8核32G(20人在线)两种配置,带宽10M,价格低至70元/月起。通过阿里云计算巢服务,可实现一键购买与自动部署,简单快捷。玩家只需在本地安装STEAM客户端并登录游戏,输入服务器IP及端口8211即可联机游玩。教程详细涵盖服务器选择、配置设置及游戏接入全流程,助你轻松开启帕鲁冒险之旅!
|
10月前
|
弹性计算 Linux 数据安全/隐私保护
阿里云上快速搭建幻兽帕鲁游戏联机服务器指南
对于热爱幻兽帕鲁游戏的玩家来说,搭建一台专属的联机服务器无疑能够大大提升游戏体验。阿里云作为领先的云计算服务商,为玩家提供了便捷、高效的服务器搭建方案。本文将为您详细介绍如何在阿里云上快速搭建幻兽帕鲁游戏联机服务器,让您轻松享受多人游戏的乐趣。
|
11月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
409 2
|
11月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
665 4
|
11月前
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
308 2

热门文章

最新文章