IPerf เป็นเครื่องมือโอเพนซอร์ซที่ออกแบบมาเพื่อทดสอบแบนด์วิดท์เครือข่ายระหว่างสองโหนดเครือข่าย iPerf อนุญาตให้สร้างทราฟฟิก/โหลด TCP และ UDP ระหว่างสองโฮสต์ คุณสามารถใช้ iPerf เพื่อวัดแบนด์วิดท์เครือข่ายสูงสุด (ทรูพุต) ระหว่างเซิร์ฟเวอร์และไคลเอนต์ได้อย่างรวดเร็ว ทำการทดสอบความเค้นของช่องทางการสื่อสาร ISP เราเตอร์ เกตเวย์เครือข่าย (ไฟร์วอลล์) อีเธอร์เน็ตหรือเครือข่าย Wi-Fi ของคุณ
ในบทความนี้ เราจะแสดงวิธีการติดตั้งและใช้งาน iPerf เครื่องมือตรวจสอบทรูพุตเครือข่ายบน Windows และ Linux CentOS (มีเวอร์ชัน iPerf สำหรับ Android, MacOS, RouterOS จาก MikroTik และแพลตฟอร์มอื่นๆ)
เวอร์ชัน iPerf:iPerf2 เทียบกับ iPerf3
IPerf เป็นเครื่องมือข้ามแพลตฟอร์มและไม่ต้องติดตั้ง เพียงแค่คัดลอกและเรียกใช้บนอุปกรณ์สองเครื่อง ระหว่างนั้นคุณต้องการทดสอบอัตราการส่งข้อมูลของเครือข่าย
IPerf ทำงานในโหมดเซิร์ฟเวอร์ไคลเอ็นต์ บนอุปกรณ์เครื่องแรก iPerf เริ่มทำงานในโหมดเซิร์ฟเวอร์ (กำลังรอการรับส่งข้อมูลจากไคลเอ็นต์ iPerf) บนคอมพิวเตอร์เครื่องที่สอง iPerf เริ่มทำงานในโหมดไคลเอ็นต์ สร้างการรับส่งข้อมูล TCP หรือ UDP และวัดอัตราการถ่ายโอนข้อมูลสูงสุด
ขณะนี้มีสาขา iPerf อิสระสองสาขาที่พัฒนาควบคู่กัน:iPerf2 และ iPerf3 . การทำงานของเครื่องมือเหล่านี้ส่วนใหญ่เข้ากันได้ แต่ใช้พอร์ตเครือข่ายที่แตกต่างกันตามค่าเริ่มต้น ใน iPerf1/2 คือ 5001 ใน iPerf3 คือ 5201 .
- ควรใช้ iPerf2 สำหรับเธรดแบบขนาน การทดสอบแบบสองทิศทาง และเวอร์ชันนี้ได้รับการสนับสนุนอย่างเป็นทางการบน Windows OS
- iPerf3 มีการใช้งานการทดสอบ UDP ความเร็วสูงที่ดีกว่า โค้ด IPerf3 มีขนาดเล็กลงอย่างเห็นได้ชัดและเพิ่มประสิทธิภาพได้ดีขึ้น
ความแตกต่างที่เหลือไม่มีนัยสำคัญนัก ดังนั้นจึงไม่จำเป็นต้องใช้ iPerf เวอร์ชันเฉพาะ (แม้แต่พารามิเตอร์ CLI ก็เหมือนกัน) ในบทความนี้ เราจะใช้ iperf3 .
iPerf3 ไม่รองรับแพลตฟอร์ม Windows อย่างเป็นทางการ แต่ใช้งานได้ดีทีเดียว ฉันไม่ได้สังเกตเห็นข้อบกพร่องใด ๆ ที่ชัดเจน คุณสามารถส่งรายงานข้อบกพร่องของคุณไปที่ https://github.com/esnet/iperfจะติดตั้ง iPerf บน Windows ได้อย่างไร
คุณสามารถดาวน์โหลด iPerf 3.1.3 สำหรับ Windows จากลิงค์ต่อไปนี้ https://iperf.fr/iperf-download.php หากคุณต้องการใช้ iPerf 2.0 - คุณสามารถรับได้ที่นี่ คุณไม่จำเป็นต้องติดตั้งเครื่องมือ เพียงแค่ดาวน์โหลดไฟล์เก็บถาวร iPerf และแตกไฟล์ไปยังไดเร็กทอรีในเครื่องบนไดรฟ์ มีเพียงสองไฟล์ในไฟล์เก็บถาวร:cygwin1.dll
และ iperf3.exe
.
มีการใช้งาน iPerf GUI หลายอย่างสำหรับ Windows ตัวอย่างเช่น Iperf3-Cygwin-GUI หรือ jperf .
jperf เขียนบน Java (เพื่อที่จะเรียกใช้ jperf ต้องติดตั้ง Java VM บนคอมพิวเตอร์) นอกจากรูปแบบกราฟิกสำหรับอินเทอร์เฟซ CLI แล้ว Jperf ยังสร้างแผนภูมิแบนด์วิดท์กราฟของช่องทางการสื่อสารแบบเรียลไทม์ได้
ในการใช้งาน เพียงแค่ระบุที่อยู่เซิร์ฟเวอร์ iPerf และเรียกใช้การสแกน
มี iPerfAutomate . แยกต่างหาก โมดูลในแกลเลอรีสคริปต์ของ PowerShell ที่สามารถใช้เพื่อรับเมตริกประสิทธิภาพเครือข่ายจากสคริปต์ PowerShell ของคุณ คุณสามารถติดตั้งโมดูลด้วยคำสั่ง:
Install-Module -Name iPerfAutomate
การติดตั้ง iPerf บน CentOS Linux
ใน CentOS 8 แพ็คเกจ iperf3 จะรวมอยู่ใน AppStream ที่เก็บฐาน (ใน CentOS 7 คุณสามารถค้นหา iperf3 ใน EPEL repo) คุณสามารถติดตั้งได้ด้วยคำสั่ง dnf (yum):
# dnf install iperf3
sudo apt install iperf3
หากคุณต้องการใช้อินสแตนซ์ Linux เป็นเซิร์ฟเวอร์ iperf3 คุณต้องเปิดพอร์ต TCP/UDP 5201 ในไฟร์วอลล์ (iptables):
# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload
การใช้คำสั่ง iPerf เพื่อวัดความเร็วเครือข่าย/แบนด์วิดท์
มาดูตัวอย่างการใช้ iPerf เพื่อทดสอบทรูพุตของเครือข่ายกัน ในตัวอย่างนี้ เราจะใช้โฮสต์ Linux CentOS เป็นเซิร์ฟเวอร์ iPerf เรียกใช้เครื่องมือ iPerf3 ในโหมดเซิร์ฟเวอร์:
# iperf3 –s
เซิร์ฟเวอร์ iPerf กำลังทำงาน กำลังรอการเชื่อมต่อบนพอร์ต 5201 TCP
Server listening on 5201.คำแนะนำ . อาร์กิวเมนต์ iPerf คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่!
ขึ้นอยู่กับการตั้งค่าไฟร์วอลล์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ คุณสามารถเปลี่ยนพอร์ตการรับฟังโดยใช้อาร์กิวเมนต์ -p [หมายเลขพอร์ต]. คุณสามารถเรียกใช้เซิร์ฟเวอร์ iPerf ด้วยขนาดหน้าต่าง TCP ขนาดใหญ่และบนพอร์ต TCP อื่น ใช้คำสั่ง:
# iperf3 -s -w 32768 –p 5200
- -w 32768 – ตั้งค่าขนาดหน้าต่าง TCP เป็น 32 kB (โดยค่าเริ่มต้นจะอยู่ที่ประมาณ 8 kB)
- –p 5200 – พอร์ตที่ iPerf กำลังรอการเชื่อมต่อ (ฉันเตือนคุณว่า iperf2 ฟังโดยค่าเริ่มต้นที่พอร์ต 5001 และ iperf3 บน 5201)
ฉันใช้คอมพิวเตอร์ที่ติดตั้ง Windows 10 เป็นไคลเอนต์ iPerf เรียกใช้พรอมต์คำสั่งและไปที่ไดเร็กทอรีด้วยไฟล์ปฏิบัติการ iPerf:cd c:\tools\iperf
ในการเรียกใช้การทดสอบแบนด์วิดท์เครือข่ายจากไคลเอ็นต์ ให้ระบุที่อยู่เซิร์ฟเวอร์ iPerf (หรือชื่อ DNS):iperf3.exe -c 192.168.1.200
หากคุณเริ่มเซิร์ฟเวอร์ iPerf ด้วยขนาดหน้าต่าง TCP ที่เพิ่มขึ้น คุณสามารถใช้คำสั่งต่อไปนี้เพื่อรับโหลดเครือข่ายสูงสุด:
iperf3.exe -c 192.168.1.200 -P 8 -t 30 -w 32768
- -c 192.168.1.200 – ที่อยู่ IP ของเซิร์ฟเวอร์ iPerf;
- -w 32768 – เพิ่มขนาดหน้าต่าง TCP;
- -t 30 – คือเวลาในหน่วยวินาทีสำหรับการทดสอบ (โดยค่าเริ่มต้น คือ 10 วินาที)
- -P 8 – คือจำนวนเธรดคู่ขนาน (สตรีม) เพื่อรับโหลดช่องสัญญาณสูงสุด
ในตัวอย่างของฉัน การทดสอบใช้เวลา 30 วินาที ในรายงานฉบับสมบูรณ์ เราสนใจค่าของ แบนด์วิดท์ คอลัมน์ที่แสดงใน [SUM]สุดท้าย ไลน์. ในกรณีนี้ แบนด์วิดท์เครือข่ายเฉลี่ยระหว่างสองโฮสต์คือ 85.9 Mbit/s . ข้อมูล 307 MB ถูกโอน (โอน คอลัมน์) ด้วยความเร็วสมมาตร (ผู้ส่ง=ผู้รับ)
การใช้ -f อาร์กิวเมนต์ คุณสามารถเปลี่ยนรูปแบบความเร็วได้ (บิต กิโลบิต หรือเมกะบิต) ในการทดสอบแบบต่อเนื่อง เมื่อคุณต้องประมาณประสิทธิภาพการทำงานในช่วงหลายนาที (ชั่วโมง) คุณสามารถกำหนดระยะเวลาเพื่อแสดงผลลัพธ์ขั้นกลางโดยใช้ –i ตัวเลือก
คุณสามารถเรียกใช้ iPerf ในโหมดย้อนกลับ (เซิร์ฟเวอร์ส่งข้อมูลและไคลเอนต์ยอมรับ) ผู้ใช้ –R ตัวเลือกบนไคลเอนต์สำหรับสิ่งนี้
โดยค่าเริ่มต้น ยูทิลิตีจะสร้างการรับส่งข้อมูล TCP หากคุณต้องการตรวจสอบแบนด์วิดท์เครือข่ายของคุณสำหรับแพ็กเก็ต UDP คุณต้องใช้ –u ตัวเลือก. ในกรณีนี้ คุณควรเริ่มต้นเซิร์ฟเวอร์ iPerf ด้วยคำสั่ง:iperf3 -s –u
)
หากคุณต้องการทดสอบแบนด์วิดท์ของผู้ให้บริการอินเทอร์เน็ต คุณสามารถใช้เซิร์ฟเวอร์ iPerf สาธารณะตัวใดตัวหนึ่งได้ (รายชื่อโฮสต์สาธารณะของ iPerf มีให้ที่นี่):
iperf3 -c iperf.scottlinux.com
หากคุณต้องการวัดความเร็วเครือข่ายสูงสุดในทั้งสองทิศทาง (ในโหมดดูเพล็กซ์) ให้ใช้ –d ตัวเลือกบนไคลเอนต์:
iperf3.exe -c IP -P 8 -t 30 -w 32768 –d
ในระหว่างการทดสอบเครือข่ายโดยใช้ iPerf คุณสามารถตรวจสอบแผนภูมิอัตราการส่งข้อมูลการเชื่อมต่อเครือข่ายได้ผ่านทางตัวจัดการงาน
โปรดทราบว่าในระหว่างการทดสอบ iPerf จะใช้ ทั้งหมด แบนด์วิดท์ที่ใช้ได้ของช่องทางการสื่อสารระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ ซึ่งอาจส่งผลเสียต่อแอปและผู้ใช้ที่มีประสิทธิผล
คุณสามารถแสดงรายการตัวเลือกทั้งหมดได้ดังนี้:
iperf3 –help
ไอเพอร์ฟ เป็นยูทิลิตี้เครือข่ายที่ใช้งานง่ายและสะดวกสบาย ซึ่งช่วยให้คุณวัดประสิทธิภาพการเชื่อมต่อเครือข่ายและความเร็วการถ่ายโอนข้อมูลสูงสุดระหว่างอุปกรณ์สองเครื่อง