PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेज में अधिकतम कनेक्शन कैसे बढ़ाएं?

बस max_connections बढ़ रहा है बुरा विचार है। आपको shared_buffers बढ़ाने की जरूरत है और kernel.shmmax साथ ही।

विचारों

max_connections डेटाबेस सर्वर से समवर्ती कनेक्शन की अधिकतम संख्या निर्धारित करता है। डिफ़ॉल्ट रूप से आमतौर पर 100 कनेक्शन होते हैं।

अपनी कनेक्शन संख्या बढ़ाने से पहले आपको अपने परिनियोजन को बढ़ाने की आवश्यकता हो सकती है। लेकिन इससे पहले, आपको यह विचार करना चाहिए कि क्या आपको वास्तव में एक बढ़ी हुई कनेक्शन सीमा की आवश्यकता है।

प्रत्येक PostgreSQL कनेक्शन कनेक्शन या क्लाइंट का उपयोग करने के प्रबंधन के लिए RAM की खपत करता है। आपके पास जितने अधिक कनेक्शन होंगे, आप उतनी ही अधिक RAM का उपयोग करेंगे जिसका उपयोग इसके बजाय डेटाबेस को चलाने के लिए किया जा सकता है।

एक अच्छी तरह से लिखे गए ऐप को आमतौर पर बड़ी संख्या में कनेक्शन की आवश्यकता नहीं होती है। यदि आपके पास एक ऐप है जिसके लिए बड़ी संख्या में कनेक्शन की आवश्यकता है तो pg_bouncer जैसे टूल का उपयोग करने पर विचार करें जो आपके लिए कनेक्शन पूल कर सकता है। जैसा कि प्रत्येक कनेक्शन रैम की खपत करता है, आपको उनका उपयोग कम से कम करना चाहिए।

अधिकतम कनेक्शन कैसे बढ़ाएं

<मजबूत>1. बढ़ाएँ max_connection और shared_buffers

/var/lib/pgsql/{version_number}/data/postgresql.conf में

बदलें

max_connections = 100
shared_buffers = 24MB

करने के लिए

max_connections = 300
shared_buffers = 80MB

shared_buffers कॉन्फ़िगरेशन पैरामीटर निर्धारित करता है कि कितनी स्मृति समर्पित . है डेटा संचय करने . के लिए उपयोग करने के लिए PostgreSQL में ।

  • यदि आपके पास 1GB या अधिक RAM वाला सिस्टम है, तो साझा_बफ़र्स के लिए एक उचित प्रारंभिक मान आपके सिस्टम की मेमोरी का 1/4 है।
  • यह संभावना नहीं है कि आप कम मात्रा (जैसे 25%) से बेहतर काम करने के लिए 40% से अधिक RAM का उपयोग करेंगे
  • ध्यान रखें कि अगर आपका सिस्टम या पोस्टग्रेएसक्यूएल बिल्ड 32-बिट है, तो शेयर्ड_बफ़र्स को 2 ~ 2.5GB से ऊपर सेट करना व्यावहारिक नहीं हो सकता है।
  • ध्यान दें कि विंडोज़ पर, शेयर्ड_बफ़र्स के लिए बड़े मान उतने प्रभावी नहीं होते हैं, और आप इसे अपेक्षाकृत कम रखते हुए और इसके बजाय OS कैश का अधिक उपयोग करके बेहतर परिणाम प्राप्त कर सकते हैं। विंडोज़ पर उपयोगी श्रेणी 64MB से 512MB तक . है ।

<मजबूत>2. कर्नेल बदलें। shmmax

थोड़ा बड़ा . करने के लिए आपको कर्नेल का अधिकतम खंड आकार बढ़ाना होगा shared_buffers . की तुलना में ।

फ़ाइल में /etc/sysctl.conf नीचे दिखाए अनुसार पैरामीटर सेट करें। यह तब प्रभावी होगा जब postgresql रिबूट (निम्न पंक्ति कर्नेल को अधिकतम 96Mb . बनाती है )

kernel.shmmax=100663296

संदर्भ

अधिकतम कनेक्शन और साझा बफर पोस्टग्रेज करता है

अपने PostgreSQL सर्वर को ट्यून करना



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज ज्यामिति प्रारूप को WKT . में बदलें

  2. PostgreSQL 11 के साथ अपना डेटा साझा करना

  3. pg_restore चलाते समय फ़ाइल हेडर में [संग्रहकर्ता] असमर्थित संस्करण (1.13) प्राप्त करना

  4. PostgreSQL के साथ समान स्ट्रिंग्स को शीघ्रता से ढूँढना

  5. PostgreSQL एक्सेंट + केस असंवेदनशील खोज