วิธีการดีบั๊กความเร็วในการเรียกดูช้า?


10

ฉันใช้ Ubuntu 12.04, Chromium 18.0.1025.151 (นักพัฒนา Build 130497 Linux) Ubuntu 12.04, Firefox 12.0 แต่ฉันมีความเร็วในการเรียกดูต่ำ เบราว์เซอร์จะแสดง "Waitng for aaa.bbb.com" ที่ด้านล่างของเบราว์เซอร์เสมอ ฉันจะแก้ไขข้อบกพร่องนี้และหาสาเหตุได้อย่างไร ฉันกำลังเชื่อมต่อกับเครือข่าย 3G ผ่านเครือข่าย Bluetooth PAN ของอุปกรณ์ Android สถิติบางอย่างด้านล่าง

$ 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

เริ่มด้วยเทอร์มินัล! และถ้าไม่ทำงานเพิ่มพารามิเตอร์ -debug หรือ -dev ฉันไม่รู้ว่างานนี้ แต่คุ้มค่าลอง
Dr_Bunsen

ปัญหาอาจเกิดจากข้อเท็จจริงที่ว่าคุณเชื่อมต่อผ่าน PAN ของอุปกรณ์มือถือที่มี 3G มากกว่าซึ่งอาจช้าในบางครั้ง ping ที่ช้าจาก google kinda ก็แนะนำเช่นกัน
jackweirdy

นอกจากนี้ยังมองไปที่การส่งออกของnetstat -anเพื่อดูสิ่งที่เปิดการเชื่อมต่อแบนด์วิดธ์เคี้ยวคุณอาจจะไม่ได้ตระหนักถึงมัน (เช่นกลไกของ Ubuntu อัตโนมัติปรับปรุงเป็นลูกค้าฝนตกหนักลืม ฯลฯ )
ปุย

@jackweirdy ฉันไม่ได้พูดถึงการเบราส์ช้า ๆ มันโหลดตลอดไปบางครั้งและเมื่อฉันคลิกไปโหลดอีกครั้งทันที เกี่ยวกับการส่งเสียงช้าฉันมาจากอินเดีย
Binoy Babu

@fluffy ไม่มีสิ่งใดใช้แบนด์วิดท์สูงขึ้น
Binoy Babu

คำตอบ:


15

ใช้curlเพื่อค้นหาว่าส่วนใดของกระบวนการโหลดเว็บไซต์ที่ทำให้คุณมีปัญหา

โดยทั่วไปคุณสามารถแก้ปัญหา "การค้นหา" (หรือ http / s) โดยใช้curlกับ-wตัวเลือก

  • เปิดเทอร์มินัลและsudo apt-get install curl(หากคุณยังไม่มี)
  • สร้างไฟล์ที่เรียกcurl-timing.cfgว่าไดเรกทอรีบ้านของคุณ ในนั้นวาง:

    \ n
          ค้นหา DNS:% {time_namelookup} \ n
          เชื่อมต่อกับเซิร์ฟเวอร์ (TCP):% {time_connect} \ n
          เชื่อมต่อกับเซิร์ฟเวอร์ (HTTP / S):% {time_appconnect} \ n
          เวลาตั้งแต่เริ่มต้นจนกระทั่งเริ่มการถ่ายโอน:% {time_pretransfer} \ n
          เวลาสำหรับการเปลี่ยนเส้นทาง (ถ้ามี):% {time_redirect} \ n
          เวลาทั้งหมดก่อนการถ่ายโอนเริ่มต้น:% {time_starttransfer} \ n
    \ n
                 เวลาทั้งหมด:% {time_total} \ n
                 ขนาดการดาวน์โหลด (ไบต์):% {size_download} \ n
                 ความเร็ว d / l เฉลี่ย (ไบต์ / s):% {speed_download} \ n
    \ n
    
  • จากนั้นลองดาวน์โหลด URL ใด ๆ สมมติว่า 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 และการเชื่อมต่อเครือข่ายของคุณ
  • สำหรับตัวเลือกเพิ่มเติมโปรดดูที่หน้าคนขด ค้นหา--writeoutเพื่อข้ามไปยังส่วนที่เกี่ยวข้องได้อย่างรวดเร็ว

1
ว้าวขดตัวนี้เป็นมีดสวิสกองทัพจริงๆ ฉันไม่รู้เกี่ยวกับตัวเลือก -w ที่มีประโยชน์!
ปุย

@izx โปรดดูคำถามที่แก้ไขแล้ว ผลลัพธ์ดูเหมือนดี นอกจากนี้ยังทำงานได้ดี เมื่อใช้เบราว์เซอร์ที่ได้รับผลหน้าเดียวกันอาจโหลดเร็ว (ปกติ) หรือโหลดต่อเนื่องตลอดไป เบราว์เซอร์ (Chromium) ทำอะไรในขณะที่แสดง "กำลังรอ <host> ... "
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.