Wie kann man langsame Browsing-Geschwindigkeit debuggen?

10

Ich verwende Ubuntu 12.04, Chromium 18.0.1025.151 (Developer Build 130497 Linux) Ubuntu 12.04, Firefox 12.0, aber ich bekomme eine schlechte Browsing-Geschwindigkeit. Der Browser zeigt immer "Warten auf aaa.bbb.com" am unteren Rand des Browsers an. Wie kann ich dies debuggen und den Grund herausfinden? Ich verbinde mich über das Bluetooth PAN-Netzwerk eines Android-Geräts mit dem 3G-Netzwerk. Einige Statistiken unten.

$ dig asdsa.com

; <<>> DiG 9.8.1-P1 <<>> asdsa.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39878
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 13

;; QUESTION SECTION:
;asdsa.com.         IN  A

;; ANSWER SECTION:
asdsa.com.      307707  IN  A   200.31.91.194

;; AUTHORITY SECTION:
com.            34662   IN  NS  e.gtld-servers.net.
com.            34662   IN  NS  a.gtld-servers.net.
com.            34662   IN  NS  k.gtld-servers.net.
com.            34662   IN  NS  h.gtld-servers.net.
com.            34662   IN  NS  g.gtld-servers.net.
com.            34662   IN  NS  l.gtld-servers.net.
com.            34662   IN  NS  j.gtld-servers.net.
com.            34662   IN  NS  c.gtld-servers.net.
com.            34662   IN  NS  b.gtld-servers.net.
com.            34662   IN  NS  m.gtld-servers.net.
com.            34662   IN  NS  d.gtld-servers.net.
com.            34662   IN  NS  f.gtld-servers.net.
com.            34662   IN  NS  i.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net. 50538   IN  A   192.5.6.30
a.gtld-servers.net. 59333   IN  AAAA    2001:503:a83e::2:30
b.gtld-servers.net. 40208   IN  A   192.33.14.30
b.gtld-servers.net. 45531   IN  AAAA    2001:503:231d::2:30
c.gtld-servers.net. 45531   IN  A   192.26.92.30
d.gtld-servers.net. 45526   IN  A   192.31.80.30
e.gtld-servers.net. 45526   IN  A   192.12.94.30
f.gtld-servers.net. 40177   IN  A   192.35.51.30
g.gtld-servers.net. 35936   IN  A   192.42.93.30
h.gtld-servers.net. 40177   IN  A   192.54.112.30
i.gtld-servers.net. 45526   IN  A   192.43.172.30
j.gtld-servers.net. 45526   IN  A   192.48.79.30
k.gtld-servers.net. 35936   IN  A   192.52.178.30

;; Query time: 227 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jun  6 22:40:19 2012
;; MSG SIZE  rcvd: 499


$ ping google.com
PING google.com (74.125.236.199) 56(84) bytes of data.
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=1 ttl=54 time=173 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=2 ttl=54 time=162 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=3 ttl=54 time=228 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=4 ttl=54 time=236 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=5 ttl=54 time=162 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=6 ttl=54 time=215 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=7 ttl=54 time=218 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=8 ttl=54 time=232 ms
64 bytes from maa03s17-in-f7.1e100.net (74.125.236.199): icmp_req=9 ttl=54 time=212 ms
^C
--- google.com ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8007ms
rtt min/avg/max/mdev = 162.119/204.385/236.105/28.286 ms

Gibt es auch einen Browser, der beim Laden einer Seite ausführlicher ist?

Bearbeiten: Weitere Informationen aus der Antwort von @izx

$ curl -w "@curl-timing.cfg" -o /dev/null -s http://www.google.com/

      DNS lookup                          :  0.363
      Connect to server (TCP)             :  0.512
      Connect to server (HTTP/S)          :  0.000
      Time from start until transfer began:  0.512
      Time for redirection (if any)       :  0.000
      Total time before transfer started  :  0.749

             Total time                   :  0.749
             Size of download (bytes)     :  221
             Average d/l speed (bytes/s)  :  294.000

$ curl -w "@curl-timing.cfg" -o /dev/null -s http://india.gov.in

      DNS lookup                          :  0.351
      Connect to server (TCP)             :  0.526
      Connect to server (HTTP/S)          :  0.000
      Time from start until transfer began:  0.526
      Time for redirection (if any)       :  0.000
      Total time before transfer started  :  0.770

             Total time                   :  1.643
             Size of download (bytes)     :  34346
             Average d/l speed (bytes/s)  :  20905.000
