私はクライアントとサーバー間の双方向通信にWebソケットを使用するWebアプリケーションを作成しています。私の主な関心事は、ユーザーが知覚する待ち時間なので、私ができることは何でも測定し、プロファイリングしています。特に、私はonmessage()イベントで現在時刻を取得しています。これは便利ですが、イベントがブラウザのイベントループにプッシュされたことを知りたいとき - onmessageイベントが発生する前に起こります。 Websocketのタイミング:websocketメッセージがブラウザに到着した正確な時刻を取得するにはどうすればよいですか?
は、Chromeデベロッパーツールでは、私は、イベントがイベントループに入る時点で、私が思うに、「ネットワーク - >フレーム」タブで回を参照してください。しかし、私はこれをJavascriptでプログラムでキャプチャする必要があります。どのようにこれを行うにはどのようなアイデア?いくつかのケースでは、開発ツールに表示される時間とonmessageイベントでキャプチャした時間との間に約10ミリ秒の違いがあることがありました。私は、差が常に10ミリ秒ほど小さいか、ページ内で起こっているレンダリングやその他の事情により、その差がはるかに大きいかどうかを表示するようにしたいと思います。
あなたは実際に知覚されたレイテンシーを使用しているか、早すぎる最適化を受けているだけで問題が発生していますか?問題が発生している場合は、実際に毎秒30kのピングを送信していますか?そのようなpingはhealthcare.govのようなサイトをダウンさせる可能性があります...最後に、ほとんどの人間は10msの違いを認識しませんので、コードで10msの時間をキャプチャすることができれば、 devで見ている。ツールは、それは十分です、次の問題に移動します。 –
レイテンシは私の大きな関心事であり、実際には発生しています。私はそれを減らす方法を探しています。メッセージサイズ、物理的な場所、同時ユーザー数などの待ち時間に対するさまざまなパラメータの影響を調べています。私の測定値がわずか10ミリ秒であるとは確信していないからです。ブラウザはメッセージが到着したときを知っているように見えるので、この情報を取得する方法があると思っています。 30kについては、これは私の多くの実験の1つに過ぎません。必ずしも典型的なメッセージサイズではありません。 –