ฐานข้อมูล Postgresql ของฉันทำงานบนอินสแตนซ์การคำนวณของ Google N1 พร้อมแบบกำหนดเอง (26 vCPU, หน่วยความจำ 52 GB) พร้อมดิสก์ ssd 1.2TB ที่มีปัญหา การตั้งค่านี้ใช้งานน้อยเกินไป แต่ให้ Read IOPS ต่ำกว่า 3k ดังนั้นเราจึงลดการตั้งค่าเป็นแบบกำหนดเอง (20 vCPU, หน่วยความจำ 40 GB) อะไรทำให้ IOPS เติบโตขึ้นมากกว่า 7K

ปริมาณงานฐานข้อมูลยังคงเหมือนเดิมในการตั้งค่าทั้งสอง

answer

หน่วยความจำที่ลดลงทำให้แคชของคุณลดลง สมมติว่าคุณไม่ได้เปลี่ยนการกำหนดค่าหน่วยความจำของฐานข้อมูล ก่อนหน้านี้เป็นบัฟเฟอร์ระบบไฟล์ OS ซึ่งให้บริการการอ่านเหล่านั้น

ความสัมพันธ์ของขนาดหน่วยความจำระบบกับหน่วยเก็บข้อมูล IOPS ไม่เป็นเชิงเส้น แคชเป็นหนึ่งในกลุ่มแรกที่เรียกคืนจากแรงกดดันของหน่วยความจำ กล่าวอีกนัยหนึ่งความแตกต่าง 12 GB นี้มีแนวโน้มว่าแคชจะลดลงทั้งหมด

ประเภทภาระงานยังมีความสำคัญต่อความถี่ที่ข้อมูลได้รับการอ้างอิงซ้ำ และด้วยเหตุนี้รูปแบบ IO คืออะไร หากผู้ใช้ดูบันทึกโดยเฉลี่ย 5 นาที จะมีความแตกต่างอย่างมากกับ IOPS เมื่อมีหน่วยความจำเพียงพอสำหรับแคช 6 นาที เทียบกับ 4 นาที