การใช้งานโปรแกรม iperf3 เพื่อทดสอบแบนวิด ในระบบเน็ตเวิร์คของท่าน

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

  1. อยากให้คนไทยได้อ่านหนังสือเยอะๆ อย่างน้อย ถ้าผมเขียนก็ได้สัก 1 หน้ากระดาษ A4 แล้ว เพราะผมจะเกริ่นยาว ฮ่าๆๆๆ
  2. เอาไว้เตือนความจำตัวเองด้วยเพราะด้วยส่วนตัว ลืมขี้ เห้ย ขี้ลืม ครับ
  3. สุดท้ายก็ผสมผสาน ทั้งบทความและวีดีโอเลยแล้วกัน ฮ่าๆๆๆ

มาเริ่มกันเลย

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

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

ผมเลยหาโปรแกรมในอากู๋ (Google) มองหาซอฟท์แวร์สักตัวที่มันจะช่วยเราเรื่องนี้ได้ โป๊ะเช๊ะ เจอครับ หลายตัวน่ะ แต่ตัวที่ชอบคือ iperf ปัจจุบันเป็นเวอร์ชั่น 3 ทำงานได้บน windows , Linux , MacOs ที่สำคัญเลยน่ะ มันฟรี อ่ะดิ.. โหลดมาลองใช้ถ้าเห็นว่าดี ก็ โดนัท (เห้ย โดเนท บริจาค ให้เขาบ้างน่ะ)

มาดูหลักการพื้นๆ ก่อนจะใช้งานโปรแกรมนี้กันหน่อย

ผมขอพูดคร่าวๆ แล้วกันนะครับ จริงๆ อยากพูดยาว แต่ก็มันรู้แค่นี้น่ะ ได้สั้นๆๆ ฮ่าๆๆ

หลักการของมันคือ ต้องมี 2 ฝั่ง คือ เครื่องที่เป็น

  1. แบนวิดเทส เซิร์ฟเวอร์ (เครื่องแม่ ทำหน้าที่ตั้งรับการทดสอบ)
  2. แบนวิดเทส ไคลเอ้น (เครื่องลูก ทำหน้าที่ส่งแพ็คเกตเพื่อทดสอบ)

ตัวอย่างภาพนะครับ ให้เตรียมดังนี้

เมื่อรู้แล้วว่าต้องมีอะไร บ้างแล้ว ก็มาเริ่มกันเลยครับ

ดาวน์โหลดโปรแกรมมาก่อน จากเว็บ

https://iperf.fr/iperf-download.php#windows หรือคลิกที่นี่ครับ https://iperf.fr/download/windows/iperf-3.1.3-win64.zip

กรณีที่มีเวอร์ชัั่นใหม่ก็หาดาวน์โหลดมาเพิ่มเติม เพื่อใช้งานได้เลย โปรแกรมตัวเดียวกันนี้ มันทำหน้าที่เป็น server และ client ในตัวครับ อยู่ที่โหมดที่เราเปิดใช้งานแค่นั้นเอง

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

ตัวอย่างในแล็ปนี้ผมวางไฟล์ไว้ที่ D:\$SRV\iperf นะครับ

เริ่มเปิดโปรแกรมในฝั่ง Server เครื่องแม่ข่ายกัน 

ให้คุณเปิดโปรแกรม command prompt ขึ้นมา แนะนำให้รันด้วย administrator นะครับ การรันด้วย administrator ให้คุณคลิกขวาที่ command prompt แล้วเลือก Run as administrator (สำหรับการเปิด command prompt ขึ้นมาให้ไปที่เมนูค้นหา พิมพ์ cmd มันจะขั้นมาดังภาพ)

จากนั้นให้เราเรียกเปิดไฟล์ iperf3.exe ขึ้นมา ดังภาพ แล้วใส่พารามิเตอร์ -s คือ ตั้งให้มันเป็น server เครื่องแม่นั่นเอง

อธิบายสำหรับคนไม่เคยใช้ Dos นะครับ จากภาพ
d:\ คือผมสั่งให้มันวิ่งไปที่ ไดร์ฟ D: ของผม
cd $srv\iperf คือ ผมสั่งเปลี่ยนให้วิ่งที่ไปที่ โฟลเดอร์ $SRV และ ไปที่ โฟลเดอร์ iperf ครับ
จากนั้นก็สั่งรันคำสั่งของเราด้วย iperf3.exe -s แค่นี้ครับ พร้อมทำงาน

พร้อมทำงานแล้วจร้า ระบบจะคอยรับฟังการส่งแพคเกตที่พอร์ต 5201 นะครับ (หมายเลข) แนะนำให้เปิด Firewall ทั้ง TCP และ UDP เพราะโปรแกรมสามารถทดสอบได้ทั้ง 2 โปรโตคอล

มาฝั่งเครื่องลูกข่าย ที่จะทำหน้าที่ส่งแพคเกตไปทดสอบกันบ้าง

ผมวางไฟล์ไว้ที่เดียวกันนะครับ คือ D:\$srv\iperf ครับ ทำแบบเดียวกันเลยกับเครื่อง Server

สำหรับเครื่อง Client หรือเครื่องลูก นะครับ ให้พิมพ์คำสั่ง iperf3.exe -c ตามด้วยไอพีเครื่องแม่ข่าย ดังตัวอย่าง อธิบายได้ดังนี้

iperf3.exe สั่งเปิดโปรแกรม iperf3
-c คือ ตั้งให้เป็นโหมด เครื่องลูก client
192.168.199.251 คือ หมายเลขไอพีเครื่องแม่ เครื่องที่เราจะยิงแพ็คเกตไปให้
-w 300k คือ ปริมาณแพ็คเกตที่เราจะยิงไป ผมยิงไปที่ 300k

จริงๆ แล้วมีตัวเลือกอื่นๆ อีกเพียบ ให้ไปศึกษาเพิ่มเติมได้จากลิงค์นี้ครับ

https://iperf.fr/iperf-doc.php#3doc

เสร็จแล้วก็กด Enter ไปเลย มันจะเริ่มยิงแพ็คเกตไปที่เครื่องแม่ เพื่อดูว่าแบนวิดที่ได้ ได้เท่าไหร่ สังเกตของผมได้ 942 Mb เพราะสวิตผมเป็น กิ๊กกะบิต พอร์ต นั่งเอง

มาดูที่ฝั่ง Server แม่ข่ายกันสักหน่อย แบนวิดที่รับ พุ่งแล้วครับ ปริมาณพอๆ กับที่ส่งมาครับ

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

ผมมีวีดีโอที่ผมทดสอบแนบท้ายมาให้ด้วย ลองรับชมกันครับ

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *