IT General
น้องๆ เคยเล่นเกมออนไลน์แล้วเจออาการแลคไหม? หรือโหลดไฟล์อยู่ดีๆ แต่ดู YouTube ไม่ได้ซะงั้น? นั่นแหละปัญหาที่ QoS (Quality of Service) ช่วยแก้ได้เลย
QoS เนี่ย เหมือนเป็น "ตำรวจจราจร" ของข้อมูลในเครือข่ายเราน่ะครับ มันคอยจัดลำดับความสำคัญให้ traffic ต่างๆ ให้ traffic ที่สำคัญกว่า (เช่น เกมออนไลน์, VoIP) ได้รับ bandwidth ก่อน traffic ที่สำคัญน้อยกว่า (เช่น การดาวน์โหลดไฟล์) ทำให้ประสบการณ์ใช้งานโดยรวมดีขึ้นเยอะ
สมัยผมทำร้านเน็ตคาเฟ่ SiamCafe.net เมื่อ 20 กว่าปีก่อน QoS นี่สำคัญมาก เพราะต้องจัดการ bandwidth ให้เกมออนไลน์ลื่นไหล ลูกค้าจะได้ติดใจ SiamCafe Blog มีเรื่องราวสนุกๆ สมัยนั้นเยอะเลยนะ
Bandwidth ก็คือ "ท่อ" ที่ใช้ส่งข้อมูลครับ ยิ่งท่อใหญ่ ก็ยิ่งส่งข้อมูลได้เยอะในเวลาเท่ากัน หน่วยที่ใช้กันบ่อยๆ คือ Mbps (Megabits per second)
ลองนึกภาพว่า Bandwidth เหมือนถนน ถ้าถนนกว้าง รถ (ข้อมูล) ก็วิ่งได้สะดวก ไม่ติดขัด
Latency คือ "ความหน่วง" ในการส่งข้อมูลครับ ยิ่ง Latency น้อย ยิ่งดี เพราะข้อมูลจะไปถึงปลายทางได้เร็ว
Latency สำคัญมากสำหรับเกมออนไลน์ เพราะถ้า Latency สูง จะทำให้เกิดอาการแลค เล่นแล้วหงุดหงิด
Priority คือ "ลำดับความสำคัญ" ที่เรากำหนดให้กับ traffic ต่างๆ Traffic ที่มี Priority สูง จะได้รับ bandwidth ก่อน Traffic ที่มี Priority ต่ำ
QoS จะใช้ Priority นี่แหละในการจัดการ bandwidth ให้มีประสิทธิภาพ
การใช้งาน QoS จะขึ้นอยู่กับอุปกรณ์ที่เราใช้ครับ Router แต่ละยี่ห้อก็จะมี interface ที่แตกต่างกัน แต่หลักการพื้นฐานจะคล้ายๆ กัน
โดยทั่วไป เราจะต้องเข้าไปตั้งค่าใน Router ของเรา แล้วกำหนด Priority ให้กับ traffic ต่างๆ เช่น กำหนดให้ traffic ของเกมออนไลน์มี Priority สูงสุด
ขั้นแรก เราต้องรู้ก่อนว่า traffic ไหนที่เราต้องการให้มีความสำคัญเป็นพิเศษ เช่น เกมออนไลน์, VoIP, Video Conference
สมัยผมทำร้านเน็ต ผมจะให้ความสำคัญกับเกมออนไลน์เป็นอันดับแรก เพราะลูกค้าส่วนใหญ่มาเล่นเกม
หลังจากระบุ traffic ได้แล้ว เราก็ต้องกำหนด Priority และ Bandwidth ที่เหมาะสมให้กับ traffic นั้นๆ
โดยทั่วไป เราจะแบ่ง Priority ออกเป็นหลายระดับ เช่น High, Medium, Low แล้วกำหนด Bandwidth ขั้นต่ำที่ traffic นั้นๆ จะได้รับ
# ตัวอย่างการตั้งค่า QoS บน Router (สมมติ)
traffic_type: game
priority: high
min_bandwidth: 20%
traffic_type: video_streaming
priority: medium
min_bandwidth: 10%
traffic_type: file_download
priority: low
min_bandwidth: 5%
หลังจากตั้งค่า QoS แล้ว เราต้องทดสอบดูว่าการตั้งค่าของเราได้ผลจริงหรือไม่ โดยลองใช้งาน traffic ต่างๆ พร้อมกัน แล้วสังเกตว่ามีอาการแลคหรือไม่
ถ้ายังพบปัญหา เราก็ต้องปรับปรุงการตั้งค่า QoS ของเรา จนกว่าจะได้ผลลัพธ์ที่น่าพอใจ
นอกจาก QoS แล้ว ยังมีเทคนิคอื่นๆ ที่ช่วยปรับปรุงคุณภาพของเครือข่ายได้ เช่น Traffic Shaping และ Bandwidth Management
Traffic Shaping จะเน้นการ "ปั้น" รูปทรงของ traffic เพื่อให้ traffic มีความราบรื่นมากขึ้น ส่วน Bandwidth Management จะเน้นการ "จำกัด" Bandwidth เพื่อป้องกันไม่ให้ traffic บางประเภทใช้ Bandwidth มากเกินไป
QoS เป็นทางเลือกที่ยืดหยุ่นกว่า เพราะสามารถปรับ Priority ได้ตามความต้องการ แต่ก็ต้องใช้ความรู้ความเข้าใจมากกว่า SiamCafe Blog มีบทความเกี่ยวกับ Traffic Shaping ด้วยนะ ลองไปอ่านดู
| เทคนิค | ข้อดี | ข้อเสีย |
|---|---|---|
| QoS | ยืดหยุ่น, ปรับ Priority ได้ | ต้องใช้ความรู้ความเข้าใจ |
| Traffic Shaping | ทำให้ traffic ราบรื่น | อาจไม่เหมาะกับ traffic ที่มีความสำคัญต่างกัน |
| Bandwidth Management | ป้องกันการใช้ Bandwidth มากเกินไป | อาจจำกัดการใช้งานโดยไม่จำเป็น |
เอาล่ะน้องๆ มาถึงตรงนี้ เชื่อว่าพอเห็นภาพรวมเรื่อง QoS กันแล้วเนอะ สมัยผมทำร้านเน็ต SiamCafe นี่ บอกเลยว่า QoS นี่ช่วยชีวิตไว้หลายครั้งเลยล่ะ เพราะสมัยนั้นเน็ตมันไม่ได้แรงเหมือนสมัยนี้ ใครโหลดบิททีนึงนี่ร้านแทบล่ม
ผมเลยอยากจะแชร์ Best Practices ที่สั่งสมมาตลอด 28 ปี+ ในวงการ IT ให้น้องๆ เอาไปปรับใช้กันได้เลยนะ
อันนี้สำคัญสุดๆ น้องต้องรู้ก่อนว่า Traffic ในร้านตัวเองเป็นยังไงบ้าง เกมไหนกิน Bandwidth เยอะสุด ลูกค้าชอบโหลดอะไร ช่วงเวลาไหนที่ Traffic พีคที่สุด สมัยผมทำร้านเน็ต ผมใช้โปรแกรมพวก Network Monitoring Tools พวก MRTG หรือ Cacti มาช่วยดู Traffic Real-time เลย
พอเรารู้ข้อมูลพวกนี้แล้ว เราก็จะสามารถออกแบบ QoS ได้อย่างเหมาะสม ว่าควรจะให้ Priority กับ Traffic แบบไหน
QoS มันจะทำงานได้ดีก็ต่อเมื่อเราแยกประเภท Traffic ได้อย่างชัดเจน สมัยผมจะแยก Traffic หลักๆ เป็น 3 ประเภท คือ
การแยกประเภท Traffic นี่ เราสามารถทำได้หลายวิธี เช่น ดูจาก Port Number, IP Address หรือ Application ที่ใช้งาน
Queueing Algorithm คือตัวที่จัดการว่า Packet ไหนจะถูกส่งออกไปก่อน สมัยผมใช้ FIFO (First-In, First-Out) เป็นหลัก แต่ถ้าเจอปัญหา Traffic Congestion ก็จะลองเปลี่ยนไปใช้ Weighted Fair Queueing (WFQ) ดู เพราะมันจะช่วยกระจาย Bandwidth ให้แต่ละประเภท Traffic ได้อย่างยุติธรรมมากขึ้น
น้องๆ ลองศึกษา Queueing Algorithm แต่ละแบบดู แล้วเลือกใช้ให้เหมาะสมกับสถานการณ์ในร้านตัวเองนะ
QoS ไม่ใช่สิ่งที่ตั้งค่าครั้งเดียวแล้วจบ น้องๆ ต้อง Monitor Performance ของ QoS อย่างสม่ำเสมอ และปรับแต่งค่าต่างๆ ให้เหมาะสมอยู่เสมอ เพราะ Traffic ในร้านมันเปลี่ยนแปลงอยู่ตลอดเวลา
สมัยผมจะดูพวก Latency, Packet Loss และ Bandwidth Utilization เป็นหลัก ถ้าเจอว่ามีปัญหาอะไร ก็จะรีบปรับแต่ง QoS ทันที
A: ถึงสมัยนี้เน็ตจะแรงขึ้นมาก แต่ผมว่า QoS ก็ยังจำเป็นอยู่นะ เพราะมันช่วยให้เราจัดการ Bandwidth ได้อย่างมีประสิทธิภาพมากขึ้น โดยเฉพาะในช่วงเวลาที่ Traffic พีคๆ มันจะช่วยให้เกม Online ไม่แลค และลูกค้ายังสามารถใช้งาน Web Browsing ได้อย่างราบรื่น
A: ถ้าใช้ Router ระดับ Enterprise หน่อย การตั้งค่า QoS อาจจะซับซ้อนนิดนึง แต่ถ้าใช้ Router Consumer Grade ส่วนใหญ่จะมี GUI ที่ใช้งานง่ายอยู่แล้ว น้องๆ ลองศึกษาคู่มือการใช้งานของ Router ตัวเองดูนะ
A: QoS ไม่ได้ป้องกันการโหลดบิทโดยตรง แต่มันช่วยให้เราจำกัด Bandwidth ที่ใช้ในการโหลดบิทได้ ทำให้การโหลดบิทไม่ส่งผลกระทบต่อการใช้งานอื่นๆ ในร้าน
A: อันนี้แล้วแต่ว่าในร้านเรามีลูกค้าเล่นเกมอะไรบ้าง น้องๆ ลองสังเกตดูว่าเกมไหนที่กิน Bandwidth เยอะ และ Sensitive ต่อ Latency มาก ก็ให้ Priority กับเกมนั้นเป็นพิเศษ
QoS หรือ Quality of Service เป็นเครื่องมือสำคัญที่ช่วยให้เราจัดการ Bandwidth ในร้านเน็ตได้อย่างมีประสิทธิภาพมากขึ้น มันช่วยให้เราให้ Priority กับ Traffic ที่สำคัญ เช่น เกม Online และจำกัด Bandwidth ที่ใช้ในการ Download ทำให้ลูกค้าสามารถใช้งาน Internet ได้อย่างราบรื่น
ถึงการตั้งค่า QoS อาจจะดูซับซ้อน แต่ถ้าเราเข้าใจหลักการทำงาน และมี Best Practices ที่ดี เราก็จะสามารถปรับแต่ง QoS ให้เหมาะสมกับสถานการณ์ในร้านของเราได้ iCafeForex ก็เป็นอีกหนึ่งตัวอย่างของธุรกิจที่ต้องให้ความสำคัญกับ QoS เพื่อให้ลูกค้าได้รับประสบการณ์ที่ดีที่สุด
อย่าลืมติดตาม SiamCafe Blog นะครับ จะมีบทความดีๆ แบบนี้มาให้อ่านกันเรื่อยๆ