บันทึก มายโหรา.คอม

CDN Content Delivery/Distribution Network

วันพุธ ที่ 14 สิงหาคม พ.ศ.2556

วันนี้บทความสั้น ๆ ไม่เกี่ยวกับดูดวง เล่าสู่กันฟังครับ ผมเองประสบปัญหาเรื่องเวบช้ามาหลายครั้งหลายครา พยายามแก้ในทางเทคนิคในเครื่องตั้งแต่ Compression ,Cache ปรับโค๊ดแยกโค๊ด Flat File สารพัดเทคนิคก็ได้ระดับนึง แล้วก็แยกเครื่อง แยกเวบ แยก Subdomain ก็เร็วขึ้น แต่โดยรวมก็ยังช้าอยู่ เมื่อเทียบกับเวบใหญ่ ๆ เลยหาวิธีต่อว่าจะแก้อย่างไร ก็เกิดคำถามว่าทำไม Google เร็วทั้ง ๆ ที่คนใช้เยอะก็เลยนั่งดูโค๊ด ก็พบเทคนิคนึงว่าส่วนใหญ่ ใช้ CDN ช่วยทำงาน

CDN ย่อมาจาก Content Delivery Network หรือ Content Distribution Network เป็นแนวคิดกระจายไฟล์ เป็นการโหลดไฟล์นิ่ง ๆ พวก .css .jpg .gif .js โฮสที่ใกล้ที่สุด ถ้า Viewsource เช่น เวบ Facebook ก็จะไปเรียกไฟล์มาจาก fbcdn.net ,google จะเรียกจาก gstatic.com เป็นต้น ซึ่งไฟล์อาจอยู่เครื่องเดียว กระจายเครือง หรือกระจายทั่วโลกก็ได้ขึ้นอยู่กับวางโครงข่าย หรือใช้ DNS Mapping

ถามว่าทำไมต้องเรียกไฟล์หลายที่ เร็วขึ้นอย่างไร ก่อนอื่นต้องเข้าใจการทำงานของ HTTP Protocol ของเวบบราวซ์เซอร์ก่อน ทั้ง IE, Chrome, Firefox เมื่อเกิดการเรียกเวบ (Request) จะโหลดโค๊ดหน้าหลักก่อน แล้วดูว่ามี Link หรือต้องโหลดข้อมูล .css .jpg .gif .js จากที่ไหนบ้าง ถ้าอยู่ภายใต้โดเมนเดียวกัน ก็จัดเข้าคิวลำดับการโหลด ถ้าต่างโดเมนกันก็จะโหลด ขนานหรือพร้อมกันได้เลย จำนวน Connection ที่รับได้ขึ้นกับเวบบราวซ์เซอร์นั้น การทำงานขนานกันข้อมูลไม่ต้องรอให้เสร็จทีละอัน ถ้าเก็บข้อมูลใน CDN ก็จะเกิดการทำงานขนานกันมากขึ้น หลักการประมาณนี้ครับ ในการติดตั้ง CDN มักจะไม่ทำผ่าน subdomain เพราะ Cookies จะจำโดเมนและมองเป็นไฟล์เดียวกัน ถ้าจะใช้จริง ๆ ต้องใช้ Cookieless แทน

ที่ผมทำเอาหลักการมาใช้กับเครื่องเซิร์ฟเวอร์เครื่องเดิม คือจดโดเมนตั้งเวบขึ้นมาตัวนึง (ในเครื่องเดียวกัน) เช่น cdn.myhora.net สำหรับเก็บไฟล์ .css .jpg .gif .js อย่างเดียว เวบหลักก็จัดสรรกระจายเรียกไฟล์ตามที่อยู่ใหม่ cdn.myhora.net  ผลการทดสอบเวบเร็วขึ้นหลายเท่าตัว  ><

หรือถ้าจะให้เร็วกว่านั้นลองใช้บริการ CDN เช่น CDN.net ก็จะเร็วขึ้นอีกพวกนี้มีเซิร์ฟเวอร์วางทั่วโลก User ใกล้ที่ไหนก็เข้าที่นั่น ลองแล้วเร็วมากแต่ไม่อยากจ่ายเพิ่ม ก็เลยใช้แบบแรก

บันทึกเพิ่ม 10 พฤศจิกายน พ.ศ.2560
หลังจากคลาวแฟร์ (CloudFlare) มีเซิร์ฟเวอร์ติดตั้งในประเทศไทยมาสักระยะ ผมได้ลองติดตั้งใช้งาน ภายใต้โดเมน www.myhora.net สำหรับเก็บไฟล์ .css .jpg .gif .js อย่างเดียว ผลการทดสอบเวบเร็วขึ้น จัดการระบบได้ง่ายกว่า

วันพุธที่ 14 สิงหาคม พ.ศ.2556
วันศุกร์ที่ 4 กุมภาพันธ์ พ.ศ.2554
วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ.2552