0

次のようなものを使用して、ScriptEditorを使用してFiddlerで全体的なレイテンシーをスクリプト化する方法を確認できます。

if (oSession.HostnameIs("www.testsite.co.uk")) {
    oSession["request-trickle-delay"] = "500";
}

ただし、より具体的に、ヘッダーを含むリクエストの最初のパケットと本文を含むセカンダリパケットの間の遅延を指定する必要があります。

リクエストヘッダーを受け取っているWebクライアントの0.3%で発生している問題をシミュレートしようとしていますが、リクエスト本文がありません。一貫したユーザーエージェントはありません。さまざまなブラウザやオペレーティングシステムが影響を受けているようです。すべてのPOSTリクエストは、XMLHttpRequests(XHR)から発信されています。これらは次のようになり、JSON本文が含まれています。

POST http://www.sitename.co.uk/folder/controller/list HTTP/1.1
Host: www.sitename.co.uk
Connection: keep-alive
Content-Length: 245
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.sitename.co.uk
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17
Content-Type: application/json
Referer: http://www.sitename.co.uk/folder/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: **removed**

{"bb":{"tl":{"lat":51.590527931951975,"lng":-0.636399852539089},"tr":{"lat":51.590527931951975,"lng":0.42652739355466096},"bl":{"lat":51.29736817638294,"lng":-0.636399852539089},"br":{"lat":51.29736817638294,"lng":0.42652739355466096}},"b":true}

ファイアウォールレベルで設定されたMTUサイズを確認しましたが、1500に設定されていますが、これで問題ないと思います。

Webサーバーはロードバランサーの背後にあり、Windows Server 2008R264ビットでIIS7.5を実行しています。WebサイトはASP.NETMVC3で実行されています。

4

1 に答える 1

1

ヘッダーが複数のTCP/IPパケットに含まれている可能性があり、本文がヘッダーとは異なるパケットに含まれている必要があることは何もありません。しかし、私はあなたがパケットという用語を大まかに使用していると思います

Fiddler v2.4.2.6には、Request-Body-Delay探している遅延を有効にするセッションフラグがあります。たとえば5000、体を5秒遅らせるように設定します。(v2.4.2.6は現在アルファ版です:https ://fiddler2.com/dl/fiddler2alphasetup.exe )

FWIW、ヘッダーは送信されたが、POST本文は送信されなかった可能性があります。これは、バグのあるプラグインがインストールされている場合にIEで発生する可能性があります(例については、 IE10がjQuery$ .ajaxを介したPOSTデータの送信を拒否する理由を参照してください)。

この問題は、接続が切断された場合にも発生する可能性があります。たとえば、OnBeforeUnloadメソッドでPOSTを実行しようとすると、ヘッダーは送信されますが、POST本文が発行される前にプロセスが強制終了されます。

于 2013-01-16T17:38:58.077 に答える