2016-11-14 4 views
0

私は複数のNode.jsサーバーを持っており、それぞれのクライアントに最も近いもの(または最小ホップ)に接続したいと考えています。pingは最適なサーバーを見つける最も効果的な方法ですか?

現在のところ、私はクライアントが最初に応答するサーバー(つまり、最も低いping)に接続しています。

しかし、これは実際には最高のサーバーまで人々を照合する正確な方法でしょうか?そうでない場合は、より良い方法は何でしょうか?

答えて

0

単一のpingを使用すると、1つのラウンドトリップ時間メトリックが得られます。これは何もないより優れており、(常にそうとは限らないが)多くの場合、そのサーバーに対する一般的なネットワーク待ち時間のための十分なプロキシーとなりうる。これで始めることは問題ありません。

  1. pingが一般的になるよう、ファイアウォールによって
  2. ICMPは、一般的にブロックされているOSを直接ではないアプリケーションなので、ping可能サーバがクラッシュしたか、遅いアプリケーションによって処理されたICMPメッセージを次のとおりです。ということを覚えておいてくださいunpingableサーバーは実際にアプリケーションを正常に処理している可能性があります。 「最良の」サーバは多くの複雑であり、あなたが「最高」の高品質な決意をしたい場合、あなたはおそらく考慮に入れ、より総合的に含めたサーバーの最近のパフォーマンスを取る必要がありますしかし

最近のアプリケーションレベルの応答時間、アクティブな接続の総数、CPU負荷、I/O負荷などのようなものがあります。クライアントが基本的なヘルス/パフォーマンスメトリックを要求し、サーバーがそれらを送信するアプリケーションレベルの方法それをランク付け可能な数値スコアに変換するアルゴリズムを使用します。私は空の応答を得るために遅れて良い次のステップは、各サーバーの平均(または百分位数)の応答時間を最後の1分間程度調べて、最も時間の短いものを選択することだと思います。

関連する問題