ทำไมความแตกต่างระหว่าง Speedtest และ Wget


18

ลูกค้าของฉันร้องเรียนเกี่ยวกับความเร็วอินเทอร์เน็ตต่ำ เมื่อวัดด้วยความเร็ว Speedtest.net เป็นที่ยอมรับ การดาวน์โหลดที่วัดเป็นระยะคือ 10% ถึง 30% ของความเร็วที่กำหนด ฉันไม่สามารถอธิบายได้

พื้นหลังบางส่วน การเชื่อมต่อที่มีปัญหาอยู่บนหนึ่งในหมู่เกาะแคริบเบียนที่มีแสงแดดซึ่งอินเทอร์เน็ตที่รวดเร็วไม่ใช่ทรัพย์สินที่ยิ่งใหญ่ เมื่อเร็ว ๆ นี้ความเร็วอินเทอร์เน็ตก็ค่อนข้างดีมากถึง 200 Mbps แต่ปิงไปกลับ (พูด) อัมสเตอร์ดัมมีค่าประมาณ 180 มิลลิวินาที

ลูกค้ามีการเชื่อมต่อไฟเบอร์ 100 Mbps เมื่อทำการทดสอบความเร็วบนเครื่อง Windows (speedtest.net) กับ ISP CO เราจะได้รับ 95 Mbps เมื่อใช้การทดสอบความเร็วเดียวกันกับอัมสเตอร์ดัมเรามีความเร็ว 60-70 Mbs ยอมรับอย่างเต็มที่

เมื่อไม่นานมานี้ฉันได้ติดตั้ง RasPi ซึ่งเป็นระยะไฟล์จากเซิร์ฟเวอร์ของฉันในอัมสเตอร์ดัม ในดาต้าเซ็นเตอร์ซึ่งเชื่อมต่อโดยตรงกับ AMS-IX ใช้คำสั่งนี้:

wget -O /dev/null --report-speed=bits http://aserv.example.net/~myuser/links/M77232917.txt

ไฟล์. txt มีขนาด 23 เมกะไบต์ (อันที่จริงมันเป็น Mersenne Prime หนึ่งเดียว แต่ใหญ่ที่สุด 23e6 ตัว)

เมื่อฉันดาวน์โหลดไฟล์นั้นบนเครือข่ายที่มีปัญหาให้รายงานสิ่งนี้:

dev/null 100%[====================================================================>]  22.81M  11.6Mb/s   in 17s    

2019-02-08 14:27:55 (11.2 Mb/s) - ‘/dev/null’ saved [23923322/23923322]

นั่นคือในเวลาเดียวกัน speedtest.net รายงาน 60-70 Mbps

ฉันรู้ว่า Raspi มีข้อ จำกัด แต่ความเร็วนี้แตกต่างกันไป ครั้งหนึ่งที่ RasPi รายงาน 11 Mbps นี้ครั้งต่อไปที่ 22 Mbps แต่บางครั้งก็ต่ำเพียง 1.5 Mbps

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อฉันทำการทดสอบกับแล็ปท็อปที่ทรงพลังจริง ๆ ความเร็วสูงสุดค่อนข้างสูง (ไม่เกิน 30 Mbps) แต่ก็แสดงให้เห็นในระดับต่ำเช่นเดียวกัน ดังนั้นมันจึงแสดงถึงข้อ จำกัด ของ RasPi ที่ด้านสูง แต่ไม่ใช่ 10 Mbps ที่ด้านล่าง

ฉันออกคำสั่งเดียวกันจากเซิร์ฟเวอร์ในเมืองMünchenประเทศเยอรมนีในดาต้าเซ็นเตอร์ ความเร็ว 96 Mbps

จากนั้นจากการเชื่อมต่อไฟเบอร์ของผู้บริโภค 100 Mbps ในเนเธอร์แลนด์: 65 Mbps

จากนั้นที่บ้านของฉันซึ่งมี ADSL ความเร็ว 10 Mbps เล็กน้อย Speedtest แสดง 10Mbps Wget ให้ 8.5 Mbps ซึ่งเท่ากันในหนังสือของฉัน

