負荷の高いDockerホストでPlexデータベースの競合を減らす方法

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

競合する書き込みからPlexのアプリデータI/Oを保護し、データベースを共有サービスではなくPlex専用の状態として維持することで、Plexデータベースの競合を軽減できます。

別のコンテナがバックアップ、インデックス作成、ダウンロード、またはデータベース処理を開始すると、Plexのナビゲーションやライブラリ操作が遅くなりますか?Plex内部を変更する前に、処理が重なる時間帯のアプリデータのディスクレイテンシを測定してください。Plexはサーバーデータディレクトリ内に独自のデータベースファイルを使用します。Dockerホストで実際に調整できるのは、通常、データベース接続プールを増やすことではなく、ストレージの分離、ワークロードのスケジューリング、空き容量の安定性です。

遅延がアプリデータI/Oに伴って発生していることを確認する

Plexのライブラリ操作はローカルのデータベースとメタデータのパスに依存するため、CPUやネットワークに余裕があっても、書き込みの多い別サービスによってアプリケーションの動作が遅く感じられることがあります。まず確認すべきなのは、症状がアプリデータ用デバイスのディスクレイテンシと連動しているかどうかです。

明示的なコンテナリソース制限がない場合、同じピーク時間帯に隣接するサービスがCPU、メモリ、ストレージI/Oを消費し、Plexの動作に影響を与える可能性があります。これが、Plexのデータベース競合について最初に確立すべき基準です。

競合する書き込みワークロードが停止するとすぐにPlexの応答性が戻り、同じメディアが通常どおりダイレクト再生されるなら、クライアントやトランスコーダーの問題ではなく、共有ストレージの競合である可能性が高いでしょう。

データベースのパスを大量書き込みから分離する

Plexのアプリデータを永続的で低レイテンシなパスに配置し、どの他のコンテナがそのデバイスを共有しているかを確認します。重複するワークロードを再実行し、総スループットだけでなくディスク待ち時間やレイテンシも監視してください。

Plexのデータベース競合を測定する際、plexは頻繁にアクセスされるライブラリ状態をSQLiteデータベースに保存します。そのため、データベースのレイテンシと整合性は、大量のメディア転送とは分けて評価する必要があります。

PlexのデータベースはPlexインスタンス専用にしてください。他のコンテナ向けのデータベースサービスとして公開したり、同じ稼働中のデータベースファイルに対して複数のPlexインスタンスを実行したりしないでください。

データベースに手を入れる前にホストを調整する

データベースが健全であれば、まずストレージとスケジューリングの変更から始めます。データベースの最適化は、場合によっては断片化したサーバー状態の改善に役立ちますが、無関係な書き込みによってデバイスが飽和している問題は解決できません。

アプリデータボリュームに空き容量を確保し、信頼性の高いローカルストレージを利用できる場合は、稼働中のデータベース状態にネットワークファイルシステムを使用しないでください。高速なシーケンシャル共有であっても、アプリケーション状態の保存には不向きなレイテンシや切断動作が発生することがあります。

変更後、同じ重複状態で再テストし、Plexコンテナを一度再起動します。隣接するワークロードが想定レベルで実行されている間も、ナビゲーション、スキャン、状態更新が安定していれば、修正は成功です。

競合が繰り返し発生する場合はワークロードを分離する

同じ物理ストレージデバイスで両方のワークロードを同時に処理できない場合は、Plexの設定調整を続けないでください。アプリケーションを最適化し続けても、ストレージ層に存在しないI/O容量を生み出すことはできません。

ハードウェアアクセラレーション対応のメディアスタックは、コンピュート、アプリデータ、メディアストレージ、ネットワークの役割を個別に書き出すと、より簡単に評価できます。

競合が繰り返し発生する場合は、競合するアプリ、Plexのアプリデータ、または書き込みの多いワークロードを別のデバイスに移してください。サーバーが遅いというだけではなく、整合性の問題や破損の証拠がある場合にのみ、データベースの修復を検討します。

  1. 競合するワークロードの実行中にアプリデータのディスクレイテンシを測定する
  2. 書き込みの多いコンテナを分離またはスケジュールする
  3. Plexのデータベースを1つの稼働中サーバーインスタンス専用にする
  4. コンテナを再起動して再テストする

サポートとヒント

もっと読む

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.