問題タブ [roundtrip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tcp - Linux カーネルの RTT: ユニット
Linux カーネルで使用されている rtt 値を取得しようとしています。そこに、rtt 値を与える 2 つの変数が表示されます。
srtt -- (平滑化された RTT) rcv_rtt_est、実際には受信側の RTT 推定
さて、これらの変数出力の単位は実際にはわかりません。これらは jiffies 単位であると思います。それらをミリ秒に変換すると、値が非常に低くなります (ほぼゼロ)。
したがって、これらの両方の値がミリ秒で使用する必要があるため、これらの両方の値がジフィーまたは他の単位であるかどうかを確認したいだけで、それらを直接またはミリ秒またはマイクロ秒で使用しても満足のいく出力が得られません。
コードのコメントには何も見つかりませんでしたが、右に 3 シフトしたことを示すコメントが表示されます。
したがって、次の方法を使用してミリ秒に変換しました。
networking - 往復時間 (スライディング ウィンドウ)?
2 つの質問があります。
RTT を計算する際に、送信時間を考慮する必要がありますか?
2 つのステーション M と N の間の距離は L km です。すべてのフレームは K ビット長です。キロメートルあたりの伝搬遅延は t 秒です。T ビット/秒をチャネル容量とします。処理遅延が無視できると仮定すると、スライディング ウィンドウ プロトコルが使用されている場合、フレーム内のシーケンス番号フィールドの最小ビット数は最大利用率になりますか?
c# - DataContractSerializer で不明な型を無視する方法
後方互換性と前方互換性を維持し、(可能であれば) 往復をサポートするために、アプリケーションで DataContractSerializer を使用しようとしています。
ラウンドトリップをサポートすることは可能ですか、そうでない場合は、次のシナリオで不明な型を無視することは可能ですか?
object 型のプロパティを持つクラス ClassWithObject があり、古いバージョンのアプリケーションがこのプロパティに CurrentAdditionalData 型のオブジェクトを格納したとします。
アプリケーションの新しいバージョンでは、CurrentAdditionalData クラスを認識しているため、このファイルをロードしても問題ありません。
しかし、新しいバージョンが FutureAdditionalData 型のオブジェクトを格納している場合、古いバージョンはそれを認識していないのでしょうか?
古いバージョンがこのファイルを読み込もうとすると、この型がわからないため、SerializationException が発生します。
未知の型を認識して単純に無視するように古いバージョンを変更することは可能ですか?
または、さらに良いことに、不明なオブジェクトを ExtensionData にロードし、古いバージョンでファイルを再度保存する場合、変更せずに書き出すことは可能ですか?
ping - PingICMPメッセージを使用したラウンドトリップ時間の定義
「単純な」pingコマンドを使用してRTTをどのように定義しますか?
例(Win7):
私の理解は次のとおりです。600バイトのサイズのICMPメッセージがGoogleに送信されます(リクエスト)。Googleはそのメッセージ(600バイト)をコピーして宛先に送り返します(返信)。RTTは、600バイトのメッセージの送信と取得を含む手順全体の(待機時間)時間です。
そうですか?
google-maps-api-3 - Google Map API V3を使って往復の最速・最短距離を求める方法
目的地は 2 つあります A. 185 Railroad St, Williamstown, VT 05679, USA
B. 244 Granger Rd, Berlin, VT 05602, United States
の場合Single trip
、私は最速のパスをVT-63 W
持っ13 miles
て19 mins
いround trip
ます26 miles and 38 mins
。しかし、なぜGoogleが表示するの20 miles and 40 mins for round trip
ですか?
ご参照くださいRoundTrip_Mileage.png
往復の最速パスを見つけるにはどうすればよいですか?
GoogleマップAPIがこれが往復であることを理解できる理由はありますか?
または、これが往復であり、往復の距離とマイレージが2倍以上であることがわかるロジックはありますか?
database - ehcache クエリ キャッシュ ミス後にデータベース ラウンドトリップを無効にしますか?
適切に構成されたキャッシュ属性で hibernate + ehcache を使用します。アプリケーションの起動時に、キャッシュを準備し、ORM を介して DB に対して可能なすべてのクエリを実行します。これは、「有効なパラメーターの組み合わせ」が入力された場合に完全に機能します。それ以外の場合は、キャッシュ ミスが発生し、DB へのラウンド トリップが発生します。データは純粋に静的です。
すべてのケースの 70% はミスであるため、クエリ/エンティティ レベルでキャッシュ ミスを別の方法で処理できれば、多くのメリットが得られます。
ウォームアップ後にキャッシュ ミスが発生した場合、DB への hibernate + ehcache を停止する方法はありますか? 休止状態に API フックはありますか?
理想的なケースでは、キャッシュのウォームアップ後に DB アクセスがまったく実行されません。
ティア
フランク
javascript - クライアント側の ack 遅延を確認しています
TCP 接続の rtt を測定しようとしていますが、いくつか問題が発生しました。rtt は、 getsockoptを介してサーバー ソケットの tcp_info を見つけることによって測定されます。残念ながら、クライアントが遅延 ackを使用している場合、サーバーから送信されたパケット間の遅延が測定された rtt に追加されるため、このメトリックは大きく影響を受けます。
クライアントが遅延 ack (つまり、標準の Windows TCPAckFrequency 2) を使用していることを確認できれば、「実際の」rtt をプログラムで把握できます。ただし、これは現実的ではありません。アプリケーションは Web ブラウザー (Javascript/WebSocket) で実行される (tcp 機能の) デモであり、Web ページを機能させるためにレジストリをいじるようにユーザーに依頼したくないからです。 .
適切な測定値を得るための唯一の実際の可能性は、1: クライアントのソケット (現在は WebSocket、これは必須ではありません) に tcp ack 頻度を設定するか、2: クライアントが遅延 ack を使用しているかどうかを何らかの方法で調べることです。かどうかを判断し、それに応じて測定値を調整します。
最初の解決策は TCP_QUICKACK を設定することで可能ですが、javascript ベースの tcp ソリューション (ネイティブの WebSocket または Socket.io) でその可能性を見つけられませんでした。同様に、クライアントの設定を確認する良い方法も見つかりませんでした。何か案は?
python - Pythonでpingの最大、最小、平均RTTを計算するには?
それは私たちの課題の 1 つの質問です。
Pythonを使用して RTT を計算し
time.clock()-InitialTime
ましたが、最大、最小、平均 RTT になると行き詰まりました。
私は何をすべきか?パケットサイズと関係があると思いますか?