Binoy Babu
quelle
Starten Sie es mit dem Terminal?! und wenn das nicht funktioniert, fügen Sie den Parameter -debug oder -dev hinzu, ich habe keine Ahnung, ob dies funktioniert, aber es ist einen Versuch wert.
Dr_Bunsen
Das Problem liegt wahrscheinlich in der Tatsache, dass Sie über eine PAN eines Mobilgeräts mit mehr als 3G verbunden sind, was manchmal ohnehin langsam sein kann. Die langsamen Pings von Google deuten auch darauf hin.
Jackweirdy
Schauen Sie sich auch die Ausgabe von netstat -anan, um zu sehen, welche offenen, bandbreitenintensiven Verbindungen Sie möglicherweise haben, ohne sich dessen bewusst zu sein (wie der automatische Aktualisierungsmechanismus von Ubuntu, ein vergessener Torrent-Client usw.)
flauschiger
@jackweirdy Ich spreche nicht nur von langsamem Surfen. Es wird manchmal für immer geladen und wenn ich auf "Los" klicke, wird es sofort geladen. Über langsame Pings komme ich aus Indien.
Binoy Babu
@fluffy Nichts verbraucht Bandbreite
Binoy Babu

Antworten:

15

Verwenden curlSie diese Option , um herauszufinden, welcher Teil des Ladevorgangs einer Website Ihnen Probleme bereitet

Im Allgemeinen können Sie das "Browsen" (oder http / s) curlmit der -wOption debuggen .

  • Öffnen Sie das Terminal und sudo apt-get install curl(falls Sie es noch nicht haben)
  • Erstellen Sie eine Datei mit dem Namen " curl-timing.cfgIhr Ausgangsverzeichnis". Fügen Sie ein:

    \ n
          DNS-Suche:% {time_namelookup} \ n
          Verbindung zum Server (TCP) herstellen:% {time_connect} \ n
          Verbindung zum Server herstellen (HTTP / S):% {time_appconnect} \ n
          Zeit vom Start bis zum Beginn der Übertragung:% {time_pretransfer} \ n
          Zeit für die Umleitung (falls vorhanden):% {time_redirect} \ n
          Gesamtzeit vor Beginn der Übertragung:% {time_starttransfer} \ n
    \ n
                 Gesamtzeit:% {time_total} \ n
                 Größe des Downloads (Bytes):% {size_download} \ n
                 Durchschnittliche d / l-Geschwindigkeit (Bytes / s):% {speed_download} \ n
    \ n
    
  • Versuchen Sie dann, eine beliebige URL herunterzuladen, beispielsweise Google, mit:

    curl -w "@curl-timing.cfg" -o /dev/null -s http://www.google.com/

  • und die Ausgabe hat die Form:

      DNS lookup                          :  0.012
      Connect to server (TCP)             :  0.031
      Connect to server (HTTP/S)          :  0.000
      Time from start until transfer began:  0.031
      Time for redirection (if any)       :  0.000
      Total time before transfer started  :  0.098
    
             Total time                   :  0.117
             Size of download (bytes)     :  14527
             Average d/l speed (bytes/s)  :  124347.000
    

  • Vergleichen Sie mit dem Abrufen einer Webseite von einem indischen Server in die USA:

    $ curl -w "@ curl-Timing.cfg" -o / dev / null -s http://india.gov.in

      DNS lookup                          :  0.377
      Connect to server (TCP)             :  0.716
      Connect to server (HTTP/S)          :  0.000
      Time from start until transfer began:  0.716
      Time for redirection (if any)       :  0.000
      Total time before transfer started  :  1.974
    
             Total time                   :  3.650
             Size of download (bytes)     :  34345
             Average d/l speed (bytes/s)  :  9408.000
    


  • Dies zeigt, welche Schritte das schwache Glied sind. Versuchen Sie es mit mehreren Websites und sogar mit Dateidownloads. Wenn curlSie insgesamt gute Ergebnisse erzielen, liegt das Problem möglicherweise bei Ihrem Browser / Ihrer Anwendung anstelle von TCP / HTTP und Ihrer Netzwerkverbindung.
  • Weitere Optionen finden Sie in der Curl-Manpage . Suchen Sie nach, --writeoutum schnell zum entsprechenden Abschnitt zu springen.
ish
quelle
1
Wow, Curl ist zu diesem Zeitpunkt wirklich ein Schweizer Taschenmesser. Ich wusste nichts über die Option -w. Praktisch!
flauschig
@izx siehe bearbeitete Frage. Die Ausgabe scheint in Ordnung zu sein. Auch Elinks funktionieren gut. Bei Verwendung des betroffenen Browsers wird dieselbe Seite entweder schnell (normal) oder für immer geladen. Was macht der Browser (Chromium), während "Warten auf <Host> ..." angezeigt wird?
Binoy Babu
Bitte versuchen Sie es mit den Websites, die Ihnen Probleme bereiten - ich habe diese beiden nur als Beispiel verwendet. Ich verwende (regelmäßig) kein Chrom, also warte ich wohl darauf, dass die Verbindung hergestellt wird ... das Connect to Server (TCP/HTTP)Teil.
ish
1
Coole Sache! Aber für mich heißt es: DNS lookup: 8.5 sec / Connect to server (TCP): 9.0 sec / Total time: 9.6 sec"Das passt nicht zusammen. (?)
phil294