แก้ปัญหา Network อย่ายึดติดกับคำสั่ง Ping เพียงอย่างเดียว

แก้ปัญหา Network อย่ายึดติดกับคำสั่ง Ping เพียงอย่างเดียว
No automatic alt text available.
คือ หลายๆครั้งเวลา Network ช้า หรือ Application ใช้งานไม่ได้ ก็มักจะตรวจสอบด้วยคำสั่ง Ping  ก่อนเป็นอันดับแรก
แต่ Ping มันไม่ได้บอกอะไรให้เรารู้เลยว่า.. ปัญหานั้นเกิดจากอะไร หรือ คุณสามารถรู้ปัญหาของ Network ช้า.. Application ใช้แล้วหลุด จากคำสั่ง Ping ได้ ?
Ping มันเอาไว้ใช้แค่ตรวจสอบเครื่องปลายทางในเบื้องต้นเท่านั้นว่ายังมีชีวิตอยู่ดีมั้ย.. ถ้าเครื่องปลายทาง Block ICMP หรือ ไม่ได้เปิดให้ Ping คุณจะสรุปว่าเครื่องนั้นใช้งานไม่ได้เลยหรอ !! มันคงไม่ใช่..
แม้ว่า Ping อาจจะบอกว่าสำคัญอย่าง RTT (Latecy) เพื่อให้เราทราบว่า จากต้นทาง ไป ปลายทางนั้น มีอะไรเกิดขึ้นในเส้นทางที่ทำให้เกิดการ Delay ถึงทำให้ Latency มันสูง แต่.. มันก็ไม่ได้ทำให้สามารถระบุปัญหาได้อยู่ดี ว่าปัญหาเกิดจากอะไรเพียงแค่ใช้คำสั่ง Ping

ผมจะยกตัวอย่าง บางเคสที่พบเจอในระหว่างการทำงานมาตลอดเกือบ 10 ปี

เคสแรก – ผมเจอปัญหา Application ใช้งานแล้วหลุด ใช้แล้วช้า ฝั่ง support ของ ลค. รับ call แล้ว โทรมาหาผมเพื่อแจ้งปัญหาดังกล่าว แล้วก็บอกผมว่า เค้า Ping จากเครื่องไปหา Application Server ตัวนั้นทิ้งไว้ แล้วผลของการ Ping ไปที่ Server มันปกติ เลยสรุปว่าไม่ได้เป็นปัญหาที่ Server !!! สรุปง่ายๆ กันแบบนี้เลย
ผลสรุปของเคส – สุดท้ายเคสนี้ Root Cause คือ Server Overload ก็ให้ทีม Server จัดการกันต่อไป… อืมม เป็นไงล่ะ Ping ไปหา Server ปกติ…
เคสที่สอง – ผมเจอปัญหา Application ใช้งานแล้วหลุด ใช้แล้วช้า ผ่าน Wireless ซึ่งของเดิมใช้เป็นยี่ห้อ En… แล้วเปลีย่นมาใช้ Cisco หลังจากที่เอา Cisco ไปเปลี่ยน ลค. พยายาม Ping ผ่าน Wireless ไปที่ Server ของ Application ตัวนั้น แล้ว ลค.บอกค่า times อยู่ประมาณ 10-20ms บางทีก็กระโดดไป 50ms แต่ไม่มี request timeout แล้วพูดกับผมว่า “ทำไมค่า time มันสูงจัง ใน LAN เดียวกัน มันต้องได้น้อยกว่า 1ms สิ ผมเสียบ LAN ก็ Ping ได้น้อยกว่า 1ms นะ” ทั้งๆที่ ลค. ยังไม่ได้ลองใช้งาน Application เลยหลังจากเปลี่ยน Access Point….. และ ลค. จะไม่ยอมประกาศให้ User ใช้งาน App ผ่าน Wireless เนื่องจากค่า time มากกว่า 1ms !!!
ผลสรุปของเคส – สุดท้ายเคสนี้ จบด้วยการให้ ลค. Pilot Test บางเครื่องให้ใช้งาน App. ผ่าน Wireless สรุปว่า ใช้งานได้ปกติ แม้ค่า Ping ไปที่ Server ผ่าน Wireless อยู่ที่ประมาณ 10-20ms… อืมม เป็นไงล่ะ
ผมยกตัวอย่างมา 2 เคส จะเห็นว่า
  • มีเคสที่ Application มีปัญหา , Network ปกติ , Ping ปกติ
  • มีเคสที่ Application มีปัญหา , Network ปกติ , Ping 10-20ms
ยังมีเคสตัวอย่างอีกเช่น
  • มีเคสที่ใช้ Application ข้าม WAN แล้วมีปัญหา ตรวจสอบพบ Network ปกติ , Ping ปกติ แต่ Root Cause คือ MTU ซึ่งบน Router WAN ไม่ได้มีการปรับจูนค่า TCP MSS ไว้ ทำให้ Router พยายามจะ Fragment แต่ App. ไม่ยอม จึงโดน Drop
สังเกตุว่าแต่ละเคส Ping ไม่ได้มาช่วยให้ทราบเลย ว่าต้นเหตุของปัญหาคืออะไร มันแค่ใช้เพื่อเริ่มต้นตรวจสอบปัญหาเท่านั้น เราเริ่มต้นแก้ปัญหาด้วยการ Ping เพื่อตรวจสอบปัญหาในเบื้องต้น แต่ไม่ได้ช่วยให้สามารถหาต้นเหตุได้จริง 100% ก็ต้องไปไล่อย่างอื่นกันต่อไป
ที่เขียนโพสนี้ขึ้นมา แค่อยากจะให้คนทีทำงาน Network ได้ทราบและเข้าใจว่า “Ping ไม่ได้ช่วยแก้ปัญหาทุกอย่าง” ไม่ใช่ว่าอะไรก็เอาแต่จะ Ping อย่างเดียว … Ping ใช้งานผ่าน ICMP แต่พวก App. หรือ Traffic ที่ใช้งานอื่นๆ มันวิ่งผ่าน TCP , UDP เป็นหลัก…
ผมเชื่อว่าหลายท่านอาจเคยเจอปัญหา เช่น
  • Ping ได้ปกติเลยย แต่ทำไมใช้งานไม่ได้ล่ะ
  • เนี่ยยย Ping ไม่เจอเลย Network มีปัญหาแน่ๆ
เคสแบบนี้ถ้าเราเอาแค่ Ping มาวัด ก็จบ network ก็เป็นแพะไป ทั้งๆที่บางที server ปิด ping หรือ ติด firewall block ping เป็นต้นครับ
สรุปสุดท้าย
  • อย่าสรุปปัญหาด้วยการใช้เพียงแค่ Ping
  • Ping ใช้ดูปัญหาแค่เบื่องต้นเท่านั้น หรือสรุปปัญหาได้ในบางเคสเท่านั้น ไม่ใช่เอาไปสรุปปัญหาได้ทุกเคส
ดังนั้น แก้ปัญหา Network อย่ายึดติดกับคำสั่ง Ping เพียงอย่างเดียวนะครับ

Facebook Comments

comments