2

リモートホストに接続するときにmysqlが遅くなるのは正常ですか、それともローカルホストに接続するのと同じパフォーマンスである必要がありますか?

リモートホストに接続しようとすると、パフォーマンスにわずかな違いがあることに気づいたので、それが正常かどうか疑問に思います。

4

4 に答える 4

5

リモート マシンの処理能力がローカル マシンと同等であると仮定すると、速度の主な違いはネットワーク レイテンシ (ネットワーク トラフィックの往復時間) になります。大量のデータを送信している場合 (たとえば、大きな BLOB の読み取りまたは書き込み)、ネットワーク帯域幅も影響し、「速度が低下」する可能性があります。しかし、一般的に、往復のコストが最大の要因となることがよくあります。多数の「小さな」クエリを実行している場合、ローカル接続とリモート接続を比較すると、このコストの差はかなり大きくなる可能性があります。

好奇心から、一連の更新クエリを単純に実行する、既に作成済みのテストを実行しました。これは MySQL ではなく、別のクライアント/サーバー DBMS を使用しています。したがって、結果は異なる可能性がありますが、考え方は同じであり、相対的な違いはそれほど変わらないと思います。

Local host (using IPC comm):  5.3 seconds
Remote host (UDP comm):  20.2 seconds

これには約 50,000 回の操作が必要でした。リモート ホストは LAN 上で 2 ホップ離れており、(正確に測定した場合)1 バイト ペイロードのパケットのラウンド トリップ レイテンシは約 0.25 ミリ秒でした。

于 2011-02-08T16:36:37.107 に答える
4

これは、プログラムとMySQLデータベースサーバー間のネットワーク接続に完全に依存します。ネットワークが遅いと、データベースが遅く見えるようになります。

「小さなパフォーマンスの違い」(あなたが説明したように)は、リモート接続では正常であると思います。

于 2011-02-08T16:32:16.783 に答える
1

デフォルトでは、MySQL サーバーは、クライアントが最初に接続したときに逆引き DNS ルックアップを実行します。次に、これをキャッシュに保存します。逆引き DNS 解決の速度によっては、パフォーマンスが低下する可能性があります。

于 2011-02-08T16:43:12.700 に答える
0

実行している MySQL クエリの数によって異なります。 MySQL リモート接続が遅い

多くの小さなクエリをより大きなクエリに変換することで、コードを最適化できます。

于 2012-05-18T21:16:09.020 に答える