2016-03-07 61 views
0

我使用Fiddler進行性能評估,並注意到一些HTTP調用一直需要〜1000ms。爲什麼Fiddler爲某些TCP連接添加1秒的延遲?

這不是隨機的;在場景中的3個呼叫中,它始終是相同的呼叫,速度很慢,但重啓後可能會改變。

我用了很多時間尋找在我的代碼的元兇,但立即禁用提琴手問題消失後,請求然後採取80ms的,因爲它應該。從第一次調用速度較慢的截圖

注意,在TCP連接到本地主機需要1001ms,但我也觀察到了第二個電話,而不是第一個這個問題,而在其他情況下。

我連接到一個Apache Tomcat服務器上的Windows 10

我已禁用任何「模擬調制解調器」。目標服務器和Fiddler本身位於本地主機上。

我使用的是最新版本(版本4.6.2.2)。

有什麼辦法避免這種延遲?

Request Count: 1 
Bytes Sent: 1 519 (headers:385; body:1 134) 
Bytes Received: 5 090 (headers:518; body:4 572) 
ACTUAL PERFORMANCE 
-------------- 
ClientConnected: 09:44:00.885 
ClientBeginRequest: 09:44:00.886 
GotRequestHeaders: 09:44:00.886 
ClientDoneRequest: 09:44:00.886 
Determine Gateway: 0ms 
DNS Lookup: 0ms 
TCP/IP Connect: 1001ms <============ 
HTTPS Handshake: 0ms 
ServerConnected: 09:44:01.888 
FiddlerBeginRequest: 09:44:01.888 
ServerGotRequest: 09:44:01.888 
ServerBeginResponse: 09:44:01.964 
GotResponseHeaders: 09:44:01.964 
ServerDoneResponse: 09:44:01.964 
ClientBeginResponse: 09:44:01.964 
ClientDoneResponse: 09:44:01.964 
Overall Elapsed: 0:00:01.078 
RESPONSE BYTES (by Content-Type) 
-------------- 
application/xml: 4 572 
~headers~: 518 

Timeline

回答

0

與埃裏克·勞倫斯in his answer的幫助下,問題是由使用127.0.0.1而不是本地主機解決。

說實話,我不知道在這一點上,爲什麼這樣可以解決問題,或者如果我可以讓本地主機通過某種方式改變一下我的配置正常工作。如果我瞭解更多信息,我會發布更新。

+0

好吧,它可能與IPv6有關。有關相關討論,請參閱http://stackoverflow.com/questions/11310564/php-to-easyphp-mysql-server-1-second-connection-delay。 –