View a markdown version of this page

可用指标 - Amazon GameLift Servers

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

可用指标

指标分为以下三个类别:

  • 自动收集的指标

  • 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 指标。

有关控制面板的详细信息和使用说明,请参阅控制面板组织结构和使用方式