นี่เป็นการ จำกัด ข้อ จำกัด ใด ๆ บนเซิร์ฟเวอร์ซึ่งทำหน้าที่เป็นโฮสต์สำหรับการดาวน์โหลดไฟล์

ฉันไม่คาดหวังว่าทุกคนสามารถชี้สาเหตุของความเชื่องช้าของการเชื่อมต่อที่สถานที่ของลูกค้า แต่ทุกคนสามารถอธิบายความแตกต่างระหว่าง speedtest.net และ wget ได้หรือไม่

มีบางอย่างที่ speedtest ละเว้นหรือไม่หรือวัดได้แค่ยอดเขาเท่านั้น? หรือได้รับอิทธิพลอย่างจริงจังจากเวลาปิงที่ยาวนาน?

ฉันรู้สึกว่าการทดสอบ wget นั้นให้ความเร็วจริงและมีประสิทธิภาพในขณะที่ speedtest นั้นส่วนใหญ่จะแสดงความเร็วที่โฆษณาไว้


อีกวิธีในการตรวจสอบความเร็วคือการทำssh personal-server cat /dev/zero | pv > /dev/nullบนเซิร์ฟเวอร์ส่วนบุคคลที่คุณรู้ว่าไม่ จำกัด อัตราที่จะช้ากว่าความเร็วที่คุณคาดหวัง
JoL

ฉันอ่านคำถามของคุณ และดูเหมือนว่าคุณมีแบนด์วิดท์ขนาดใหญ่และอาจมีเหตุการณ์หน่วงเวลาการเดินทางไปกลับที่สำคัญหรือที่รู้จักกันในชื่อ ฉันได้สัมผัสกับสิ่งเหล่านี้เป็นการส่วนตัวและแก้ไขมันด้วยการเปิดการเชื่อมต่อมากมาย (ฉันใช้ rsync) คุณลองเปิด wget หลาย ๆ ตัวได้ไหม (ลอง 5, 10, 20) หน้า Wikipedia คือ: ผลิตภัณฑ์ความล่าช้าของแบนด์วิดธ์
Trevor Boyd Smith

รายงานเป็นไบต์โดยค่าเริ่มต้น: [james @ lamia root] $ wget -O / dev / null 10.32.48.1/t1 / dev / null 100% [================= ====>] 100.00M 112MB / s ใน 0.9s [james @ lamia root] $ wget --report-speed = bits -O / dev / null 10.32.48.1/t1 / dev / null 100% [=== ==================>] 100.00M 932Mb / s ใน 0.9s
james

พิจารณาใช้เซิร์ฟเวอร์iperfสำหรับ tcp และวินาทีสำหรับ udp บนเครื่องโฮสต์ DC ของคุณ จากนั้นเป็นส่วนหนึ่งของงาน cron เรียกการทดสอบจากลูกค้าของคุณและดูว่าความเร็วเปรียบเทียบกับ http ได้รับ
Criggie

มันเป็นไฟล์ประเภทไหนกันแน่? มันบีบอัดได้และเซิร์ฟเวอร์รองรับการบีบอัด http หรือไม่ ในขณะที่คุณไม่สามารถแก้ไขปัญหาแบนด์วิดท์คุณอาจทำให้ไฟล์เล็กลง
Salman

คำตอบ:


16

นอกจากเหตุผลอื่น ๆ ที่โพสต์แล้วการเชื่อมต่อ TCP ทำงานได้ไม่ดีกับไฟล์ขนาดใหญ่เมื่อผลิตภัณฑ์ที่ใช้แบนด์วิดท์ล่าช้ามีขนาดใหญ่

ชอบการเชื่อมต่อที่รวดเร็วเป็นอย่างอื่นกับเกาะ

ดูรายการวิกิพีเดียในการปรับแต่ง TCP

ดังนั้น Speedtest จึงสามารถถ่ายโอนไฟล์ขนาดเล็กผ่านการเชื่อมต่อที่ 95 mb / วินาที แต่wgetสามารถรับได้ 10 mb / วินาทีในไฟล์ 20 MB


