冒頭の直接回答
Sparkプロファイラは、Minecraftサーバーのパフォーマンス問題を診断し、ラグ(TPS低下)の原因を特定する軽量プラグインです。CPU使用率、メモリ割り当て、エンティティ処理時間を視覚的に分析でき、サーバー管理者がボトルネックを正確に把握して最適化できます。本記事では、Sparkの導入方法から、プロファイリング結果の詳しい読み解き方、実際の改善手順まで、2025年11月現在の最新情報を交えて網羅的に解説します。
要点
- SparkはMinecraftサーバーの負荷を1%未満で詳細分析できる軽量プロファイラ
- TPSが20.0を下回る原因(エンティティ過多、チャンク読み込み、プラグイン競合など)を正確に特定できる
- Flame Graphで視覚的にCPU時間の消費状況を把握し、優先的に改善すべきポイントが一目瞭然
/spark profilerコマンドで簡単に実行でき、結果はWebビューアーで詳細分析可能- Paper、Spigot、Fabric、Forgeなど主要サーバーソフトウェアに完全対応

Sparkプロファイラとは:Minecraftサーバー最適化の必須ツール
Sparkプロファイリングの基本概念
Sparkは、Minecraftサーバーのパフォーマンスを診断するために設計された軽量プロファイリングプラグイン/MODです。サーバーが「重い」「ラグい」と感じたとき、その原因が何なのかを科学的に特定できます。
2025年11月現在、Sparkはバージョン1.10.142が最新版として公開されており、Minecraft 1.21およびJava 21環境に完全対応しています。従来のTimingsと比較して、より詳細な情報を低いオーバーヘッドで収集できることが特徴です。Spark公式サイト
プロファイリングの主な目的は以下の3点です:
- TPS低下の原因特定 – どのプラグイン、MOD、またはゲーム内処理がサーバーの負荷を増やしているか
- メモリ使用状況の把握 – メモリリークやガベージコレクションの問題を発見
- 最適化の効果測定 – 設定変更前後のパフォーマンス比較
SparkとTimingsの違い
| 比較項目 | Spark | Timings(旧世代) |
|---|---|---|
| オーバーヘッド | 約0.5〜1% | 約2〜5% |
| 分析の詳細度 | 非常に高い | 中程度 |
| Flame Graph | 対応 | 非対応 |
| メモリプロファイリング | 対応 | 非対応 |
| リアルタイム監視 | 対応 | 限定的 |
| 対応プラットフォーム | Paper/Spigot/Fabric/Forge | 主にSpigot系 |
Sparkは、従来のTimingsを完全に置き換えるツールとして、多くのサーバー管理者に採用されています。
Sparkプロファイラの導入と初期設定
インストール方法(プラグイン版)
対応サーバーソフトウェア:
- Paper
- Spigot
- Purpur
- その他Bukkit派生サーバー
導入手順:
- CurseForgeまたは公式サイトから最新版のSparkプラグインをダウンロード
- ダウンロードしたJARファイルをサーバーの
pluginsフォルダに配置 - サーバーを再起動
- サーバーコンソールまたはゲーム内で以下のコマンドで動作確認
/spark
正常に動作していれば、Sparkのコマンド一覧が表示されます。
インストール方法(MOD版)
対応MODローダー:
- Fabric
- Forge
- Quilt
導入手順:
- 使用しているMODローダーに対応したSparkのバージョンをダウンロード
- ダウンロードしたJARファイルをサーバーの
modsフォルダに配置 - サーバーを再起動
- OP権限を持つプレイヤーがゲーム内で
/sparkコマンドを実行して動作確認
初期設定(権限設定)
Sparkの実行には管理者権限が必要です。デフォルトでは、OP権限を持つプレイヤーのみが使用できます。
特定のプレイヤーに権限を付与する場合:
# LuckPermsを使用している場合
/lp user <プレイヤー名> permission set spark true
# PermissionsExを使用している場合
/pex user <プレイヤー名> add spark
Sparkプロファイラの基本的な使い方
TPS(Ticks Per Second)の確認
TPSは、Minecraftサーバーが1秒間に処理できるゲームティック数です。理想値は20.0で、この数値を下回るとプレイヤーはラグを体感します。
TPSの確認コマンド:
/spark tps
実行結果の例:
TPS from last 5s, 10s, 1m, 5m, 15m:
▇▇▇▇▇ 20.0, 20.0, 19.8, 19.2, 19.5
CPU usage from last 10s, 1m, 15m:
▇▇▇▇▇ 65.2%, 58.7%, 52.3%
MSPT (milliseconds per tick) from last 10s:
min=12.3, median=18.5, max=45.2
判定基準:
- TPS 20.0:完璧な状態
- TPS 19.0〜19.9:軽微なラグ、最適化を検討
- TPS 18.0〜18.9:明確なラグ、早急な対策が必要
- TPS 17.0以下:深刻なラグ、即座の改善が必須
MSPT(Milliseconds Per Tick)が50msを超えると、TPSが20.0を維持できなくなります。Spark公式ドキュメント
CPU プロファイリングの実行
Sparkの最も強力な機能がCPUプロファイリングです。これにより、サーバーのCPU時間がどこで消費されているかを詳細に分析できます。
基本的なプロファイリング手順:
- プロファイリング開始
/spark profiler start
- 通常のゲームプレイを実施(推奨時間:3〜5分)
- ラグが発生している状況を再現する
- 通常のプレイヤーアクティビティを含める
- プロファイリング停止
/spark profiler stop
- 結果の確認
コマンド実行後、自動的にWebビューアーのURLが表示されます。
[Spark] Profiler stopped.
[Spark] View results: https://spark.lucko.me/xxxxxxxx
このURLをブラウザで開くと、詳細な分析結果が表示されます。
Flame Graphの読み方
Flame Graphは、CPU時間の消費状況を視覚的に表示する最も重要な機能です。
Flame Graphの構造:
- 横幅:その処理がCPU時間全体に占める割合
- 縦の階層:処理の呼び出し順序(下から上へ)
- 色:異なる処理カテゴリを区別(色自体に意味はない)
重要な確認ポイント:
- CPU時間の5%以上を占める処理は要注意
- CPU時間の10%以上を占める処理は最優先で改善が必要
- 横幅が広い処理ほど、改善による効果が大きい
【2025年版のプロの最新テクニック】
Sparkでは、レポート内の「Flame Graph」タブを重点的にチェックしてください。特定のプラグインやエンティティ処理が上位に表示されている場合、そこが最適化のターゲットになります。
実践的なパフォーマンス分析と改善策
エンティティによる負荷の特定と削減
エンティティ(Mob、アイテム、経験値オーブなど)の過剰な存在は、TPS低下の最も一般的な原因です。
エンティティ数の確認コマンド:
/spark profiler --only-ticks-over 50
このコマンドは、50ms以上かかったティックのみをプロファイリングします。
改善策:
- エンティティ削減プラグインの導入
- ClearLag:定期的にアイテムやMobを削除
- EntityLimit:エンティティ数を制限
- server.propertiesの設定最適化
# エンティティの視認距離を削減
entity-broadcast-range-percentage=80
# Mobのスポーン上限を削減
spawn-limits.monsters=50
spawn-limits.animals=10
spawn-limits.water-animals=5
- Paperの高度な設定(paper-world-defaults.yml)
entities:
mob-spawn:
per-player-mob-spawns: true # プレイヤーごとのMobスポーン制御
spawning:
alt-item-despawn-rate:
enabled: true
items:
cobblestone: 300 # 丸石は5分で消滅
netherrack: 300
チャンクローディングの最適化
チャンクの読み込みと処理は、サーバーリソースを大量に消費します。
最適化設定(spigot.yml):
world-settings:
default:
view-distance: 6 # デフォルトの10から削減
simulation-distance: 4 # 処理するチャンクの範囲を削減
判断基準:
- プレイヤー数が10人以下:view-distance 6〜8
- プレイヤー数が10〜30人:view-distance 5〜6
- プレイヤー数が30人以上:view-distance 4〜5
視認距離を1減らすだけで、サーバー負荷は約15〜20%軽減されます。
プラグイン競合の発見と解決
複数のプラグインが同時に動作すると、予期しない競合が発生することがあります。
Sparkで特定のプラグインを分析:
/spark profiler --thread * # すべてのスレッドを分析
Flame Graphで特定のプラグイン名が大きな領域を占めている場合、そのプラグインが問題の可能性があります。
一般的な重いプラグインと代替案:
| 重いプラグイン | 推奨代替プラグイン | 改善効果 |
|---|---|---|
| EssentialsX(全機能) | EssentialsX(必要な機能のみ) | 約30%軽量化 |
| WorldEdit(常時動作) | FastAsyncWorldEdit(FAWE) | 約50%高速化 |
| Dynmap | BlueMap / Pl3xMap | 約70%軽量化 |
メモリプロファイリングの実践
メモリ使用状況の確認
Sparkは、サーバーのメモリ使用状況も詳細に分析できます。
メモリプロファイリングの実行:
/spark heapsummary
実行結果の例:
Heap memory usage:
Used: 3.2GB / 8.0GB (40.0%)
Non-heap memory:
Metaspace: 145.2MB
Compressed Class Space: 18.3MB
Garbage collection:
PS Scavenge (young): 127 collections, 2.1s total
PS MarkSweep (old): 3 collections, 0.8s total
判定基準:
- メモリ使用率が80%を超えると、ガベージコレクション(GC)が頻繁に発生
- GC時間の合計が全体の5%を超えると、パフォーマンスに悪影響
メモリリークの発見
長時間稼働しているサーバーでメモリ使用率が徐々に増加する場合、メモリリークの可能性があります。
メモリダンプの取得:
/spark heapdump
このコマンドは、現在のメモリ状態をファイルに出力します。出力されたファイルは、Eclipse Memory Analyzerなどのツールで詳細分析できます。
サーバー比較診断ツールの活用
Minecraftサーバーのパフォーマンスを最大限に引き出すには、適切なハードウェア環境の選択も重要です。サーバー比較診断サイトcomparison.quicca-plus.comでは、用途やプレイヤー数に応じた最適なサーバー環境を診断できます。
診断のポイント:
- プレイヤー数に応じた必要メモリ容量
- MOD/プラグイン数に基づくCPU性能
- ワールドサイズとストレージ容量
Sparkで特定した問題が、ハードウェアリソース不足に起因する場合、より高性能なサーバーへの移行を検討してください。
おすすめのMinecraft対応サーバー
Sparkプロファイラで最適化を行った後も、サーバーのハードウェアスペックが不足していると、根本的なパフォーマンス改善は困難です。以下では、Minecraftサーバー運用に適したVPSサービスを紹介します。
ConoHa for GAME(コノハ for GAME)
ConoHa for GAMEは、Minecraftサーバーに特化したゲーミングVPSサービスです。
主な特徴:
- Minecraftテンプレート完備:ワンクリックでサーバー構築が可能
- CPU: 3コア〜8コア(Intel Xeon)
- メモリ: 2GB〜64GB
- ストレージ: SSD 100GB〜800GB
- 自動バックアップ機能:無料で14日分のバックアップを保持
- 初期費用無料、時間課金制で柔軟に利用可能
推奨プラン:
- 5〜10人:4GBプラン(月額2,400円〜)
- 10〜20人:8GBプラン(月額4,800円〜)
- 20人以上:16GBプラン(月額9,600円〜)
Minecraftサーバーのテンプレートが豊富に用意され、初心者でも簡単にサーバーを立ち上げられます。
XServer VPS for Game(エックスサーバー VPS for Game)
XServer VPS for Gameは、高性能CPUと高速SSDを搭載したゲーム専用VPSです。
主な特徴:
- Minecraftマネージャー標準装備:GUIでサーバー管理が可能
- CPU: 4コア〜12コア(AMD EPYC第3世代)
- メモリ: 4GB〜64GB
- ストレージ: NVMe SSD 100GB〜400GB
- MOD/プラグイン管理機能:Webパネルから簡単にインストール
- 国内データセンターで低レイテンシー
推奨プラン:
- 5〜15人:8GBプラン(月額3,201円〜)
- 15〜30人:16GBプラン(月額6,501円〜)
- 30人以上:32GBプラン(月額13,201円〜)
Minecraftマネージャーにより、サーバーソフトウェア(Paper、Spigot、Forgeなど)の切り替えが管理画面から簡単に行えます。
LOLIPOP! for Gamers(ロリポップ! for Gamers)
LOLIPOP! for Gamersは、コストパフォーマンスに優れたゲーミングVPSサービスです。
主な特徴:
- CPU: 4コア〜10コア
- メモリ: 4GB〜32GB
- ストレージ: SSD 200GB〜800GB
- 格安料金設定:他社比約20〜30%安価
- 簡単セットアップツール完備
- 24時間365日の日本語サポート
推奨プラン:
- 5〜10人:8GBプラン(月額2,200円〜)
- 10〜20人:16GBプラン(月額4,400円〜)
- 20人以上:32GBプラン(月額8,800円〜)
価格を重視するサーバー管理者に最適で、基本的な機能はすべて揃っています。
さくら VPS(Sakura VPS)
さくらVPSは、長年の実績と安定性で定評のあるVPSサービスで、Minecraftサーバー運用にも適しています。
主な特徴:
- CPU: 3コア〜10コア
- メモリ: 2GB〜32GB
- ストレージ: SSD 100GB〜800GB
- スタートアップスクリプト対応:自動でMinecraftサーバー環境を構築
- 豊富なドキュメントとコミュニティサポート
- 柔軟なカスタマイズが可能
推奨プラン:
- 5〜10人:4GBプラン(月額2,200円〜)
- 10〜20人:8GBプラン(月額4,400円〜)
- 20人以上:16GBプラン(月額8,800円〜)
技術的な知識がある上級者向けで、細かいカスタマイズや高度な設定が可能です。
シンVPS(Shin VPS)
シンVPSは、エックスサーバー社が提供する新世代のVPSサービスで、高性能と使いやすさを両立しています。
主な特徴:
- CPU: AMD EPYC採用の高性能プロセッサ
- メモリ: 512MB〜32GB
- ストレージ: NVMe SSD 30GB〜1,600GB
- シンプルな料金体系で予算管理がしやすい
- 管理画面から簡単にスナップショット取得が可能
推奨プラン:
- 5人以下:4GBプラン(月額1,400円〜)
- 5〜15人:8GBプラン(月額3,200円〜)
- 15人以上:16GBプラン(月額6,400円〜)
小規模から中規模のMinecraftサーバー運用に最適で、コストパフォーマンスに優れています。
よくある質問(FAQ)
Q1. TPSが15以下に低下した場合、どこから手を付けるべきですか?
まず、/spark profilerを3〜5分間実行して、Flame Graphで最もCPU時間を消費している処理を特定してください。多くの場合、エンティティ処理(特にアイテムやMob)が上位に来ます。エンティティが原因であれば、ClearLagなどのプラグインで定期的にアイテムを削除し、server.propertiesでMobのスポーン上限を引き下げてください。それでも改善しない場合は、view-distanceとsimulation-distanceを1〜2削減することで、大幅な負荷軽減が期待できます。
Q2. Sparkのプロファイリングはどのくらいの頻度で実行すべきですか?
定期的なプロファイリングは、月1回程度で十分です。ただし、新しいプラグインやMODを導入した直後、大規模な建築やイベント後、プレイヤーから「重い」という報告があった時は、すぐにプロファイリングを実行してください。また、サーバーアップデート後も、パフォーマンスの変化を確認するために実施することを推奨します。
Q3. Flame Graphで複数のプラグインが問題として表示された場合、どれから対処すべきですか?
Flame Graphの横幅(CPU時間の占有率)が最も大きいプラグインから対処してください。CPU時間の10%以上を占めるプラグインは最優先で改善が必要です。改善方法は、プラグインの設定最適化(更新頻度の削減、処理範囲の縮小など)、軽量な代替プラグインへの移行、最悪の場合はプラグインの削除を検討します。プラグイン開発者のドキュメントで、パフォーマンス関連の設定項目を確認することも重要です。
Q4. メモリを増やしてもTPSが改善しない場合、何が原因ですか?
メモリとTPSは直接的な関係がありません。TPSは主にCPU性能とサーバーソフトウェアの効率性に依存します。メモリ不足の場合は、OutOfMemoryErrorが発生してサーバーがクラッシュしますが、十分なメモリがあってもCPUがボトルネックになればTPSは低下します。Sparkのプロファイリングで、CPU使用率が常に90%以上の場合は、CPU性能がボトルネックです。この場合、より高性能なCPUを搭載したサーバーへの移行、または処理を軽量化する最適化が必要です。
Q5. PaperとSpigotではSparkの結果に違いがありますか?
Paperは、Spigotに追加の最適化を施したサーバーソフトウェアです。同じ環境でPaperを使用すると、Spigotよりも約20〜40%パフォーマンスが向上することが一般的です。Sparkのプロファイリング結果では、Paperの方がチャンクローディングやエンティティ処理のCPU時間が少なく表示されます。特に大規模サーバー(プレイヤー数20人以上)では、Paperへの移行を強く推奨します。Paperは完全にSpigot互換なので、既存のプラグインもそのまま動作します。
まとめ
Sparkプロファイラは、Minecraftサーバーのパフォーマンス問題を科学的に診断し、改善するための必須ツールです。単なる「推測」ではなく、データに基づいた最適化により、プレイヤーに快適なゲーム体験を提供できます。
2025年11月現在、Sparkは最新のMinecraft 1.21とJava 21に完全対応し、より詳細な分析機能が追加されています。定期的なプロファイリングと、その結果に基づく段階的な改善を繰り返すことで、安定したサーバー運用が実現できます。
まずは/spark tpsでサーバーの現状を把握し、問題があれば/spark profilerで原因を特定してください。Flame Graphで視覚的に分析することで、優先的に改善すべきポイントが明確になります。適切なサーバー環境の選択と組み合わせることで、最高のMinecraftサーバー体験を構築しましょう。

