Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

iPerf3 – ทรูพุตเครือข่ายและการทดสอบความเร็วที่แม่นยำสำหรับ Linux

ไอเพอร์ฟ3 เป็นโปรแกรมที่ใช้บรรทัดคำสั่งแบบโอเพ่นซอร์สข้ามแพลตฟอร์มฟรีสำหรับการวัดปริมาณงานเครือข่ายแบบเรียลไทม์ เป็นหนึ่งในเครื่องมือที่ทรงพลังที่สุดสำหรับการทดสอบแบนด์วิดท์สูงสุดที่ทำได้ในเครือข่าย IP (รองรับ IPv4 และ IPv6 ).

[ คุณอาจต้องการ:17 เครื่องมือตรวจสอบแบนด์วิธที่มีประโยชน์สำหรับ Linux ]

ด้วย ไอเพอร์ฟ คุณสามารถปรับแต่งพารามิเตอร์ต่างๆ ที่เกี่ยวข้องกับการกำหนดเวลา บัฟเฟอร์ และโปรโตคอล เช่น TCP, UDP และ SCTP มันมีประโยชน์สำหรับการดำเนินการปรับแต่งประสิทธิภาพของเครือข่าย

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

อย่างไรก็ตาม ก่อนที่คุณจะทำการปรับแต่งได้จริง คุณต้องทำการทดสอบบางอย่างเพื่อรวบรวมสถิติประสิทธิภาพเครือข่ายโดยรวมที่จะแนะนำกระบวนการปรับแต่งของคุณ

ผลลัพธ์ประกอบด้วยช่วงเวลาเป็นวินาที การถ่ายโอนข้อมูล แบนด์วิธ (อัตราการถ่ายโอน) การสูญเสีย และพารามิเตอร์ประสิทธิภาพเครือข่ายที่มีประโยชน์อื่นๆ มีจุดประสงค์หลักเพื่อช่วยในการปรับแต่งการเชื่อมต่อ TCP บนเส้นทางเฉพาะ และนี่คือสิ่งที่เราจะเน้นในคู่มือนี้

ข้อกำหนด:

  • คอมพิวเตอร์สองเครื่องในเครือข่ายซึ่งมี iperf3 ทั้งคู่ ติดตั้งแล้ว

วิธีการติดตั้ง iPerf3 ในระบบ Linux

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

$ sudo apt install iperf3 [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3 [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf [On Gentoo Linux]
$ sudo apk add iperf3 [On Alpine Linux]
$ sudo pacman -S iperf3 [On Arch Linux]
$ sudo zypper install iperf3 [On OpenSUSE] 

เมื่อคุณมี iperf3 แล้ว ติดตั้งบนทั้งสองเครื่องแล้ว คุณสามารถเริ่มทดสอบปริมาณงานเครือข่ายได้

วิธีทดสอบความเร็วเครือข่ายระหว่างเซิร์ฟเวอร์ Linux สองเครื่อง

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

คุณสามารถระบุรูปแบบ (k , , ก. สำหรับ กิโลบิต , เมกะบิต , กิกะบิต หรือ K , , สำหรับ KBytes , เมกะไบต์ , กิกะไบต์ ) เพื่อรายงานตัวโดยใช้ -f สลับตามที่แสดง

$ iperf3 -s -f K 

หากพอร์ต 5201 กำลังถูกใช้โดยโปรแกรมอื่นบนเซิร์ฟเวอร์ของคุณ คุณสามารถระบุพอร์ตอื่นได้ (เช่น 3000 ) โดยใช้ -p สลับตามที่แสดง

$ iperf3 -s -p 3000

ทางเลือก คุณสามารถรันเซิร์ฟเวอร์เป็น daemon ได้โดยใช้ -D ตั้งค่าสถานะและเขียนข้อความเซิร์ฟเวอร์ไปยังไฟล์บันทึกดังต่อไปนี้

$ iperf3 -s -D > iperf3log 

จากนั้นบนเครื่องของคุณซึ่งเราจะถือว่าเป็นลูกค้า (เมื่อมีการเปรียบเทียบจริง) ให้เรียกใช้ iperf3 ในโหมดไคลเอนต์โดยใช้ -c ตั้งค่าสถานะและระบุโฮสต์ที่เซิร์ฟเวอร์ทำงานอยู่ (ไม่ว่าจะใช้ที่อยู่ IP หรือโดเมนหรือชื่อโฮสต์)

$ iperf3 -c 192.168.10.1 -f K

หลังจากนั้นประมาณ 18 ถึง 20 วินาที ไคลเอนต์ควรยุติและสร้างผลลัพธ์ที่ระบุปริมาณงานเฉลี่ยสำหรับการวัดประสิทธิภาพ ดังที่แสดงในภาพหน้าจอต่อไปนี้

iPerf3 – ทรูพุตเครือข่ายและการทดสอบความเร็วที่แม่นยำสำหรับ Linux ทดสอบปริมาณงานเครือข่ายระหว่างเซิร์ฟเวอร์

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

วิธีดำเนินการทดสอบเครือข่ายขั้นสูงใน Linux

มีตัวเลือกเฉพาะลูกค้าจำนวนหนึ่งสำหรับการดำเนินการทดสอบขั้นสูง ตามที่อธิบายไว้ด้านล่าง

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

$ iperf3 -c 192.168.10.1 -f K -w 500K 

หากต้องการเรียกใช้ในโหมดย้อนกลับ โดยที่ เซิร์ฟเวอร์ ส่งและลูกค้า ได้รับ ให้เพิ่ม -R สวิตช์

$ iperf3 -c 192.168.10.1 -f K -w 500K -R 

เพื่อรันการทดสอบแบบสองทิศทาง หมายความว่าคุณวัดแบนด์วิดท์ทั้งสองทิศทางพร้อมกัน ให้ใช้ -d ตัวเลือก

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

หากคุณต้องการได้รับ ผลลัพธ์ของเซิร์ฟเวอร์ ในลูกค้า เอาต์พุตให้ใช้ --get-server-output ตัวเลือก

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
iPerf3 – ทรูพุตเครือข่ายและการทดสอบความเร็วที่แม่นยำสำหรับ Linux รับผลลัพธ์เครือข่ายเซิร์ฟเวอร์ในไคลเอนต์

นอกจากนี้ยังสามารถตั้งค่าจำนวนสตรีมไคลเอ็นต์แบบขนาน (สองรายการในตัวอย่างนี้) ซึ่งทำงานพร้อมกัน โดยใช้ -P ตัวเลือก

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าคน iperf3

$ man iperf3

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

คุณมีความคิดที่จะแบ่งปันหรือคำถามที่จะถาม ใช้แบบฟอร์มความคิดเห็นด้านล่าง