PostgreSQL sunucularımdan biri, sürekli veri akışı alan birkaç (1-3) veritabanına ev sahipliği yapıyor. Veriler özellikle yapılandırılmamıştır, o andaki zamana ve o belirli an için gözlemlenen çeşitli verilere karşılık gelir. Veri oranı oldukça yüksektir; bir veritabanı için günde bir gigabayt, bir tanesi için bunun onda biri için çalışır. Bu oranın artmasını beklemiyorum. Okuma performansı çok daha düşük bir önceliktir ve şu anda kabul edilebilir.
Günlüklerde şu mesajı var:
LOG: checkpoints are occurring too frequently (15 seconds apart)
HINT: Consider increasing the configuration parameter "checkpoint_segments".
Bu değer şu anda nezaketinde olan 16'ya ayarlanmıştır pgtune
.
Yazma performansını iyileştirmek için göz önünde bulundurmam gereken ayarlar nelerdir? Mümkün olduğu kadar güvenliği sağlamayı tercih ederim. Gelen veri hacmi göz önüne alındığında, verilerin büyük kısmı bozulmadan kaldığı sürece bazı son verilerdeki verileri kaybetmeyi kabul edebilirim.
Düzenleme: Şimdilik PostgreSQL 9.0 kullanıyorum, ancak 9.1'e yükseltmeyi planlıyorum. Donanım detaylarını göndermiyorum çünkü önemini kabul etmeme rağmen, nihayetinde bu optimizasyonu çok çeşitli donanımlara sahip birkaç makinede yapmak zorunda kalacağım. Donanım cevap için gerekliyse, lütfen bana genel bilgileri verin, böylece yanıtı farklı donanım yapılandırmalarına sahip makinelere uygulayabilirim.
checkpoint_segments
Tavsiye edildiği gibi arttı mı? Ne oldu?