10 ปัญหา Next.js ค. ตนดูคอมเจอ เวลาที่ทำให้เว็บ Production พังแบบไม่รู้ตัว ทำให้ Server ล่มจริง เว็บพัง เผาเงินบริษัท ไม่มีใครบอกคุณ

1) Prisma / Database Connection Leak


  • สร้าง PrismaClient ซ้ำทุก request ทำให้เปิด connection pool ใหม่ตลอดเวลา
  • เมื่อ traffic เพิ่ม connection จะพุ่งจน DB เต็มและเกิด too many connections
  • แก้ด้วย singleton + connection pooling เช่น PgBouncer หรือ Prisma Accelerate


2) SSR Blocking / Render ช้ามากๆๆ มีผลต่อเว็บ


  • Server ต้องรอ fetch ข้อมูลก่อน render ทำให้ทุก request ช้าและ TTFB สูง
  • เมื่อผู้ใช้มากขึ้น CPU จะพุ่งเพราะต้องประมวลผลซ้ำตลอด
  • ใช้ SSG, ISR, cache หรือ streaming เพื่อลดภาระ server


3) ENV ผิดตรงไหนหรือหายใน Production


  • ตั้งค่า environment ไม่ครบหรือใช้ผิด scope ทำให้ API/DB ต่อไม่ได้
  • local ผ่านแต่ production พังเพราะค่าความลับไม่ถูกโหลด
  • แยก .env.production และ validate ค่าตอน start เสมอ


4) Import โค้ด Server ไป Client


  • นำ fs, prisma, bcrypt หรือ Node libs ไปใช้ใน Client Component
  • ทำให้ build fail, bundle ใหญ่ หรือ runtime crash บน browser/edge
  • แยก server logic กับ UI logic ออกจากกันอย่างชัดเจน


5) API Route ทำงานหนักเกิน


  • ประมวลผล AI/report/export ใน request เดียวทำให้ timeout และ 504
  • serverless จะถูก kill เมื่อเกินเวลา execution
  • ย้ายงานหนักไป queue หรือ background worker


6) Client Bundle ใหญ่เกินไป


  • โหลดไลบรารีใหญ่ทั้งก้อนทำให้ JavaScript หลาย MB และเว็บช้า
  • ผู้ใช้มือถือจะรอนานและคะแนน SEO ตก
  • ใช้ dynamic import, code splitting และ bundle analyzer


7) ใช้ SSR ทุกหน้า


  • ทุก request ต้อง render ใหม่ ทำให้ scale ไม่ได้และ CPU สูง
  • CDN cache ใช้ไม่ได้เพราะไม่มี static file
  • เลือก SSG/ISR สำหรับหน้าที่ข้อมูลไม่เปลี่ยนบ่อย


8) Memory Leak ใน Server


  • เก็บข้อมูลในตัวแปร global หรือ cache ที่ไม่เคลียร์ทำให้ RAM โตเรื่อย ๆ
  • รันนาน ๆ แล้วเซิร์ฟเวอร์จะช้าและ crash เอง
  • ใช้ Redis/LRU cache และ monitor memory usage


9) ใช้ Edge Runtime ผิดงาน


  • Edge ไม่รองรับ Node APIs บางตัว เช่น Prisma หรือ filesystem
  • ฝืนใช้แล้วจะ build fail หรือ runtime error
  • งานที่แตะ DB หรือ native module ควรใช้ Node runtime


10) ไม่มี Monitoring / Logging


  • เมื่อระบบพังจะไม่รู้สาเหตุและแก้ปัญหาช้ามาก
  • console.log ไม่พอสำหรับ production จริง
  • ควรมี Sentry, log system, metrics และ alert เสมอ

ความคิดเห็น