8

16027.8Chrome Web Zakładka Network Narzędzie Twórca mówi żądań AJAX Dojo odbywają około 44 lat, aby zakończyć

zakładkę Network w Chrome Web Developer Tools pokazuje, że grono moich żądań AJAX biorą 16027.8 dni, aby zakończyć. To jest ... nie czas, który biorą.

Mogę replikować to na wielu maszynach, zarówno w środowiskach programistycznych, jak i produkcyjnych. Dzieje się tak w przypadku wszystkich żądań Dojo AJAX, które mają miejsce onload. Nie dzieje się tak w przypadku innych aplikacji internetowych lub żądań osób trzecich (takich jak logowanie AJAX lub facebook).

Co się dzieje? Czy nasz serwer jakoś to wkręca? Czy jest to błąd w narzędziach do tworzenia chrome (prawie na pewno jest, prawda?), A jeśli tak, czy jest coś, co można z tym zrobić? To sprawia, że ​​wizualny wodospad jest całkiem bezużyteczny, jak można sobie wyobrazić.

Edycja: po pojawieniu się nowych informacji wydaje się, że jest to typowy problem występujący w witrynach IBM Websphere Commerce. A co z serwerem lub kodem? Spójrz tutaj przykłady:

http://www.ikea.com/us/en/catalog/categories/departments/kitchen/# http://www.lavieenrose.com/webapp/wcs/stores/servlet/LVER_10052_10001_-1 http://www.ferragamo.com/shop/en/usa

Edit 2: Ten problem został rozwiązany w najnowszej wersji Chrome.

+1

Bardzo dobra latencja dla tak długiego żądania. – Adam

+1

To jest wersja Chrome 31.0.1650.57 m na Windows 7, jeśli to jakaś pomoc. – MattDiamant

+0

Czy próbowałeś go uruchomić z wyłączonymi wszystkimi dodatkami w przeglądarce? – epascarello

Odpowiedz

7

Ten problem nie jest związany ze strukturą lub serwerem WWW. Problem dotyczy przeglądarki Chrome w wersji 31.0.1650.57.

Teraz problem został rozwiązany i zostanie dostarczony wraz z kolejną stabilną aktualizacją kanału.Fix diff

Jeśli potrzebujesz pilnie naprawy, możesz zaktualizować wersję do wersji deweloperskiej. Instructions

Aby uzyskać więcej informacji, zobacz stronę this issue.

2

Bardzo dziwne. Można odtworzyć także w Chrome 31.0.1650.57 na OS X Mavericks. Testowane łącze w/ikea, zauważył, że Chrome zgłosił 16028.7 dni, opóźnienie 41ms dla zasobu /us/en/iows/tealium.

Charles proxy pokazuje te nagłówki:

HTTP/1.1 304 Not Modified 
Content-Type: application/json 
Last-Modified: Mon, 18 Nov 2013 18:34:51 GMT 
Cache-Control: public, max-age=7200 
Date: Sat, 23 Nov 2013 00:32:26 GMT 
Connection: keep-alive 
Vary: Accept-Encoding 

Aplikacja proxy (Charles) informuje takiego nie dziwny czas - pokazuje 40ms.

Link do lavieenrose.com spowodował, że Chrome zgłasza również czas 16028.7 dni również ... co wydaje się być wspólne. Charles pokazuje:

HTTP/1.1 200 OK 
Date: Sat, 23 Nov 2013 00:46:37 GMT 
Server: IBM_HTTP_Server 
Last-Modified: Tue, 19 Jun 2012 13:05:34 GMT 
ETag: "5c487f-1a15-4c2d2f01a0380" 
Accept-Ranges: bytes 
Vary: Accept-Encoding 
Content-Encoding: gzip 
Content-Length: 1738 
Content-Type: application/x-javascript 

Mój wniosek jest taki, nie jest to odpowiedź serwera lub nagłówki problem. Myślę, że jest to narzędzie Chromium lub WebKit.

Oto szef dev narzędzi JS obiektu, który reprezentuje żądania HTTP, które świadczonych przez kartę sieciową:

https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/devtools/front_end/NetworkRequest.js

Zastanawiam o matematyce w set endTime():

set endTime(x) 
{ 
    if (this.timing && this.timing.requestTime) { 
     // Check against accurate responseReceivedTime. 
     this._endTime = Math.max(x, this.responseReceivedTime); 
    } else { 
     // Prefer endTime since it might be from the network stack. 
     this._endTime = x; 
     if (this._responseReceivedTime > x) 
      this._responseReceivedTime = x; 
    } 
}, 

Nie ma jeszcze odpowiedzi, ale może ktoś, kto ma lepszy wgląd w to, co WebKit/Chromium DevTools może zobaczyć ...

Powiązane problemy