web-dev-qa-db-ja.com

レストサービスのネットワーク遅延を調べるにはどうすればよいですか

私は2つのJavaアプリケーションがTomcatにデプロイされています。アプリケーション間通信のために、アプリケーションのjarファイル(Java API)を他のアプリケーションに提供し、それが高速なメソッド呼び出しになります。

現在、休憩サービスを作成することを考えています。追加の時間を追加できますかもちろんそうですが、最悪の場合はいくらですか。アプリケーションはイントラネット上にあることに留意してください。

ネットワーク遅延を測定するにはどうすればよいですか?参加するのが一番だと思います。

専門家の助言/意見が必要です。そのような場合、どのようにして設計上の決定を下すことができますか?

2
Vipin

TL; DRレイテンシは一般的に予測不可能です。

最悪のケースの調査から始めます。 RESTホストがダウンした場合、コールはTCPタイムアウト(構成可能、デフォルトでは10分に達する可能性があります)の後にのみ戻ります)。

これを防ぐには、クライアント側で適切なタイムアウトを設定し、障害を処理する準備をします。

待ち時間は、距離、ハードウェア、ソフトウェア、ペイロードにも依存します。

ハードウェア、OS、および距離の遅延は、単純なpingコマンドで測定できますが、WebサーバーとTCP接続では、通常、ペイロードにも依存する追加の大幅な遅延が発生します(静的リソース、たとえば、処理が簡単です)。

モックされたWebサーバーのレイテンシを測定するためにさまざまな手法を試すことができますが、実際のビジネスロジックを導入すると大幅に変化することに注意してください。

あなたの質問に答えるために、あなたのサイトのパフォーマンスを測定する多くのサービスがウェブに出ていますが、あなたはビジネスロジックを変えるたびにそれらを使わなければなりません。

1
Basilevs