2
ปรับ PostgreSQL ให้เหมาะสมเพื่อการทดสอบที่รวดเร็ว
ฉันเปลี่ยนมาใช้ PostgreSQL จาก SQLite สำหรับแอปพลิเคชั่น Rails ทั่วไป ปัญหาคือรายละเอียดการรันช้าลงเมื่อใช้ PG บน SQLite จะเอา ~ 34 วินาทีบน PG มัน ~ 76 วินาทีซึ่งเป็นมากกว่า 2x ช้าลง ดังนั้นตอนนี้ฉันต้องการใช้เทคนิคบางอย่างเพื่อทำให้ประสิทธิภาพของ specs เทียบกับ SQLiteโดยไม่มีการแก้ไขโค้ด (โดยเฉพาะการตั้งค่าตัวเลือกการเชื่อมต่อซึ่งอาจเป็นไปไม่ได้) สิ่งที่ชัดเจนจากหัวของฉันคือ: RAM Disk (การตั้งค่าที่ดีกับ RSpec บน OSX จะดีสำหรับการดู) ตารางที่ไม่ถูกบล็อก (สามารถนำไปใช้กับฐานข้อมูลทั้งหมดได้หรือไม่ดังนั้นฉันจึงไม่ได้เปลี่ยนสคริปต์ทั้งหมด) อย่างที่คุณอาจจะเข้าใจว่าฉันไม่สนใจเกี่ยวกับความน่าเชื่อถือและส่วนที่เหลือ (DB เป็นเพียงการทิ้งสิ่งที่นี่) ฉันต้องการที่จะได้รับส่วนใหญ่ของ PG และทำให้มันเป็นไปอย่างรวดเร็วในขณะที่มันอาจจะสามารถ คำตอบที่ดีที่สุดจะอธิบายถึงเทคนิคในการทำเช่นนั้นการตั้งค่าและข้อเสียของเทคนิคเหล่านั้น อัปเดต: fsync = off + full_page_writes …