मेरा एक PostgreSQL सर्वर कई (1-3) डेटाबेस होस्ट करता है जो डेटा की एक निरंतर स्ट्रीम प्राप्त करते हैं। डेटा विशेष रूप से संरचित नहीं है, यह वर्तमान समय और उस विशेष इंस्टेंट के लिए अवलोकन किए गए डेटा की एक किस्म है। डेटा दर काफी अधिक है; यह एक डेटाबेस के लिए एक दिन में एक गीगाबाइट के बारे में काम करता है, दसवें के बारे में दूसरे के लिए। मुझे इस दर में वृद्धि की उम्मीद नहीं है। पढ़ें प्रदर्शन बहुत कम प्राथमिकता है और वर्तमान में स्वीकार्य है।
लॉग में मेरे पास यह संदेश है:
LOG: checkpoints are occurring too frequently (15 seconds apart)
HINT: Consider increasing the configuration parameter "checkpoint_segments".
यह मान वर्तमान में 16 पर सेट है, जो शिष्टाचार है pgtune
।
लेखन प्रदर्शन को बेहतर बनाने के लिए मुझे किन सेटिंग्स पर विचार करना चाहिए? मैं ज्यादा से ज्यादा सेफ्टी रखना पसंद करूंगा। जब तक डेटा की मात्रा को ध्यान में रखते हुए, मैं हाल ही में कुछ डेटा को एक विफलता में खोने के रूप में स्वीकार कर सकता था जब तक कि डेटा का थोक बरकरार नहीं था।
संपादित करें: मैं अभी के लिए PostgreSQL 9.0 का उपयोग कर रहा हूं, लेकिन मुझे 9.1 में अपग्रेड करने की योजना है। मैं हार्डवेयर विवरण पोस्ट नहीं कर रहा हूं क्योंकि जब मैं उनके महत्व को स्वीकार करता हूं, तो मुझे अंततः बहुत ही विविध हार्डवेयर के साथ कई मशीनों पर इस अनुकूलन को बनाने की आवश्यकता होगी। यदि हार्डवेयर उत्तर के लिए आवश्यक है, तो कृपया मुझे सामान्य जानकारी दें ताकि मैं विभिन्न हार्डवेयर कॉन्फ़िगरेशन के साथ मशीनों पर उत्तर लागू कर सकूं।
checkpoint_segments
सिफारिश के अनुसार वृद्धि की? क्या हुआ?