Salah satu server PostgreSQL saya menampung beberapa (1-3) database yang menerima aliran data konstan. Data tidak terstruktur secara khusus, itu berjumlah waktu saat ini dan berbagai data yang diamati untuk instan tertentu. Kecepatan data cukup tinggi; itu berhasil sekitar satu gigabyte sehari untuk satu database, sekitar sepersepuluh dari itu untuk yang lain. Saya tidak berharap tingkat ini meningkat. Kinerja membaca adalah prioritas yang jauh lebih rendah dan saat ini dapat diterima.
Dalam log saya punya pesan ini:
LOG: checkpoints are occurring too frequently (15 seconds apart)
HINT: Consider increasing the configuration parameter "checkpoint_segments".
Nilai ini saat ini diatur ke 16, yang merupakan milik pgtune
.
Pengaturan apa yang harus saya pertimbangkan untuk meningkatkan kinerja penulisan? Saya lebih suka menjaga keamanan sebanyak mungkin. Mengingat volume data yang masuk, saya bisa menerima kehilangan beberapa data baru-baru ini dalam kegagalan selama sebagian besar data masih utuh.
Sunting: Saya menggunakan PostgreSQL 9.0 untuk saat ini, tetapi saya berencana untuk meningkatkan ke 9.1. Saya tidak memposting detail perangkat keras karena walaupun saya mengakui pentingnya mereka, saya akhirnya akan perlu melakukan optimasi ini pada beberapa mesin dengan perangkat keras yang sangat beragam. Jika perangkat keras sangat penting untuk jawabannya, tolong beri saya informasi umum sehingga saya dapat menerapkan jawaban untuk mesin dengan konfigurasi perangkat keras yang berbeda.
checkpoint_segments
sesuai anjuran? Apa yang terjadi?