SSDにしたらマイクラサーバーのラグがましになった話

※2020年(マイクラ1.14〜1.15のころ)の話です。文中の Intel Optane 900p は生産終了していて、今は手に入りにくくなっています。
題名のとおりです。
従来は15人ログインでTPSが12前後、25人以上ログインで1桁でしたが、マイクラサーバーのデータをすべてSSDに移すと20で安定、低くても17前後で落ち着きました。
1.14以降からエンティティの処理がかなり重くなり、TPSの低下は免れないと思われていましたが、SSDに換装するとボトルネックが解消され、大幅な低下はなくなりました。
ちなみにプラグインは現時点で72個です。
転送速度がボトルネックになる
ラグ発生時、CPU使用率や空きメモリに特に問題はないようでした。そこで転送速度に目をつけるわけですが、マイクラ鯖が大きなデータをやり取りするのは基本チャンク情報でしょう。
HDDだと、定期的に行われるチャンクセーブの際にラグが発生してしまいますが、私のサーバーでは描画距離をかなり長く設定してあるため、読み込み時にも大きな負荷がかかっていたと考えられます。
また、DynmapやCoreProtectなども頻繁に多くのデータを書き込むと思われます。
このようにHDDが追いつかなくなり、他の処理も停滞するといったような状況になっていました。
SSDにした理由
RAMディスクでいいなどの記事もありますが、そこそこの大規模サーバーになると容量的にそんな事もやっていられないです。
実際、SSDに変える前は妥協策として一部ワールドデータをRAMディスクに移していましたが、再起動時にHDDへバックアップを取るにしても時間がかかりすぎますし、突然のトラブルで保護に失敗する可能性もあります。
ちなみに私が運営しているMOFUCRAFT!!!では建築ワールド1つで10GB弱、サーバー全体で80GBほどになります。
また、HDDでも問題ないという記事や、サーバーでSSDを使うべきではないという意見もよく見かけます。むしろそればっかりしか見つかりませんが、マイクラサーバーの場合SSDに換装するしか手はありません。
サーバー向けのSSD
とはいえ、寿命の心配などももちろんあるので高寿命のSSDを選びましょう。今回当サーバーで用いたのは「Intel Optane 900p」という、寿命が無限にありそうなSSDです。
昔、一般のパソコンで使うような安いSSDを使ったときは50日ほどで壊れてしまいました。なので、Optaneのような特殊なSSDかサーバー向けの高耐久なSSDを選びましょう。
SSD換装前に試したこと
- サーバーファイルの調整(bukkit.yml spigot.yml paper.ymlなど)
- CPUオーバークロック
- プラグインの削減
- エンティティ関連の最適化プラグイン導入
- チャンク関連の最適化プラグイン導入