web-dev-qa-db-ja.com

httpのクライアントラウンドトリップ時間を検出する安価な方法

サーバーのポート80に接続する各IPのラウンドトリップ時間を検出する方法を見つけようとしています。これを行うための良い方法は何ですか?

多くの接続があり、各IPにpingを実行することは実用的ではありません。サーバーがsyn/ackパケットを送信してから、サーバーがackを受信するまでの時間差を測定することを考えていました。

これを安く記録する方法はありますか?たぶん、いくつかの魔法のtcpdumpフィルターを使用していますか?

この演習の目的は、データを集約し、ルーティングの非効率性があるかどうかを把握することです。 1つの地域の1つのISPが誤ってルーティングしている可能性があるとしましょう。

FWIWWebサーバーはnginxです。

6
sajal

$ tcpinfo_rtt、$ tcpinfo_rttvar、$ tcpinfo_snd_cwnd、$ tcpinfo_rcv_space

information about the client TCP connection; available on systems that support
the TCP_INFO socket option

http://nginx.org/en/docs/http/ngx_http_core_module.html#variables

6
VBart