3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GoogleCloudでパルワールド鯖を構築する話 -その3 評価編-

3
Posted at

はじめに

前回の記事「GoogleCloudでパルワールド鯖を構築する話 -その2 構築編-」に引き続き、今回は作成したサーバーのスペックが適切なものであっか、つまり評価を進めていきます。
評価には6時間プレイすることで得られた実際のプレイデータを使用していきます。

利用環境

前回までの作業で作成したインスタンスのスペックと、主な利用環境を整理しておきます。

インスタンススペック

項目 設定値
リージョン asia-northeast1
マシンタイプ e2-custom-4-24576(4 vCPU, 24GBメモリ)
プロビジョニングモデル 標準
OS Debian 12 (Bookworm)
ディスク バランス標準ディスク (40GB)
ネットワーク プレミアムティア
ネットワークタグ 任意の値

利用環境

  • 必要十分なスペックのPCを持つ社会人3人で利用
  • 週15時間(月60時間)の利用を想定
  • Modの導入はせずバニラ状態でプレイ
  • 評価実施時はストーリー中盤まで進行
  • ワールド設定はギルト最大数:10(デフォルト:4)、拠点パル最大数:40(デフォルト:15)の2つの値だけ変更し、その他の値はデフォルト値で運用

結論

先に結論を書いておきます。

  • 24GBもメモリは要らない。16GBで十分。
  • e2ファミリーのCPUでも十分安定して動作するが、1ランク上を選んだ方が安心。
  • IOPS性能的に40GBのバランス標準ディスクでちょうどいい。

評価に用いたメトリクス

Compute Engineではインスタンス作成時、Opsエージェントを導入しておくことでCPUやメモリ、ディスクに関する詳細なメトリクスを収集し参照できるようになります。

パルワールドは非常にリソースを食う(特にメモリとCPU)ゲームであるため、特に以下の3つのメトリクスを重点的に確認しました。

1. メモリ使用率(最も重要)

パルワールドサーバーのクラッシュ原因の99%はメモリ不足(OOM)です。Opsエージェントを導入しているため、OS内部の正確なメモリ使用量が見えます。

  • 見るべき指標: Memory > Memory Usage (または Memory utilization)

  • 評価ポイント:

    • ベースライン: 誰もログインしていない状態でも数GB消費しますが、プレイ中にどこまで上昇したか(24GB中、何GB使っているか)。

    • 右肩上がりになっていないか(メモリリークの確認): 6時間のプレイ中、使用量が階段状に上がり続け、下がった形跡がない場合は、定期的なサーバー再起動(1日1回など)が必要になります。

    • スワップの発生: Swap の指標も確認し、設定した8GBのスワップ領域が頻繁に読み書き(スワップイン/アウト)されていないか確認します。スワップの多用はゲーム内の激しいラグ(ゴムバンド現象)に直結します。24GB内に収まっていればこの構成は「大正解」です。

2. CPU使用率

パルワールドはマルチコアへの最適化が途上であり、特に「1つのコア(スレッド)」に負荷が集中する傾向があります。

  • 見るべき指標: CPU > CPU Utilization

  • 評価ポイント:

    • 平均使用率: 全体の使用率が50%〜70%程度であれば、4 vCPUの選択は非常に適切です。

    • 瞬間的なスパイク: 戦闘中や、ファストトラベルで新しいエリアを読み込んだ際に100%に張り付いていないか。

    • (可能であれば)コアごとの使用率: Opsエージェントのデータでコアを分割表示(Group by cpu_number)し、特定の1コアだけが常に100%に張り付いている場合は、コア数(vCPU数)を増やすよりも、より動作周波数の高いインスタンスタイプ(C3やC2Dなど)の方が向いているという判断になります。

3. ディスクの書き込み速度(I/O)

今回は40GBの「バランス永続ディスク(pd-balanced)」を使用しています。GCPの仕様上、ディスク容量が小さいほど読み書き性能(IOPSやスループット)の上限も低くなります。

  • 見るべき指標: Disk > Write operations (IOPS) または Write bytes (スループット)

  • 評価ポイント:

    • パルワールドは定期的にオートセーブを行い、巨大な Level.sav をディスクに書き込みます。この瞬間(数分おき)にグラフが鋭いトゲのように跳ね上がっているはずです。

    • もしゲームプレイ中に「数分おきに一瞬サーバーがカクつく」現象がある場合、この40GBのディスクの書き込み上限に引っかかっている可能性があります。その場合は、ディスク容量を増やす(100GB等にするだけで性能も上がります)か、SSD(pd-ssd)に変更することで劇的に改善します。

評価結果

1. メモリ

メモリ使用率は全体を通して10~20%を維持しています。パルワールドでは継続的に稼働しているとメモリー使用率が緩やかに上昇していく、という情報を耳にしていましたが、確かにメモリ使用率は緩やかに上昇しているように見えます...。
ただそれを含めても現状のe2-custom-4-24576(4 vCPU, 24GBメモリ)というスペックは過剰だったかもしれません。
まだプレイ自体が中盤であるためある程度将来性を考える必要がありますが、おそらくe2-custom-4-16384 (4 vCPU / 16GB RAM)くらいで十分でしょう。
image.png
image.png

2. CPU

CPU使用率は全体を通して使用率は40~60%を推移しており、プロセスを見ても同様の結果です。ゲームをプレイしていても敵や味方の描画がカクカクするいわゆる”ラバーバンド現象”は発生しておらず、これはCPUが安定稼働していた結果であると分かります。
しかし1コアあたりの負荷を考えるとかなり高い負荷が掛かっているとも言えるので、より安定的な動作を求める場合はコア数を維持しつつ、1コアあたりのパワー(クロック周波数)が高いものに切り替えるといいかもしれません。
image.png
image.png

3.ディスク

ディスク使用率は50%以下を維持、急激な容量の上昇は発生していません。
サーバー起動時にスパイクが発生していますが、その後は安定的に動作しています。定常的な波が発生していますが、これはおそらくオートセーブに伴う書き込み処理です。これも低い水準で推移しているので問題にはならないでしょう。

Compute Engineではディスク容量に併せてIOPS性能が変化します。スパイク発生時の挙動を考えるとバランス標準ディスクの40GBが最適であったと言えます。もう少し容量を落としてもいい気がしますが、そこまで費用には大きく関与しない価格なので余裕があるくらいの容量がいいと思います。
image.png
image.png
image.png

結論

今回の記事では構築したパルワールド鯖のスペック評価を行いました。
最後に今回の評価結果をもとにしたおすすめ構成を載せておきます。

項目 設定値
リージョン asia-northeast1
マシンタイプ n2-custom-8-20480(8vCPU, 20GBメモリ)
プロビジョニングモデル 標準
OS Debian 12 (Bookworm)
ディスク バランス標準ディスク (40GB)
ネットワーク プレミアムティア
ネットワークタグ 任意の値
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?