Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 10

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

IPerf เป็นเครื่องมือโอเพนซอร์สที่ออกแบบมาเพื่อทดสอบแบนด์วิดท์เครือข่ายระหว่างสองโหนดเครือข่าย iPerf ช่วยให้สร้างトラฟฟิก/โหลด TCP และ UDP ระหว่างสองโฮสต์ คุณสามารถใช้ iPerf เพื่อวัดแบนด์วิดท์เครือข่ายสูงสุด (throughput) ระหว่างเซิร์ฟเวอร์และไคลเอ็นต์อย่างรวดเร็ว ทดสอบสต레스ช่องสัญญาณ ISP, เราเตอร์, เกตเวย์เครือข่าย (firewall), เครือข่าย Ethernet หรือ Wi-Fi ของคุณ

ในบทความนี้ เราจะแสดงวิธีติดตั้งและใช้เครื่องมือ iPerf เพื่อตรวจสอบ network throughput บน Windows และ Linux CentOS (มีเวอร์ชัน iPerf สำหรับ Android, MacOS, RouterOS จาก MikroTik และแพลตฟอร์มอื่นๆ)

เวอร์ชัน iPerf: iPerf2 vs iPerf3

IPerf เป็นเครื่องมือข้ามแพลตฟอร์มและไม่ต้องติดตั้ง เพียงคัดลอกและรันบนสองอุปกรณ์ที่คุณต้องการทดสอบ network throughput

IPerf ทำงานในโหมด server-client บนอุปกรณ์แรก iPerf เริ่มในโหมดเซิร์ฟเวอร์ (รอトラฟฟิกจาก iPerf client) บนคอมพิวเตอร์ที่สอง 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 ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

มีการนำ iPerf GUI ไปใช้งานบน Windows หลายตัว ตัวอย่างเช่น Iperf3-Cygwin-GUI หรือ jperf

jperf เขียนด้วย Java (เพื่อรัน jperf ต้องติดตั้ง Java VM บนคอมพิวเตอร์) นอกจากฟอร์มกราฟิกสำหรับ CLI interface แล้ว Jperf ยังสามารถสร้างกราฟแบนด์วิดท์ของช่องสัญญาณแบบเรียลไทม์ได้

เพื่อใช้งาน เพียงระบุที่อยู่ iPerf server และรันการสแกน

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

มีโมดูล iPerfAutomate แยกต่างหากใน PowerShell Script Gallery ที่สามารถใช้เพื่อรับเมตริกประสิทธิภาพเครือข่ายจากสคริปต์ PowerShell ของคุณ คุณสามารถติดตั้งโมดูลด้วยคำสั่ง: Install-Module -Name iPerfAutomate

การติดตั้ง iPerf บน CentOS Linux

ใน CentOS 8 แพ็กเกจ iperf3 อยู่ใน AppStream base repository (ใน CentOS 7 คุณสามารถหา iperf3 ได้ใน EPEL repo) คุณสามารถติดตั้งด้วยคำสั่ง dnf (yum):

# dnf install iperf3

บน distros Debian/Ubuntu คุณสามารถติดตั้ง iperf3 ด้วยคำสั่ง:

sudo apt install iperf3

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

หากคุณต้องการใช้ instance Linux ของคุณเป็น iperf3 server คุณต้องเปิดพอร์ต TCP/UDP 5201 ใน firewalld (iptables):

# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload

ใช้คำสั่ง iPerf วัดความเร็ว/แบนด์วิดท์เครือข่าย

มาดูตัวอย่างการใช้ iPerf เพื่อทดสอบ network throughput ในตัวอย่างนี้ เราจะใช้โฮสต์ Linux CentOS เป็น iPerf server รันเครื่องมือ iPerf3 ในโหมดเซิร์ฟเวอร์:

# iperf3 –s

iPerf server กำลังทำงาน รอการเชื่อมต่อบนพอร์ต TCP 5201

Server listening on 5201.

Hint อาร์กิวเมนต์ของ iPerf คำนึงถึงตัวพิมพ์เล็ก/ใหญ่!

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

ขึ้นอยู่กับการตั้งค่าไฟร์วอลล์ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ คุณสามารถเปลี่ยนพอร์ตฟังโดยใช้ argument -p [port_number] คุณสามารถรัน iPerf server ด้วยขนาด TCP window ใหญ่และบนพอร์ต TCP อื่นได้ ใช้คำสั่ง:

