คำตอบสั้น ๆ: แยกให้ออกว่าปัญหาอยู่ที่เครื่อง เส้นทางกลางทาง หรือปลายทาง ด้วยเครื่องมือพื้นฐานสามตัว พร้อมวิธีอ่านผลที่คนมักตีความผิด
คู่มือนี้อธิบาย traceroute ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
เมื่อผู้ใช้แจ้งว่า "เข้าเว็บช้า" หรือ "บางครั้งเข้าไม่ได้" คำถามที่ต้องตอบให้ได้ก่อนคือปัญหาอยู่ที่ไหน ที่เครื่องปลายทาง ที่เส้นทางระหว่างกลาง หรือที่ฝั่งผู้ใช้เอง การเดาโดยไม่วัดมักทำให้แก้ผิดจุดและเสียเวลาเป็นวัน
คู่มือนี้ใช้เครื่องมือสามตัวที่มีอยู่แล้วในทุกเครื่อง ไล่จากง่ายไปละเอียด พร้อมอธิบายจุดที่คนอ่านผลผิดบ่อยที่สุด โดยเฉพาะเรื่อง Packet Loss ที่เห็นในกลางทางแต่ไม่ได้แปลว่ามีปัญหาจริง
สิ่งที่ต้องเตรียม
- สิทธิ์ SSH เข้าเซิร์ฟเวอร์ หรือ Terminal บนเครื่องที่ใช้งาน
- ชื่อโดเมนหรือ IP ปลายทางที่มีปัญหา
# Ubuntu / Debian
sudo apt install -y iputils-ping traceroute mtr-tiny dnsutils
# AlmaLinux / Rocky Linux
sudo dnf install -y iputils traceroute mtr bind-utils
ขั้นตอนที่ 1: แยก DNS ออกจากปัญหาก่อน
ปัญหาจำนวนมากที่ดูเหมือนเครือข่ายช้า จริง ๆ แล้วคือ DNS ที่ตอบช้าหรือตอบผิด ทดสอบแยกก่อนเสมอ
dig +short example.com
dig example.com | grep 'Query time'
dig @8.8.8.8 example.com +short
ถ้า Query time สูงกว่า 100 ms เป็นประจำ หรือผลจาก DNS ของเครื่องต่างจากผลของ 8.8.8.8 ให้แก้ที่ DNS ก่อน ตรวจว่าเครื่องใช้ Resolver ตัวไหนอยู่
resolvectl status | head -20
cat /etc/resolv.conf
ขั้นตอนที่ 2: ping เพื่อดูว่าถึงกันหรือไม่และหน่วงเท่าไร
ping -c 20 example.com
ดูสามค่าท้ายผลลัพธ์
- packet loss ควรเป็น 0% การสูญหายแม้เพียง 1-2% ก็ทำให้ TCP ต้องส่งซ้ำและเว็บช้าอย่างรู้สึกได้
- rtt avg เวลาไปกลับเฉลี่ย ในประเทศไทยควรต่ำกว่า 30 ms ไปสิงคโปร์ราว 30-50 ms ไปยุโรปหรืออเมริกา 150-250 ms
- rtt mdev ความแกว่งของเวลา ถ้าค่านี้สูงใกล้เคียงกับ avg แปลว่าเส้นทางไม่นิ่ง ซึ่งกระทบงานที่ต้องการความต่อเนื่อง เช่น SSH หรือ VoIP มากกว่าค่าเฉลี่ยที่สูงแต่นิ่ง
ถ้า ping ไม่ตอบเลย อย่าเพิ่งสรุปว่าเครื่องดับ เซิร์ฟเวอร์จำนวนมากปิดการตอบ ICMP ไว้ ให้ทดสอบที่พอร์ตจริงแทน
nc -vz example.com 443
curl -I https://example.com
ขั้นตอนที่ 3: traceroute เพื่อดูเส้นทาง
traceroute example.com
traceroute -T -p 443 example.com
แบบที่สองใช้ TCP ไปที่พอร์ต 443 ซึ่งมักผ่าน Firewall ได้ดีกว่าแบบปกติ จึงเห็นเส้นทางครบกว่า
สิ่งที่ต้องดูคือ เส้นทางขาดตอนไหน และ เวลากระโดดขึ้นที่ hop ไหน เช่น หาก hop ที่ 1-5 อยู่ที่ 2 ms แล้ว hop ที่ 6 กระโดดเป็น 180 ms แปลว่าออกนอกประเทศที่จุดนั้น ซึ่งเป็นเรื่องปกติหากปลายทางอยู่ต่างทวีป
ขั้นตอนที่ 4: mtr เพื่อดูภาพต่อเนื่อง
ปัญหาเครือข่ายส่วนใหญ่เป็นแบบเป็นช่วง ๆ การยิง traceroute ครั้งเดียวจึงมักไม่เจอ mtr รวม ping กับ traceroute เข้าด้วยกันและวัดต่อเนื่อง
mtr -rwzbc 100 example.com
ความหมายของตัวเลือก -r พิมพ์รายงานแล้วจบ -w แสดงชื่อโฮสต์แบบเต็ม -z แสดงหมายเลข AS ของผู้ให้บริการแต่ละ hop -b แสดงทั้งชื่อและ IP และ -c 100 คือยิง 100 รอบ
ปล่อยให้รันจนครบ ยิ่งจำนวนรอบมากยิ่งเชื่อถือได้ สำหรับปัญหาที่เกิดเป็นช่วง แนะนำให้รันแบบต่อเนื่องนาน ๆ ด้วย mtr -c 1000 example.com