0

しばらくの間、この問題が発生しており、修正方法がわかりません。アプリケーションで PHP + Apache を実行している Docker コンテナがあります。MySQL サーバーと MongoDB サーバーは、ホストと同じネットワーク上にあります。そう:

  • MySQL DB サーバー IP: 192.168.1.98
  • モンゴ DB サーバー IP: 192.168.1.98
  • ホスト: 192.168.1.90

何らかの理由で、コンテナで実行されているアプリケーションと DB サーバー間の接続が非常に遅く、長い​​クエリを実行するのに 1 分以上かかる場合があります。

問題はDBサーバーではないと言えます。同じサーバーで同じアプリケーションを実行すると高速に動作するため、ネットワークに関連していると思いますが、何が原因か、理由がわかりません。

これについて何かアドバイスをいただけますか?

4

1 に答える 1

0

あなたは多くの情報を提供していませんが、あなたが説明したことに基づいています

  1. 最も単純な理由は、ネットワーク経由で転送されるデータの量が多いことです。ホストが同じネットワーク上にある場合でも、ネットワーク上のマシンのペア間で大きなファイルを転送するのにかかる時間は、同じホストからファイルをコピーするよりもかなり遅くなります。

  2. MongoDB と MySQL DB の両方を同じホストで実行しているように見えるため、お互いの実行を簡単に妨害する可能性があります。コンテナはオペレーティング システム レベルでそれらを分離しますが、ハードウェアはコンテナを識別しません。両方のコンテナーがディスクを使用しようとすると、パフォーマンスが低下する可能性があります。

私は個人的にこれらの両方の問題にさまざまな時期に遭遇しました。これらの問題は単純に見えますが、パフォーマンスに大きな影響を与える可能性があります. 問題をよりよく理解するのに役立つ追加情報を提供できれば幸いです。

于 2017-01-10T18:45:12.690 に答える