เจาะลึกการตั้งค่า MySQL/PostgreSQL ให้รันบน VPS แล้วเร็วขึ้นแบบเห็นผล
| #1 · 12 มิถุนายน 2569 เวลา 19:38 น. | |
| สวัสดีครับชาว Dev & API ทุกท่าน วันนี้ผมจะมาแชร์เทคนิคการปรับแต่งค่าคอนฟิกของฐานข้อมูลยอดนิยมอย่าง MySQL และ PostgreSQL บนเครื่อง VPS ของเรา ให้มันทำงานได้เร็วขึ้นแบบเห็นผลกันไปเลยครับ หลายคนอาจจะเจอปัญหาว่ารันเว็บหรือแอปพลิเคชันแล้วรู้สึกว่าฐานข้อมูลมันอืดๆ หรือตอบสนองช้า ปัญหานี้ส่วนใหญ่มักจะเกิดจากการตั้งค่าเริ่มต้นของฐานข้อมูลที่ไม่เหมาะสมกับทรัพยากรที่เรามีบน VPS ครับ สำหรับ MySQL จุดที่ควรให้ความสนใจเป็นพิเศษคือเรื่องของ buffer pool size ครับ การตั้งค่านี้ให้เหมาะสมกับ RAM ที่เรามีบน VPS จะช่วยลดการอ่านข้อมูลจากดิสก์ลงไปได้มาก ลองเริ่มจากการตั้งค่าให้ประมาณ 70-80% ของ RAM ที่มีบน VPS ครับ แล้วก็อย่าลืมปรับค่า query_cache_size ด้วยนะครับ ถ้าเว็บเรามีการอ่านข้อมูลเยอะๆ แต่เขียนไม่บ่อย การเปิดใช้งาน query cache จะช่วยลดภาระของ CPU ได้เยอะเลย ส่วน PostgreSQL สิ่งที่สำคัญไม่แพ้กันคือ effective_cache_size และ shared_buffers ครับ effective_cache_size จะช่วยให้ planner ของ PostgreSQL รู้ว่ามีแคชที่พร้อมใช้งานเท่าไหร่ ส่วน shared_buffers ก็คล้ายๆ กับ buffer pool ของ MySQL คือเป็นพื้นที่ใน RAM สำหรับเก็บข้อมูลที่ถูกอ่านบ่อยๆ ลองตั้งค่า shared_buffers ให้ประมาณ 25% ของ RAM ทั้งหมด และ effective_cache_size ให้ใกล้เคียงกับ RAM ที่เหลือหลังจากหักส่วนที่ระบบปฏิบัติการใช้ไปแล้วครับ นอกจากนี้ การปรับ WAL (Write-Ahead Logging) settings ก็มีผลต่อประสิทธิภาพการเขียนข้อมูลเช่นกัน ลองปรับค่า checkpoint_segments และ checkpoint_completion_target ให้เหมาะสมครับ การปรับแต่งเหล่านี้อาจจะต้องลองผิดลองถูกกันสักหน่อยนะครับ เพราะแต่ละเว็บหรือแอปพลิเคชันก็มีความต้องการที่แตกต่างกันไป แต่รับรองว่าถ้าปรับได้ถูกจุด จะช่วยให้ฐานข้อมูลของเราทำงานได้ลื่นไหลขึ้นเยอะเลยครับ ลองนำไปปรับใช้กันดูนะครับ #MySQL#PostgreSQL#VPS#DatabaseTuning | |
เข้าสู่ระบบด้วย Google เพื่อร่วมตอบกระทู้ — กดปุ่มเดียวจบ ไม่ต้องสมัครอะไรเพิ่ม
