複数の同時ストリーミングに対応するPlexホームサーバーの適切な規模の決め方

Eva Wong は テクニカルライター であり、 生粋の技術好き としてZimaSpaceで活動しています。ホームラボやオープンソースソフトウェア をこよなく愛する生粋のギークで、複雑な技術概念をわかりやすく、実践的なガイド にまとめることを得意としています。Evaは、セルフホスティングは難しいものではなく、楽しむものだと考えています。チュートリアルを通じて、初めてのNAS構築からDockerコンテナの使いこなしまで、コミュニティがハードウェアのセットアップをわかりやすく理解できるよう 支援しています。、初めてのNAS構築からDockerコンテナの習得まで。

複数ストリームに対応するPlexサーバーの容量は、まず世帯の再生パターンを基準に設計しましょう。ダイレクトプレイ、ソフトウェアトランスコード、ハードウェアトランスコード、リモート帯域幅、字幕の動作によって、ホストにかかる負荷は大きく異なります。

システムは家族の総人数ではなく、実際に発生するピーク時の組み合わせを基準に構築すべきです。同じ4人世帯でも、有線LAN経由ですべてダイレクトプレイできる場合もあれば、複数のリモート視聴で同時に変換が必要な場合もあります。ユーザー数が同じでも、必要なコンピュートとネットワークの役割は異なります。

「4人のユーザー」を実際のワークロードに落とし込む

ピーク時に同時発生するセッションを列挙し、それぞれを想定される再生モード、ソースの解像度、リモートまたはローカルのアクセス、字幕の必要性によって分類します。これにより、曖昧なユーザー数が、サーバーの容量設計とテストに使える再現可能なワークロードになります。

サーバーは、クライアントとの互換性やストリームの要件に応じて、ダイレクトプレイ、ダイレクトストリーム、トランスコードを使い分けます。セッションごとに消費するリソースが変わるため、これを複数ストリームのPlexサーバーの容量設計における基準として把握しておきましょう。

コンピュート、ストレージ、ネットワークの役割を割り当てる

クライアントがソースをそのまま再生できない場合、変換はコンピュートが担います。アプリデータ用ストレージはライブラリの応答性を保ち、メディアストレージはシーケンシャル読み取りを提供し、ネットワークは変換後のストリームを運びます。こうした役割のどれも、単一のCPUベンチマークだけを基準に容量設計すべきではありません。

重要な経路はシンプルに保ちます。安定したローカルのアプリデータ、十分な持続転送速度を備えたメディアストレージ、有線のサーバーネットワークを確保します。変換負荷に見合う場合はハードウェアアクセラレーションを追加しますが、アップロード帯域幅や互換性のあるクライアントの代わりにはなりません。

最弱のリンクを容量設計の基準にする

リモートユーザーがいる場合は、コンピューティング性能より先にアップロード帯域幅が上限を決めることがあります。ソフトウェアトランスコードを複数実行する場合は、CPUが主なボトルネックになることがあります。大規模な共有ホストでは、個々のコンポーネントがスペック上は高速でも、バックグラウンドジョブによってストレージレイテンシやCPUスケジューリングがボトルネックになることがあります。

複数ストリームのPlexに必要な処理能力を測定したところ、テスト済みのIntel N100システムは、CPU負荷が控えめな状態で複数のハードウェアトランスコードに対応しました。このことから、幅広いCPUの分類よりも、コーデックのサポートとアクセラレーションが重要になる場合があるとわかります。

単一ストリームではなく、ピーク時の組み合わせで検証する

予定しているセッションを同時に実行し、各ストリームがDirect Playかトランスコードかを記録したうえで、CPU/GPU負荷、ネットワークスループット、メモリの圧迫度、ディスクレイテンシを測定します。熱やスケジューリングの限界が現れるだけの時間、必要な組み合わせを安定して維持できた場合にのみ、セットアップは合格です。

複数ストリームのPlexに必要な処理能力の限界点では、リソースごとのボトルネック確認において、単一の平均指標に頼らず、CPU、メモリ、ネットワーク、ストレージの使用率、飽和度、エラーを確認します。

新たな役割を明確にできる場合にのみ拡張する

最初のボトルネックが変換処理能力なら、コンピューティング/アクセラレーターの役割を追加またはアップグレードします。ストレージ管理やドライブの拡張が課題になったら、ストレージの役割を追加します。共有サービスによる干渉が発生するなら、1台のボックス内のすべてのコンポーネントを交換するより、2台目のアプリケーションホストを用意するほうがすっきりする場合があります。

初めてのDockerメディアサーバーのセットアップは、コンピューティング、アプリデータ、メディアストレージ、ネットワークの各役割を別々に書き出しておくと評価しやすくなります。

  • ピーク時の各ストリームを再生モード別に分類する
  • リモートへのアップロード速度をLAN速度とは別に測定する
  • 同時に実行するワークロード全体をテストする
  • 実測でボトルネックとなっている役割だけを増強する

NASとサーバーのセットアップ

続きを読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.