本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
可用指标
指标分为以下三个类别:
-
自动收集的指标
-
SDK 提供的指标
-
自定义指标
自动指标收集
这些指标无需更改代码:
实例指标
| 指标类型 | 说明 | 使用场景 |
|---|---|---|
| CPU | 每个实例的利用率百分比 | 资源监控 |
| 内存 | 物理内存使用量和百分比 | 容量规划 |
| 网络 I/O | 发送/接收的字节数和数据包数 | 连接运行状况 |
| 磁盘 I/O | 读/写操作次数和吞吐量 | 存储性能 |
机群指标
| 指标类型 | 说明 | 使用场景 |
|---|---|---|
| 活动实例 | 正在运行的实例计数 | 实例集扩展 |
| 游戏会话 | 活动与可用的会话数量 | 容量管理 |
| 崩溃的游戏会话数 | 已崩溃的游戏会话数 | 错误监控 |
SDK 提供的指标
需要在代码中调用 SDK 函数:
服务器计时指标
| 指标 | 说明 | 实施 |
|---|---|---|
| 服务器增量时间 | 当前服务器节拍和上一个服务器节拍之间的时间差。衡量服务器节拍率的一致性 | 致电 GetDeltaTime () |
| 服务器节拍率 | 显示服务器每秒处理更新的次数 | 自动计算 |
| 服务器节拍时间 | 服务器处理单个节拍或更新所用的时间 | 致电 GetTickTime () |
| 服务器世界节拍时间 | 服务器每个节拍更新游戏世界所用的时间 | 致电 GetWorldUpdateTime () |
实现:对于与引擎无关的 SDKs (C++、C#、Go),您可以通过使用计算出的计时值从游戏循环中调用 SDK 函数来实现这些指标。对于引擎插件(Unreal、Unity),这些指标将通过引擎集成自动捕获。
网络指标
| 指标 | 说明 | 实施 |
|---|---|---|
| Connections | 服务器已建立的网络连接总数 | 在 InitMetrics () 之后自动 |
| 网络 I/O (字节) | 服务器通过网络发送和接收的字节总数 | 在 InitMetrics () 之后自动 |
| 网络 I/O (数据包) | 服务器发送和接收的网络数据表总数 | 在 InitMetrics () 之后自动 |
| 数据包丢失 | 传输过程中丢失的网络数据包的百分比 | 在 InitMetrics () 之后自动 |
实现:将 SDK 函数调用与您的网络库集成。SDK 为不同的网络实现提供了指导。
进程指标
| 指标 | 说明 | 实施 |
|---|---|---|
| CPU 使用率(%) | 游戏服务器进程使用的 CPU 资源的百分比 | 在 InitMetrics () 之后自动 |
| 内存使用量(单位) | 服务器进程使用的内存总量 | 在 InitMetrics () 之后自动 |
| 物理内存使用率(%) | 当前正在使用的服务器总物理内存的百分比 | 在 InitMetrics () 之后自动 |
| 服务器状态 | 游戏服务器运行状况信息 | 在 InitMetrics () 之后自动 |
实现:这些指标由 SDK 在每次游戏会话进程中自动收集。
每个进程的控制面板组织
每个进程的指标可在两个专门的控制面板中找到:
-
服务器性能控制面板 — 包含服务器计时(增量时间、滴答率、滴答时间、世界滴答时间)、网络指标(连接、 I/O 字节/数据包、数据包丢失)、内存使用情况和单个游戏会话的 CPU 使用率。
-
“实例性能”控制面板:包含“内存消耗最大的前 N 个游戏会话”和“CPU 消耗最大的前 N 个游戏会话”表,可帮助确定哪些进程消耗的实例资源最多。点击“游戏会话”链接可以更深入地调查详细指标。
每个进程的指标使用案例
每进程/ per-game-session 指标支持以下监控场景:
-
深入的性能调查 — 当由于特定进程或游戏会话而导致性能下降时,每个进程的指标可通过 “占用 CPU 和内存占用量最高的游戏会话” 表来帮助确定哪个进程导致了问题。 host/instance
-
游戏服务器崩溃调查:当游戏会话崩溃时,这些指标可帮助确定崩溃原因是否源于内存不足、CPU 过载或网络带宽问题。
-
调查玩家报告的问题:当玩家报告称游戏过程中出现延迟或中断时,每个进程的指标有助于识别 CPU、内存、网络、节拍时间或世界更新时间中的瓶颈。
-
识别不同生成包中的性能变化:借助节拍时间、节拍率和世界更新时间指标,开发人员能够衡量不同服务器生成包中游戏性能的变化情况。
-
检测游戏过程中的延迟和缓慢情况:节拍时间、节拍率和世界更新时间指标反映了服务器更新游戏的速度,直接影响客户体验。
-
基准测试:根据玩家人数、游戏模式及其他变量等因素,识别不同游戏场景对服务器性能的影响。
控制面板组织
Amazon Managed Grafana 将指标按不同监控场景组织到专门的控制面板中。可用的控制面板取决于您的实例集类型:
EC2 舰队仪表板
-
EC2 舰队概述仪表板 — 高级舰队容量、扩展见解、并发玩家 (CCU)、实例、玩家容量和游戏会话崩溃。
-
“实例概述”控制面板:涵盖所有实例的主机级汇总指标,包括平均 CPU、内存、网络和磁盘利用率。
-
“实例性能”控制面板:提供单个实例的详细指标,其中包含用于识别资源密集型进程的“内存消耗最大的前 N 个游戏会话”和“CPU 消耗最大的前 N 个游戏会话”表。
-
服务器性能控制面板 (EC2)- EC2 实例上单个游戏会话的游戏循环时间、网络性能、内存和 CPU 指标。
容器实例集控制面板
-
“容器实例集概述”控制面板:容器实例集资源利用率的高级概述,包括 CPU 预留、内存利用率和容器组状态。
-
“容器性能”控制面板:特定 ECS 任务中各个容器的详细指标,包括 CPU 利用率、内存使用率、网络 I/O 和存储性能。
-
“服务器性能”控制面板(容器):提供容器中单个游戏会话的游戏循环计时、网络性能、内存及 CPU 指标。
有关控制面板的详细信息和使用说明,请参阅控制面板组织结构和使用方式。