2
นี่คือความรู้ใหม่สำหรับฉัน ดีมาก. ที่จริงแล้วผลิตภัณฑ์ที่ใช้แบนด์วิดท์ล่าช้าสูง (2.25 MB ถ้าฉันคำนวณถูกต้อง) การดูอย่างรวดเร็วแสดงบัฟเฟอร์เริ่มต้นที่ 87kB และสูงสุด 3.5 MB (ฉันถือว่า Byte ไม่ใช่บิต) ฉันต้องดำน้ำลึกลงไปในนี้มากขึ้นเพื่อประเมินมัน หากในการรวมกันการทดสอบความเร็วในการดาวน์โหลดไฟล์ขนาดเล็กจำนวนมากและบันทึกความเร็วสูงสุดในการที่จะอธิบายมาก
ฮันส์ Linkels

21

ผู้ให้บริการอินเทอร์เน็ตมักจะให้ความสำคัญกับทราฟฟิกเพื่อ speedtest.net เพื่อให้สามารถคุยกันได้ว่าการเชื่อมต่อของพวกเขารวดเร็วแค่ไหน แต่ในความเป็นจริงแล้วพวกเขาไม่มีแบนด์วิธมาก พวกเขาตระหนักดีว่าผู้ใช้ส่วนใหญ่จะตรวจสอบเว็บไซต์นั้นเพื่อยืนยันเท่านั้น

คุณต้องจำไว้ว่าความเร็วในการรับส่งข้อมูลนั้นขึ้นอยู่กับไคลเอนต์และเซิร์ฟเวอร์ ในโลกปัจจุบันเซิร์ฟเวอร์ส่วนใหญ่เค้นอย่างใดอย่างหนึ่ง

ในที่สุดมันไม่มีจุดหมายที่จะคาดหวังแบนด์วิดธ์ที่เสถียรสำหรับการเชื่อมต่อในต่างประเทศ ไม่มีอะไรแบบนั้น มันจะต้องผ่านสวิตช์จำนวนไม่ จำกัด ไฟเบอร์ดาต้าเซ็นเตอร์เพื่อไปยังตำแหน่งสุดท้าย และทั้งหมดก็จะเป็นเพียงแค่หนึ่งในส่วนที่เคลื่อนไหวช้าลง


ฉันเข้าใจคำสั่งของคุณยกเว้นการควบคุมปริมาณที่ฝั่งเซิร์ฟเวอร์ มันเป็นเซิร์ฟเวอร์ของฉันเองและเมื่อลูกค้าอยู่ในดาต้าเซ็นเตอร์ที่แตกต่างกัน (ห่างออกไปประมาณ 1200 กม.) ความเร็วจะอยู่ที่ 95 Mbps อย่างสม่ำเสมอ แม้ว่าไคลเอ็นต์อยู่บนการเชื่อมต่อผู้บริโภค 100 Mb ก็คือ 65 Mbps
ฮันส์ Linkels

9
คุณสามารถทำเอกสารที่คุณอ้างสิทธิ์ได้หรือไม่? "ISPs มักจะให้ความสำคัญกับปริมาณการใช้งานเพื่อ speedtest.net"
Soleil

1
@Soleil ไม่ได้ใช้ Googling มากเกินไป: myce.com/news/…
MonkeyZeus

6
ISP ที่ให้ความสำคัญกับปริมาณการใช้งานการทดสอบความเร็วนั้นมีแนวโน้มว่าผู้ผลิตรถยนต์รายใหญ่จะทำการทดสอบการปล่อยมลพิษ
Barmar

3
โดยปกติแล้วฉันเคยสามารถ 'แก้ไข' สตรีมซูเปอร์โบวล์ที่พูดติดอ่างด้วยการส่งปริมาณข้อมูลไปยัง speedtest.net ซ้ำ ๆ จาก Raspberry Pi ดูเหมือนว่าพวกเขาให้ความสำคัญกับการเชื่อมต่อทั้งหมดของฉันตราบใดที่มีการจราจรที่เร็วที่สุด - ความแตกต่างทั้งกลางวันและกลางคืน มันไม่ได้มีหลักฐานมากนักว่า ISP ทำสิ่งที่ร่มรื่น แต่ก็เป็นเรื่องของ
เลิกทำ