# iperf3 -s -w 32768 –p 5200

  • -w 32768 – ตั้งค่าขนาด TCP window เป็น 32 kB (โดยค่าเริ่มต้นประมาณ 8 kB)
  • –p 5200 – พอร์ตที่ iPerf รอการเชื่อมต่อ (ฉันเตือนไว้ว่า iperf2 ฟังโดยค่าเริ่มต้นที่พอร์ต 5001 และ iperf3 ที่ 5201)

ผมใช้คอมพิวเตอร์ที่ติดตั้ง Windows 10 เป็น iPerf client รัน command prompt และไปที่ไดเรกทอรีที่มีไฟล์ iPerf executable:
cd c:\tools\iperf
เพื่อรันการทดสอบแบนด์วิดท์เครือข่ายจากไคลเอ็นต์ ให้ระบุที่อยู่ iPerf server (หรือชื่อ DNS):
iperf3.exe -c 192.168.1.200
หากคุณเริ่ม iPerf server ด้วยขนาด TCP window เพิ่มขึ้น คุณสามารถใช้คำสั่งต่อไปนี้เพื่อรับโหลดเครือข่ายสูงสุด:

iperf3.exe -c 192.168.1.200 -P 8 -t 30 -w 32768

  • -c 192.168.1.200 – ที่อยู่ IP ของ iPerf server;
  • -w 32768 – เพิ่มขนาด TCP window;
  • -t 30 – คือเวลาในวินาทีสำหรับการทดสอบ (โดยค่าเริ่มต้นคือ 10 วินาที);
  • -P 8 – คือจำนวนเธรดขนาน (streams) เพื่อรับโหลดช่องสัญญาณสูงสุด;

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

ในตัวอย่างของผม การทดสอบใช้เวลา 30 วินาที ในรายงานสุดท้าย เราสนใจค่าของคอลัมน์ Bandwidth ที่แสดงในบรรทัด [SUM] สุดท้าย ในกรณีนี้ แบนด์วิดท์เครือข่ายเฉลี่ยระหว่างสองโฮสต์คือ 85.9 Mbit/s ข้อมูล 307 MB ถูกถ่ายโอน (Transfer column) ด้วยความเร็วสมมาตร (sender=receiver)

โดยใช้ argument -f คุณสามารถเปลี่ยนรูปแบบความเร็ว (bits, kilobits หรือ megabits) ในการทดสอบต่อเนื่อง เมื่อคุณต้องการประเมินประสิทธิภาพเป็นเวลาหลายนาที (ชั่วโมง) คุณสามารถตั้งค่าช่วงเวลาในการแสดงผลลัพธ์ระหว่างทางโดยใช้ตัวเลือก –i

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

คุณสามารถรัน iPerf ในโหมด reverse (เซิร์ฟเวอร์ส่งข้อมูล และไคลเอ็นต์รับ) ใช้ตัวเลือก –R บนไคลเอ็นต์สำหรับสิ่งนี้

โดยค่าเริ่มต้น ยูทิลิตี้สร้างトラฟฟิก TCP หากคุณต้องการตรวจสอบแบนด์วิดท์เครือข่ายของคุณสำหรับแพ็กเก็ต UDP คุณต้องใช้ตัวเลือก –u ในกรณีนี้ คุณควรเริ่ม iPerf server ด้วยคำสั่ง: iperf3 -s –u)

หากคุณต้องการทดสอบแบนด์วิดท์ของ ISP คุณสามารถใช้หนึ่งใน iPerf servers สาธารณะ (รายการ iPerf public host พร้อมที่นี่):

iperf3 -c iperf.scottlinux.com

หากคุณต้องการวัดความเร็วเครือข่ายสูงสุดในทั้งสองทิศทาง (ในโหมด duplex) ใช้ตัวเลือก –d บนไคลเอ็นต์:

iperf3.exe -c IP -P 8 -t 30 -w 32768 –d

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

ระหว่างการทดสอบเครือข่ายโดยใช้ iPerf คุณสามารถตรวจสอบกราฟ throughput การเชื่อมต่อเครือข่ายของคุณผ่าน Task Manager

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

ใช้ iPerf ทดสอบความเร็วและแบนด์วิดท์เครือข่าย (Throughput)

คุณสามารถแสดงรายการตัวเลือกทั้งหมดได้ดังนี้:

iperf3 –help

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