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

ตัวเลขที่คุณอ่านคือทิศทางที่ผิด

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

ค่าใช้จ่ายในการห่อหุ้มและทราฟฟิกที่แข่งขันใด ๆ ใช้ส่วนหนึ่งของงบประมาณเดียวกัน ทั้งสองไม่ปรากฏในการทดสอบความเร็วที่วัดเฉพาะไคลเอนต์

เขียนเส้นทางเป็นงบประมาณ

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

ด้วยลิงก์อัปโหลดของเซิร์ฟเวอร์ 20 Mbit/s และลิงก์ดาวน์โหลดของไคลเอนต์ 100 Mbit/s เซิร์ฟเวอร์จำกัดการถ่ายโอนนานมากก่อนที่ไคลเอนต์จะสังเกตเห็น ค่าใช้จ่ายและการถ่ายโอนพร้อมกันใด ๆ กินส่วนเพิ่มอีก และลิงก์อัปโหลดที่อิ่มตัวยังทำให้การตอบรับล่าช้า ซึ่งทำให้การถ่ายโอน TCP ช้ากว่าเพดานดิบ ทั้งสองผลกระทบไม่ปรากฏในการเปรียบเทียบแพ็กเกจ

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

ที่ที่บอร์ดทำให้คุณเสียจริง ๆ

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

เปรียบเทียบเส้นทางการประมวลผลแต่ละเส้นแทนค่าเฉลี่ย CPU เดียว ภาระโดยรวมปานกลางอาจซ่อนแกนหนึ่งที่อิ่มตัวซึ่งทำงานทั้งหมดต่อแพ็กเก็ต และความถี่สัญญาณนาฬิกาไม่ได้ถ่ายโอนข้ามการออกแบบโปรเซสเซอร์เป็นคะแนนประสิทธิภาพ อัตราแพ็กเก็ตสำคัญพอ ๆ กับปริมาณงาน เพราะแพ็กเก็ตเล็กมีต้นทุนต่อไบต์สูงกว่าแพ็กเก็ตใหญ่ วัดด้วยขนาดแพ็กเก็ตที่ภาระงานของคุณใช้จริง

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

แนวทางประสิทธิภาพของผู้ขายแยกแบนด์วิดท์การเข้าถึง CPU การประมวลผลแพ็กเก็ต การขนส่ง และขนาดแพ็กเก็ตออกเป็นข้อจำกัดที่ต่างกัน ควรอ่านก่อนเปลี่ยนรหัสลับ เพราะการเปลี่ยนรหัสลับแทบไม่เคยขยับขอบเขตที่ไม่เคยเป็นข้อจำกัด

วัดก่อนเปลี่ยนรหัสลับ

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

รักษานโยบายความปลอดภัยให้ครบถ้วนขณะเปรียบเทียบ ผลลัพธ์เก่าที่ได้จากรหัสลับอ่อนหรือบอร์ดที่โอเวอร์คล็อกไม่ใช่แผนสำหรับการปรับใช้ปัจจุบัน

iperf3 -c 10.44.0.1 -R -t 30
iperf3 -c 10.44.0.1 -t 30
ethtool eth0 | grep -i speed

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

บทความที่เกี่ยวข้อง