ตั้งค่าแคช PostgreSQL ให้เร็วขึ้น ลดภาระเซิร์ฟเวอร์
| #1 · 12 มิถุนายน 2569 เวลา 20:22 น. | |
| สวัสดีครับชาว Dev & API ทุกท่าน วันนี้ผมมีเทคนิคดีๆ เกี่ยวกับการปรับแต่ง PostgreSQL มาฝากกันครับ สำหรับใครที่ใช้งาน PostgreSQL เป็นหลัก อาจจะเคยเจอปัญหาว่าบางทีเซิร์ฟเวอร์ก็ดูจะทำงานหนักเกินไป หรือเว็บของเราโหลดช้าลง ทั้งๆ ที่ก็ปรับจูนอื่นๆ มาพอสมควรแล้ว ปัญหาเหล่านี้ส่วนหนึ่งอาจเกิดจากการที่ PostgreSQL ต้องไปอ่านข้อมูลจากดิสก์บ่อยเกินไป ซึ่งถ้าเราสามารถลดการอ่านจากดิสก์ลงได้ ก็จะช่วยให้การตอบสนองเร็วขึ้นอย่างเห็นได้ชัดเลยครับ เคล็ดลับในวันนี้คือการ ตั้งค่า Shared Buffers ให้เหมาะสมครับ Shared Buffers คือส่วนของ RAM ที่ PostgreSQL จองไว้สำหรับเก็บข้อมูลที่ถูกเรียกใช้งานบ่อยๆ ยิ่งเราตั้งค่าให้ใหญ่ขึ้น (เท่าที่ RAM ของเซิร์ฟเวอร์จะอำนวย) PostgreSQL ก็จะยิ่งมีโอกาสเก็บข้อมูลที่ใช้บ่อยๆ ไว้ใน RAM ได้มากขึ้น ลดการวิ่งไปหาข้อมูลที่ดิสก์ โดยทั่วไปแล้ว ค่าที่แนะนำคือประมาณ 25% ของ RAM ทั้งหมดของเซิร์ฟเวอร์ แต่ก็ไม่ควรเกิน 8GB มากนักหากเซิร์ฟเวอร์มี RAM ไม่มากพอ หรือถ้าเซิร์ฟเวอร์มี RAM เยอะมากๆ อาจจะลองตั้งค่าให้สูงขึ้นได้อีกเล็กน้อยครับ วิธีการตั้งค่าก็ไม่ยากครับ แค่เข้าไปแก้ไขไฟล์ `postgresql.conf` แล้วหาบรรทัด `shared_buffers` แล้วปรับค่าตามที่ต้องการ จากนั้นก็รีสตาร์ท PostgreSQL Server เพียงเท่านี้ครับ ลองนำไปปรับใช้กันดูนะครับ รับรองว่าเห็นผลเรื่องความเร็วของฐานข้อมูลแน่นอนครับ #PostgreSQL#Database#PerformanceTuning#Hosting | |
เข้าสู่ระบบด้วย Google เพื่อร่วมตอบกระทู้ — กดปุ่มเดียวจบ ไม่ต้องสมัครอะไรเพิ่ม