7

wgetให้การวัดความเร็วที่ใช้ได้จริง การทดสอบ Speedtest อาจรวมถึงการขนานซึ่งสามารถอธิบายตัวเลขที่สูงขึ้นได้

สำหรับการทดสอบความเร็วเฉลี่ยที่ดีฉันคิดว่าเวลาในการดาวน์โหลดควรอยู่อย่างน้อย 90-120 วินาที (เพื่อให้ได้ค่าเฉลี่ยที่ดี)


ฉันกำลังทำงานเกี่ยวกับการติดตั้งคอมพิวเตอร์บันทึกที่มีประสิทธิภาพยิ่งขึ้นและเพื่อเพิ่มขนาดไฟล์
Hans Linkels

คุณสามารถพัฒนา "แบบคู่ขนาน" ได้ไหม? ฉันไม่เห็นเหตุผล / เหตุผลใด ๆ เนื่องจากมีการเชื่อมต่อที่มีความสำคัญ 1
Soleil

1
@Silil, IMHO พวกเขาดาวน์โหลดไฟล์เพียงไม่กี่ไฟล์เท่านั้น คุณสามารถทดสอบได้ด้วยการเรียกใช้งานไม่กี่wgetและรวมความเร็ว
Romeo Ninov

1
ฉันสามารถทำการวัดแบบขนานได้ แต่สิ่งที่มีประโยชน์คืออะไร ฉันแสดงให้เห็นแล้วว่าลูกค้ารายอื่นมีความเร็วเต็มที่ ความแตกต่างคือการเชื่อมต่อที่มีปัญหามีเวลาแฝง 180 ms การเชื่อมต่อที่รวดเร็ว <10 ms การลดเวลาแฝงแบบขนานจะมีผลกระทบหรือไม่ แค่ถาม.
ฮันส์ Linkels

1
@RomeoNinov ฉันตรวจสอบแล้วไม่มีการขนานกัน (speedtest.net) หนึ่งไฟล์ต่อการอัปโหลดและหนึ่งไฟล์ต่อการดาวน์โหลด ([1-2] MB ต่อไฟล์)
Soleil

3

เหตุผลหนึ่งอาจเป็นได้ว่าบ่อยครั้งที่ความเร็วสูงสุดไม่สามารถเข้าถึงได้ด้วยการเชื่อมต่อ TCP เดียว

Speedtest.net เพิ่งเปิดตัวโหมดการเชื่อมต่อเดียว ลองสิ่งนี้และดูว่ามันสร้างความแตกต่างหรือไม่

จากนั้นสำหรับการดาวน์โหลดใช้เช่นaria2 ที่มีพารามิเตอร์เพื่อใช้หลายส่วนและเปรียบเทียบ เช่นaria2c -d /dev -o null --allow-overwrite=true --file-allocation=none --max-connection-per-server=8 --min-split-size=1M http://aserv.example.net/~myuser/links/M77232917.txt


2

ใช้การทดสอบความเร็วทางอินเทอร์เน็ตของ Fast.comนี่คือการทดสอบความเร็วตาม Netflix ซึ่งหมายความว่าจะไม่สามารถแยกความแตกต่างโดย ISP จาก Netflix เอง

นี่คือการทดสอบที่แม่นยำกว่าการทดสอบอื่น ๆ โดยทั่วไป ผู้คนไม่ต้องกังวลว่าหน้าเว็บจะโหลดเร็วแค่ไหน แต่ค่อนข้างเร็วเพียงใดบัฟเฟอร์วิดีโอเนื่องจากการเพิ่มแบนด์วิดท์ที่จำเป็นสำหรับการแสดงวิดีโอ

