느린 브라우징 속도를 디버깅하는 방법?


10

Ubuntu 12.04, Chromium 18.0.1025.151 (개발자 빌드 130497 Linux) Ubuntu 12.04, Firefox 12.0을 사용하고 있지만 탐색 속도가 느립니다. 브라우저는 항상 브라우저 하단에 "Waitng for aaa.bbb.com"을 표시합니다. 어떻게 디버깅하고 이유를 찾을 수 있습니까? Android 기기의 Bluetooth PAN 네트워크를 통해 3G 네트워크에 연결하고 있습니다. 아래 몇 가지 통계.

$ 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

또한 페이지를로드하는 동안 더 자세한 정보를 제공하는 브라우저가 있습니까?

편집 : @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

터미널로 시작 하시겠습니까?! 그리고 그 aint 작품이 매개 변수 -debug 또는 -dev를 추가하면 이것이 작동하는지 전혀 알지 못하지만 시도해 볼 가치가 있습니다.
Dr_Bunsen

문제는 아마도 3G가 넘는 모바일 장치의 PAN을 통해 연결되어 있다는 사실에 있습니다. 어쨌든 때때로 느릴 수 있습니다. 구글의 느린 핑은 그것도 제안합니다.
jackweirdy

또한의 출력을보고 netstat -an그것을 의식하지 않고 공개, 대역폭 씹는 연결이있을 수 있습니다 무엇을보고 (등 우분투의 자동 업데이트 메커니즘, 잊혀진 토런트 클라이언트, 등)
솜털

@jackweirdy 느린 브라우징에 대해 이야기하고 있지 않습니다. 때로는 영원히로드되며 다시 클릭하면 다시로드됩니다. 느린 핑에 대해서는 인도 출신입니다.
Binoy Babu

@fluffy 아무것도 대역폭을 사용하지 않습니다
Binoy Babu

답변:


15

사용 curl하는 웹 사이트를로드하는 과정의 일부로하는 것은 당신에게 문제를주고 알아내는

일반적으로 옵션 curl과 함께 사용하여 "찾아보기"(또는 http / s)를 디버깅 할 수 있습니다 -w.

  • 터미널을 열고 sudo apt-get install curl(아직없는 경우)
  • curl-timing.cfg를 들어, 홈 디렉토리 라는 파일을 작성하십시오 . 그 안에 붙여 넣습니다.

    \엔
          DNS 조회 : % {time_namelookup} \ n
          서버에 연결 (TCP) : % {time_connect} \ n
          서버에 연결 (HTTP / S) : % {time_appconnect} \ n
          시작부터 전송이 시작될 때까지의 시간 : % {time_pretransfer} \ n
          리디렉션 시간 (있는 경우) : % {time_redirect} \ n
          전송이 시작되기 전의 총 시간 : % {time_starttransfer} \ n
    \엔
                 총 시간 : % {time_total} \ n
                 다운로드 크기 (바이트) : % {size_download} \ n
                 평균 d / l 속도 (바이트 / 초) : % {speed_download} \ n
    \엔
    
  • 그런 다음 다음을 사용하여 Google을 가정 해보십시오.

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

  • 출력 형태는 다음과 같습니다.

      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
    

  • 인도 서버에서 미국으로 웹 페이지를 가져 오는 것과 비교하십시오.

    $ 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
    


  • 이것은 약한 링크 인 단계를 알려줍니다. 여러 웹 사이트와 파일 다운로드를 시도하십시오. 경우 curl전체 당신에게 좋은 결과를 제공, 문제는 대신 TCP / HTTP 및 네트워크 연결, 브라우저 / 응용 프로그램과 함께 거짓말을 할 수 있습니다.
  • 더 많은 옵션은 curl man 페이지를 참조하십시오 . --writeout관련 섹션으로 빠르게 이동하려면 검색 하십시오.

1
와우,이 시점에서 컬은 정말 스위스 군용 칼입니다. -w 옵션에 대해 몰랐습니다. 능숙한!
솜털 같은

@izx 수정 된 질문을 참조하십시오. 출력은 괜찮아 보입니다. 또한 elinks는 잘 작동합니다. 영향을받는 브라우저를 사용하면 동일한 페이지가 빠르게로드 (정상)되거나 계속로드됩니다. "Waiting for <host> ..."가 표시되는 동안 브라우저 (Chromium)는 무엇을합니까?
Binoy Babu

문제를 일으키는 사이트에서 시도해보십시오. 방금 두 가지를 예로 사용했습니다. 나는 (일반적으로) 크롬을 사용하지 않으므로 연결이 설정되기를 기다리는 것 같습니다 Connect to Server (TCP/HTTP).
ish

1
멋진 것! 그러나 나에게 그것은 말합니다 : DNS lookup: 8.5 sec / Connect to server (TCP): 9.0 sec / Total time: 9.6 sec"이것은 함께 맞지 않습니다. (?)
phil294
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.