特定の周波数で送信されたWebサーバーへの要求が同じ頻度で到着する保証がありますか?

私のプログラムは、3秒に1度、Webサーバーに要求を送信します。 Webサーバーは、プログラムと同じプライベートネットワーク上のマシン上で実行されています(同じ部屋にあります)。

3秒間隔でWebサーバーに到着するという保証はありますか?

もしそうでなければ、それは3に近いでしょうか? 100リクエストのうち1リクエストが0.5s以内に到着するのは普通ですか?

0

3 答え

遅れを引き起こす唯一のことは、ネットワーク上の輻輳ですが、遅れはミリ秒であることになります。輻輳によりパケットが破棄され、再送信が顕著な遅延を引き起こす可能性があります。

プライベートネットワーク上で他のデータ集約型の処理を行っている場合を除き、遅延が発生する可能性はほとんどありません。

3
追加された
<<遅延を引き起こす唯一のものはネットワーク上の輻輳です>>は真実ではありません。 Webサーバーは、Microsoft Wordと同様に、アプリケーションです。あなたのコンピュータのCPU /ファン/メモリが非常に高いときに、アプリケーションによって「速度が遅くなる」ことに気がつきましたか?
追加された 著者 Ron Royston,

クライアントマシンとサーバーマシンとネットワークの両方で遅延が発生する機会がたくさんあります。

どのくらい実際に遅延するかは、システムの負荷に大きく依存します。負荷が軽い場合、遅延は無視できるほどです。一方、いくつかのリソース(クライアントCPU、サーバーCPU、サーバーストレージ、ネットワーク帯域幅、サーバーmaxclientsなど)が飽和している場合、遅延ははるかに大きく変動する可能性があります。

3秒ごとにリクエストを送信するのではなく、最後のリクエストが完了してから3秒後にリクエストを送信するように、クライアントアプリケーションを再設計することもできます。これにより、既に過負荷状態になっているサーバーに追加の負荷がかかるのを避けることができます。

1
追加された

実際にはおそらく必ずしもそうではありませんが。 Webサーバーは実際にサーバー上で動作するアプリケーションなので、イーサネットやIPネットワーキングレイヤーより複雑です。サーバーのCPU /メモリー使用率も要因になります。

より良いアーキテクチャは、CometまたはXHR long pollingを使用することです。

0
追加された