ISP มักจะเพิ่มความเร็วตามโดเมนที่บางคนกำลังเชื่อมต่อหากเป็นการทดสอบความเร็วหรือใช้พอร์ต 8080 โดยที่ Netflix ใช้พอร์ต 80 ซึ่งเป็นพอร์ตที่ช้ากว่าเมื่อมีการจัดลำดับความสำคัญ


1
"หมายความว่าไม่สามารถแยกความแตกต่างโดย ISP จาก Netflix เอง" - นั่นไม่จริง ISP สามารถเห็นทั้งคำขอ DNS และ SNI บนการเชื่อมต่อ HTTPS
เควิน

@Kevin fast.com ติดต่อกับเซิร์ฟเวอร์ netflix เพื่อดาวน์โหลดจากนั่นหมายความว่ามันเลียนแบบวิดีโอจาก netflix เอง แม้ว่าฉันจะให้ ISP แก่คุณอาจทราบว่าการเชื่อมต่อกับไซต์นั้นซึ่งติดต่อกับเซิร์ฟเวอร์ที่ใช้ Netflix นั้นจำเป็นต้องมีการจัดลำดับความสำคัญคล้ายกับ speedtest.net
Jonathan

มันไม่ใช่วิทยาศาสตร์จรวดอย่างแน่นอน สิ่งที่พวกเขาต้องทำคือยกเลิกการปิดกั้น Netflix เพียงไม่กี่นาทีหรือชั่วโมงหลังจากที่พวกเขาเห็นการเชื่อมต่อที่รวดเร็ว แน่นอนว่าคุณสามารถไปที่ fast.com เพื่อทำให้ตัวคุณเองไม่ติดขัดจากนั้นปิดแท็บและดู Netflix อย่างแท้จริง
เควิน

โดยส่วนตัวฉันสงสัยว่ามันเป็นวิทยาศาสตร์คอมพิวเตอร์หรืออย่างน้อยก็เกี่ยวข้องกับมันมากกว่าวิทยาศาสตร์จรวด ดูเหมือนว่าผู้ให้บริการอินเทอร์เน็ตรายใหญ่บางราย (เช่นเบลล์) จะไม่ติดกับ fast.com ในช่วงไม่กี่ปีที่ผ่านมา ไม่ว่าจะเป็นการเรียกใช้สคริปต์บนคอมพิวเตอร์ของคุณที่เชื่อมต่อกับ fast.com เพื่อเพิ่มความเร็วในการดาวน์โหลดของคุณทุก ๆ ครั้งถ้าการควบคุมปริมาณไม่ดีพอ
Jonathan

0

มันเป็นแค่ฉันหรือไม่มีใครสังเกตเห็นเขาบอก Mbps และรายการคำสั่ง wget "MB / s"

60mbp / s และการได้รับ 11.2Mb เป็นเรื่องปกติ

Mbps และ MB / s เป็นสองความเร็วที่แตกต่างกัน

"เมกะบิตมีขนาดใหญ่เท่ากับเมกะไบต์หมายความว่าการดาวน์โหลดไฟล์ 1 MB ใน 1 วินาทีคุณจะต้องเชื่อมต่อที่ 8 Mbps" ดังนั้น 11mbx8 = 88mbps ... 11.2Mb ดีสำหรับการรายงานการเชื่อมต่อ 60-70mbps

คนที่มีความจำสูญเสียสิ่งนี้หรือไม่ คุณจะไม่ได้รับ 70mb / s ด้วยความเร็วที่เร็วที่สุดที่ 70Mbps


การส่งออกของwgetเป็นMB / sซึ่งแปลว่าจะเมกะบิต /วินาที MB / s จะแปลเมกะไบต์ /วินาที เพียงรันwgetคำสั่งของคุณเองและตรวจสอบผลลัพธ์
โทมัส

1
@james: ใช่โดยเริ่มต้น แต่ในสหกรณ์wgetคำสั่งรวมถึง--report-speed=bitsซึ่งผลลัพธ์ในซึ่งเป็นMb/s Mbit/sทำงานโดยไม่--report-speed=bitsให้ซึ่งแปลMB/s MByte/sหมายเหตุและb B
โทมัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.