บทความเกี่ยวกับเทคโนโลยีสแตกและกระบวนการพัฒนาที่เลือกใช้ระหว่างสร้างเว็บไซต์คอมมูนิตี้ในประเทศ (zod.kr)
จากความผิดพลาดครั้งใหญ่ของเว็บคู่แข่ง ทำให้มีทราฟฟิกไหลเข้ามามากกว่าที่คาดไว้ 10 เท่า จนเซิร์ฟเวอร์ล่ม แล้วต้องกู้ระบบกลับมาใหม่
ทำรีดทรัพยากรเพื่อลดต้นทุนทราฟฟิก
ด้านล่างคือผลสรุปโดย Grok 3
แชร์ประสบการณ์พัฒนา IT community zod.kr คนเดียว รวมถึงกระบวนการปรับแต่งเพื่อลดค่าเซิร์ฟเวอร์
- เบื้องหลังการพัฒนา: กลับมาพัฒนาเว็บอีกครั้งในรอบ 3 ปี และกลับมาเขียน PHP อีกครั้งในรอบ 7 ปี พร้อมเปลี่ยนตัวเองเป็นนักพัฒนาแบบฟูลสแตก
- สแตกของบริการ: Rhymix(CMS), Oracle Cloud Free Tier (ช่วงแรก), Cloudflare (ความปลอดภัย), Bunny.net (CDN), Naver Cloud (อีเมล)
- เซิร์ฟเวอร์เริ่มต้น: Oracle Free Tier (RAM 24GB, ARM 4 คอร์, สตอเรจ 150GB) เลือกเพราะมีทราฟฟิกฟรี 4TB แต่หลังเปิดให้บริการกลับเจอทราฟฟิกมากกว่าที่คาด 10 เท่า ทำให้การเชื่อมต่อ network drive หลุดและเซิร์ฟเวอร์พัง
- การย้ายเซิร์ฟเวอร์: ย้ายฉุกเฉินไป Vultr เปิดระบบชั่วคราวกลับมาได้หลังทำงานไม่ได้นอน 30 ชั่วโมง
- ปัญหาทราฟฟิก:
- ใช้ Cloudflare Argo (GB ละ $0.1) ทำให้เสียค่าใช้จ่ายวันละ $20 คาดว่ารายเดือนจะราว 1 ล้านบาทเกาหลี
- เปลี่ยนไปใช้ Bunny.net แล้วลดต้นทุนลงเหลือราว 15~20% ของเดิม
- ผู้เข้าชมต่อวัน 27,000~30,000 คน ทำให้ตระหนักถึงความจำเป็นของการปรับทราฟฟิกให้เหมาะสม
- ความพยายามในการปรับแต่ง:
- ลดขนาดไอคอน (Iconoir) และเว็บฟอนต์ (Pretendard)
- ลด inline script/style และลบคอมเมนต์ใน HTML
- ใช้ Lazyload เพื่อลดทราฟฟิกของ Bunny.net (68-88GB → 44-46GB)
- บล็อกบอตและใช้ API whitelist เพื่อประหยัดได้ 3~4GB
- ผลลัพธ์:
- ทราฟฟิกพีคของ Cloudflare ลดจาก 211GB → 12GB และทราฟฟิกรวมลดลง 57%
- ค่าใช้จ่ายลดลง 70~80% (วันละ $26 → $3.48)
- บทเรียน: Cloudflare ถ้าใช้เป็นก็มีประโยชน์ แต่ถ้าใช้ไม่เป็นก็อาจกลายเป็นพิษ และทำให้ตระหนักถึงความสำคัญของการจัดการทราฟฟิก
13 ความคิดเห็น
นึกว่าจะเป็น Nextjs ซะอีก...
ผมเองก็ทำพัฒนาเดี่ยวเล็ก ๆ อยู่เหมือนกัน และเพราะใช้ vercel อยู่ เลยกังวลเรื่องค่าใช้จ่ายมากที่สุดครับ
อ่านได้ดีมากครับ ทำให้ได้รู้จัก CDN ที่ไม่เคยรู้มาก่อนด้วย ไว้จะเข้ามาอ้างอิงเป็นระยะ ๆ ครับ
zod คือห้องแล็บลองผิดลองถูก...?
เป็นคอมมูนิตี้ที่ผมใช้งานอยู่บ่อย ๆ และช่วงนี้ก็กำลังคิดจะเปิดคอมมูนิตี้ปิดสำหรับกลุ่มเกมสักอันพอดี เลยรู้สึกว่าเป็นรีวิวหลังเปิดใช้งานที่น่าสนใจมาก ไม่คิดเลยว่าจะทำกันคนเดียว เท่มากครับ
อยากรู้มากจริง ๆ เลยครับว่าช่วงแรก ๆ คุณดึงดูดผู้คนเข้ามาได้อย่างไร สุดยอดมากครับ
ผมจำได้ว่าช่วงที่เปิดให้บริการ เกิดประเด็นถกเถียงเรื่องการดำเนินงานขึ้นกับเว็บไซต์ที่นำเสนอหัวข้อคล้ายกันพอดี เลยกลายเป็นว่ามีผู้ใช้หลั่งไหลเข้ามาเอง
การใช้ Rhymix ก็น่าสนใจ และเนื้อหาเกี่ยวกับการให้ API กับ Algumon ก็น่าสนใจเช่นกัน
Algumon ทำอะไรบางอย่างไว้แล้วนะครับ ได้รู้จักเว็บไซต์ดี ๆ อีกเว็บหนึ่งเลย
อ่านแล้วเพลินมากครับ ถึงจะใช้ Cloudflare ค่าใช้จ่ายด้านทราฟฟิกเครือข่ายก็ยังแพงอยู่สินะ?
วิธีรองรับทราฟฟิก 80TB และ 5M pageviews ด้วยงบเดือนละ 500,000 วอน ($400) ดูมีจุดที่คล้ายกับสแตกในบทความนี้อยู่เหมือนกัน
เจ๋งมากครับ
ถ้าใช้เทคโนโลยีอย่าง
fetchก็น่าจะช่วยลด traffic ได้มากขึ้นอีกหน่อย แบบนั้นทำไม่ได้เหรอครับ?ทำไม
fetchถึงช่วยลดทราฟฟิกได้?อ๋อ น่าจะเป็น Ajax นะครับ
ผมเองก็ไม่ค่อยรู้เรื่องฝั่งเว็บมากนัก แต่เห็นว่าทุกครั้งที่เปลี่ยนไปแท็บอื่น มันจะดึง HTML ใหม่ทั้งหมดมาเลย
เท่าที่ทราบก็มีวิธีที่ดึงมาเฉพาะ data ส่วนที่เปลี่ยนแปลงด้วยเหมือนกันครับ
ขอเป็นกำลังใจจนกว่าจะได้เป็น No.1 ในฐานะคอมมูนิตี้ฮาร์ดแวร์!