Jak debugować małą prędkość przeglądania?

10

Używam Ubuntu 12.04, Chromium 18.0.1025.151 (Developer Build 130497 Linux) Ubuntu 12.04, Firefox 12.0, ale mam słabą prędkość przeglądania. Przeglądarka zawsze wyświetla „Oczekiwanie na aaa.bbb.com” u dołu przeglądarki. Jak mogę to debugować i znaleźć przyczynę? Łączę się z siecią 3G za pośrednictwem sieci Bluetooth PAN urządzenia z systemem Android. Niektóre statystyki poniżej.

$ 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

Czy istnieje także przeglądarka, która zapewnia więcej informacji podczas wczytywania strony?

Edycja: więcej informacji z odpowiedzi @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
źródło
uruchomić go z terminalem ?! a jeśli to nie działa, dodaj parametr -debug lub -dev, nie mam pojęcia, czy to działa, ale warto spróbować.
Dr_Bunsen
Problem najprawdopodobniej polega na tym, że jesteś podłączony przez PAN urządzenia mobilnego, które jest przez 3G, które i tak może czasem być wolne. Sugerują to również wolne pingi z google.
jackweirdy
Zobacz także wyjście, netstat -anaby zobaczyć, jakie możesz mieć otwarte połączenia ograniczające przepustowość, nie będąc tego świadomym (takie jak mechanizm automatycznej aktualizacji Ubuntu, zapomniany klient torrentów itp.)
puszysty
@jackweirdy Nie mówię o powolnym przeglądaniu. Czasami ładuje się wiecznie, a kiedy klikam ponownie, ładuje się natychmiast. O powolnych pingach, jestem z Indii.
Binoy Babu,
@fluffy Nic nie zużywa przepustowości
Binoy Babu

Odpowiedzi:

15

Użyj, curlaby dowiedzieć się, która część procesu wczytywania strony internetowej sprawia ci problemy

Ogólnie można debugować „przeglądanie” (lub http / s) za pomocą curltej -wopcji.

  • Otwórz terminal i sudo apt-get install curl(jeśli jeszcze go nie masz)
  • Utwórz plik o nazwie curl-timing.cfgpowiedzmy twój katalog domowy. W nim wklej:

    \ n
          Wyszukiwanie DNS:% {time_namelookup} \ n
          Połącz z serwerem (TCP):% {time_connect} \ n
          Połącz z serwerem (HTTP / S):% {time_appconnect} \ n
          Czas od rozpoczęcia do rozpoczęcia transferu:% {time_pretransfer} \ n
          Czas na przekierowanie (jeśli istnieje):% {red_czasu} \ n
          Całkowity czas przed rozpoczęciem przesyłania:% {time_starttransfer} \ n
    \ n
                 Całkowity czas:% {time_total} \ n
                 Rozmiar pobieranego pliku (w bajtach):% {size_download} \ n
                 Średnia prędkość d / l (bajtów / s):% {speed_download} \ n
    \ n
    
  • Następnie spróbuj pobrać dowolny adres URL, załóżmy, Google, z:

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

  • a dane wyjściowe będą miały postać:

      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
    

  • Porównaj z pobraniem strony internetowej z indyjskiego serwera do 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
    


  • Dzięki temu dowiesz się, które kroki są słabym ogniwem. Wypróbuj wiele witryn, a nawet pliki do pobrania. Jeśli curlogólnie daje dobre wyniki, problem może dotyczyć przeglądarki / aplikacji, a nie protokołu TCP / HTTP i połączenia sieciowego.
  • Aby uzyskać więcej opcji, zobacz stronę podręcznika curl . Wyszukaj, --writeoutaby szybko przejść do odpowiedniej sekcji.
ish
źródło
1
Wow, curl naprawdę jest szwajcarskim nożem wojskowym w tym momencie. Nie wiedziałem o opcji -w. Poręczny!
puszysty
@izx zobacz edytowane pytanie. Wyjście wydaje się w porządku. Elinks również działają dobrze. Podczas korzystania z przeglądarki, której dotyczy problem, ta sama strona albo ładuje się szybko (normalnie), albo ładuje się wiecznie. Co robi przeglądarka (Chromium), gdy wyświetla komunikat „Oczekiwanie na <host> ...”?
Binoy Babu
Wypróbuj to na stronach, które powodują problemy - wykorzystałem je jako przykład. Nie używam (regularnie) chromu, więc zgaduję, że czeka na połączenie ... Connect to Server (TCP/HTTP)część.
ish
1
Fajna sprawa! Ale dla mnie mówi: DNS lookup: 8.5 sec / Connect to server (TCP): 9.0 sec / Total time: 9.6 sec"To nie pasuje do siebie. (?)
phil294