in บันทึก

iperf3 perform network throughput tests บน Docker

iperf คืออะไร

iperf คือ โปรแกรมที่ใช้สำหรับการทดสอบ Network Bandwidth โดยจะเช็คอัตราความเร็วในการรับส่งข้อมูลรวมถึงสามารถวิเคราะข้อมูลพวก Packet loss ต่าง ๆ

เพราะฉนั้น iperf จึงเหมาะสำหรับการนำมาใช้ในการวิเคราะห์เนตเวิร์คภายใน (LAN) การทำงานของ iperf จำเป็นต้องใช้คอมพิวเตอร์อย่างน้อย 2 เครื่องในลักษณะ Server – Client เพื่อทดสอบ มาเริ่มด้วยกันทำ iperf server กัน โดยการสร้าง Dockerfile ตามนี้

FROM alpine

LABEL maintainer mf <mfhelper@gmail.com>

RUN apk add --no-cache iperf3 \
  && adduser -S iperf

USER iperf

EXPOSE 5201/tcp 5201/udp

ENTRYPOINT ["iperf3"]

# iperf3 -s run in Server mode
CMD ["-s"]

และทำการ Build ให้เรียบร้อย

sudo docker build -t mf/iperf3:server .

และทำการ run iperf เพื่อเป็นโหนด Server

sudo docker run --restart=unless-stopped --name=iperf3 -d -p 5201:5201/tcp -p 5201:5201/udp mf/iperf3:server

ที่นี้ก็เริ่มทดสอบกันโดยฝั่ง Client ก็ทำการติดตั้ง iperf3 ให้เรียบร้อย มีรองรับทั้ง Windows macOS iOS Android และ Linux โดย Download ได้ที่นี่  ส่วน Linux ก็ติดตั้งได้โดยใช้คำสั่ง

sudo apt install iperf3

ทดสอบแรกกันด้วย

iperf3 -c <speedtest.mydomain.local>

ลองทดสอบอีกคำสั่ง

iperf3 -R -O 1 -u -b 50M -c speedtest.mydomain.local

สามารถไปดูคำสั่งอื่น ๆ ได้ที่ https://iperf.fr/iperf-doc.php  หรือดูรายละเอียดเรื่อง Bandwidth ได้ที่ https://www.paessler.com/it-explained/bandwidth

จบปิ๊งงง ^__^