

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 可用的指標
<a name="gamelift-servers-metrics-types"></a>

指標分為三個類別：
+ 自動收集的指標
+ SDK 提供的指標
+ 自訂指標

## 自動指標集合
<a name="metrics-automatic-collection"></a>

這些指標不需要變更程式碼：

### 執行個體指標
<a name="metrics-instance-level"></a>


| 指標類型 | Description | 使用案例 | 
| --- | --- | --- | 
| CPU | 每個執行個體的百分比使用率 | 資源監控 | 
| 記憶體 | 實體記憶體用量和百分比 | 容量規劃 | 
| 網路 I/O | 傳送/接收的位元組和封包 | 連線運作狀態 | 
| 磁碟 I/O 資料 | 讀取/寫入操作和輸送量 | 儲存效能 | 

### 機群指標
<a name="metrics-fleet-level"></a>


| 指標類型 | Description | 使用案例 | 
| --- | --- | --- | 
| 作用中執行個體 | 執行中的執行個體計數 | 機群擴展 | 
| 遊戲工作階段 | 作用中和可用的工作階段 | 容量管理 | 
| 損毀的遊戲工作階段 | 已當機的遊戲工作階段 | 錯誤監控 | 

## SDK 提供的指標
<a name="metrics-sdk-functions"></a>

在您的程式碼中需要 SDK 函數呼叫：

### 伺服器計時指標
<a name="metrics-server-timings"></a>


| 指標 | Description | 實作 | 
| --- | --- | --- | 
| 伺服器 Delta Time | 目前伺服器刻度和上一個伺服器刻度之間的時間差異。測量伺服器刻度率的一致性 | 呼叫 GetDeltaTime() | 
| 伺服器刻度率 | 顯示伺服器每秒處理更新的次數 | 自動計算 | 
| 伺服器刻度時間 | 伺服器處理單一刻度或更新所需的時間 | 呼叫 GetTickTime() | 
| 伺服器世界刻度時間 | 伺服器使用每個刻度更新遊戲世界所需的時間 | 呼叫 GetWorldUpdateTime() | 

**實作：**對於與引擎無關SDKs (C\$1\$1、C\$1、Go)，您可以從遊戲迴圈呼叫 SDK 函數，並使用計算的計時值來實作這些指標。對於引擎外掛程式 (Unreal、Unity)，這些指標會透過引擎整合自動擷取。

### 網路指標
<a name="metrics-networking"></a>


| 指標 | Description | 實作 | 
| --- | --- | --- | 
| 連線 | 伺服器已建立的網路連線總數 | InitMetrics() 之後自動執行 | 
| 網路 I/O （位元組） | 伺服器透過網路傳送和接收的位元組總數 | InitMetrics() 之後自動執行 | 
| 網路 I/O （套件） | 伺服器傳送和接收的網路封包總數 | InitMetrics() 之後自動執行 | 
| 封包遺失 | 傳輸期間遺失的網路封包百分比 | InitMetrics() 之後自動執行 | 

**實作：**將 SDK 函數呼叫與您的網路程式庫整合。開發套件為不同的網路實作提供指引。

### 程序指標
<a name="metrics-process-level"></a>


| 指標 | Description | 實作 | 
| --- | --- | --- | 
| CPU 用量 (%) | 遊戲伺服器程序正在使用的 CPU 資源百分比 | InitMetrics() 之後自動執行 | 
| 記憶體用量 （單位） | 伺服器程序耗用的記憶體總量 | InitMetrics() 之後自動執行 | 
| 實體記憶體用量 (%) | 目前正在使用的伺服器實體記憶體總數百分比 | InitMetrics() 之後自動執行 | 
| 伺服器狀態 | 遊戲伺服器運作狀態 | InitMetrics() 之後自動執行 | 

**實作：**軟體開發套件會針對每個遊戲工作階段程序自動收集這些指標。

#### 每個程序儀表板組織
<a name="process-metrics-dashboards"></a>

每個程序指標可在兩個特殊儀表板中使用：
+ **伺服器效能儀表板** — 包含伺服器時間 （差異時間、刻度速率、刻度時間、世界刻度時間）、網路指標 （連線、I/O 位元組/封包、封包遺失）、記憶體用量，以及個別遊戲工作階段的 CPU 用量。
+ **執行個體效能儀表板** — 具有「Top N Memory Consuming Game Sessions」和「Top N CPU Consuming Game Sessions」資料表，可協助識別哪些程序對執行個體資源消耗貢獻最大。按一下遊戲工作階段連結可讓您更深入地調查詳細指標。

#### 每個程序指標使用案例
<a name="process-metrics-use-cases"></a>

每個程序/per-game-session指標支援下列監控案例：
+ **深入了解效能調查**：當主機/執行個體因特定程序或遊戲工作階段而降低效能時，每個程序指標有助於透過熱門 CPU 和耗用遊戲工作階段的記憶體資料表，找出導致問題的處理程序。
+ **遊戲伺服器當機調查** — 當遊戲工作階段當機時，這些指標有助於判斷當機是由於記憶體不足、CPU 過載或網路頻寬問題所致。
+ **調查玩家報告的問題** — 當玩家在遊戲期間報告延遲或中斷時，每個程序指標有助於識別 CPU、記憶體、網路、刻度時間或世界更新時間的瓶頸。
+ **識別不同組建中的效能變更** — 刻度時間、刻度率和世界更新時間指標可讓開發人員測量不同伺服器組建的遊戲效能如何變更。
+ **偵測遊戲中的延遲和緩慢 —** 刻度時間、刻度率和世界更新時間指標反映伺服器更新遊戲的速度，直接影響客戶體驗。
+ **基準測試**：根據玩家計數、遊戲模式和其他變數等因素，識別不同的遊戲案例如何影響伺服器效能。

## 儀表板組織
<a name="metrics-dashboard-usage"></a>

指標會在 [Amazon Managed Grafana ](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)中組織成專門的儀表板，以用於不同的監控案例。可用的儀表板取決於您的機群類型：

### EC2 機群儀表板
<a name="ec2-fleet-dashboards"></a>
+ **EC2 機群概觀儀表板** — 高階機群容量、擴展洞察、並行玩家 (CCU)、執行個體、玩家容量和當機遊戲工作階段。
+ **執行個體概觀儀表板** — 所有執行個體的彙總主機層級指標，包括平均 CPU、記憶體、網路和磁碟使用率。
+ **執行個體效能儀表板** — 個別執行個體的詳細指標，包含「Top N Memory Consuming Game Sessions」和「Top N CPU Consuming Game Sessions」資料表，用於識別資源密集型程序。
+ **伺服器效能儀表板 (EC2)** — EC2 執行個體上個別遊戲工作階段的遊戲迴圈計時、網路效能、記憶體和 CPU 指標。

### 容器機群儀表板
<a name="container-fleet-dashboards"></a>
+ **Container Fleet 概觀儀表板** — 容器機群資源使用率的高階概觀，包括 CPU 保留、記憶體使用率和容器群組狀態。
+ **容器效能儀表板** — 特定 ECS 任務內個別容器的詳細指標，包括 CPU 使用率、記憶體用量、網路 I/O 和儲存效能。
+ **伺服器效能儀表板 （容器）** — 容器中個別遊戲工作階段的遊戲迴圈時間、網路效能、記憶體和 CPU 指標。

如需詳細儀表板資訊和使用說明，請參閱 [儀表板組織和用量](gamelift-servers-metrics-dashboards.md)。