PostgreSQL 64 कोर तक स्केलिंग करता है?


10

इस कंप्यूटर वर्ल्ड लेख में , यह निर्दिष्ट करता है कि PostgreSQL 64 की मूल सीमा तक बढ़ सकता है। क्या इसका मतलब 64 कोर के एक मल्टी-कोर प्रोसेसर के लिए है? या कम कोर वाले कई प्रोसेसर?

मेरे द्वारा पूछे जाने का कारण यह है क्योंकि मैं यह पता लगाने की कोशिश कर रहा हूं कि पोस्टग्रेक्यूएल कितना प्रोसेसर स्केल कर सकता है लेकिन निश्चित रूप से प्रोसेसर के प्रकार तक सीमित हो सकता है। हालांकि, मैं अन्य डेटाबेस में अन्य आंकड़ों की खोज कर रहा है (यानी Microsoft SQL सर्वर यहां बताते हुए इसे 320 तार्किक प्रोसेसर पैमाने पर कर सकते हैं) और वे कोर के उनकी संख्या निर्दिष्ट नहीं करते। क्या यह बहुत अस्पष्ट आंकड़ा है?

किसी भी विचार की बहुत सराहना की जाएगी। धन्यवाद!


1
अगर यह 8 8-कोर सीपीयू, 32 2-कोर सीपीयू, या जो कुछ भी है, तो पोस्टग्रेसीएल परवाह नहीं करता है। यह केवल तार्किक प्रोसेसर की परवाह करता है। इसके अलावा, 64 कोर अनुमानित है और आपके बाकी हार्डवेयर पर निर्भर करता है; अगर आप 7Trpm SATA हार्ड ड्राइव पर 1TB डेटाबेस के लिए केवल 4GB RAM के साथ 64 कोर आपको कोई काम नहीं करेंगे। कोर नंबरों पर कोई कठिन तकनीकी सीमा नहीं है, यह सिर्फ इतना है कि यह हाल ही में परीक्षण किया गया है और 64 तक बड़े पैमाने पर साबित हो रहा है।
क्रेग रिंगर

जवाबों:


7

नहीं, यह बहुत सटीक आँकड़ा है। एक "तार्किक प्रोसेसर" एक कोर है। और एक कोर सिर्फ इतना है, यह कोई फर्क नहीं पड़ता कि वे भौतिक प्रोसेसर पर कैसे फैले हैं।

और यदि आप समर्थित संख्या से अधिक कोर के साथ एक मशीन के साथ काम कर रहे हैं, तो यह PostgreSQL के साथ कोई समस्या नहीं होनी चाहिए। प्रत्येक कनेक्शन स्वाभाविक रूप से एकल-थ्रेडेड है * इसलिए आपके पास जो भी कोर है वह समवर्ती कनेक्शन की दक्षता और प्रभावकारिता को सीमित करने जा रहा है।

यह कहने की आवश्यकता नहीं है कि इसका अर्थ यह है कि आपको अपना धन कोर की मात्रा की तुलना में तेज धनराशि में डालना चाहिए जब तक कि आप चीजों को अधिक जटिल तरीके से नहीं करना चाहते।

* 2017 अपडेट: कुछ प्रश्नों (या उपश्रेणियों) को समानांतर में निष्पादित किया जा सकता है


1
Needless to say this also means you should put your money in faster cores than quantity of cores unless you want to cluster things in a more complicated method.<- मैं केवल इस कथन को स्वीकार करता हूं कि यदि कोर की संख्या समवर्ती ग्राहकों की संख्या से अधिक है, और समवर्ती ग्राहकों की संख्या बढ़ने की संभावना नहीं है। प्रदर्शन के लिए यह महत्वपूर्ण है कि प्रत्येक पोस्टग्रेज बैकएंड के लिए एक कोर उपलब्ध हो ...
voretaq7

@ voretaq7 मैं ज्यादातर सहमत हूं लेकिन एक उच्चतर TPS के साथ एक सीपीयू (जाहिर है) एक निश्चित समय में अधिक लेनदेन को संभाल सकता है, इसलिए अधिक ग्राहक हैं। वहाँ एक मीठा स्थान है जो आपके लोड प्रकार और बजट पर निर्भर करता है।
ओली

1
एक तार्किक प्रक्रिया सबसे छोटी तार्किक निष्पादन इकाई है, वर्तमान तकनीकों के साथ, यह एक कोर नहीं है, यह एक धागा है।
डायस्नी डे

2
@ voretaq7: कुछ कनेक्शन पूलिंग मैकेनिज्म के माध्यम से पोस्टग्रेजल से जुड़ना असामान्य नहीं है। दूसरों के बीच ऐसा किया जाता है क्योंकि पोस्टग्रैसेकल से जुड़ना अपेक्षाकृत महंगा है। पूलिंग डेटाबेस के समवर्ती कनेक्शन की संख्या को बेहद कम कर सकती है। इसलिए मैं कोर के # पर तेजी से सीपीयू पसंद करते हैं। लेकिन हमेशा की तरह: यह कई कारकों पर निर्भर करता है ...
m.sr

2
@ m.sr सहमत - कनेक्शन पूलिंग तंत्र बहुत आम हैं। इनमें से "सबसे होशियार" पोस्टग्रेज और उनके बीच संतुलन बनाने के लिए कई कनेक्शनों को स्पिन करेगा (हमारे इन-हाउस ऐप्स में से एक यह है कि प्रत्येक अपाचे प्रक्रिया को पोस्टग्रेज के लिए अपना कनेक्शन देकर - हमारे उचित मामले के साथ हमारे उपयोग के मामले के लिए एक बहुत सुविधाजनक मैपिंग करें) -to- उपयोगकर्ता अनुपात)। IMHO अगर आपका कनेक्शन पूलिंग क्वेरी को स्पॉन्डिंग करने के बजाय कतार में खड़ा कर रहा है तो यह आपको कोई एहसान नहीं कर रहा है, लेकिन उस के पेशेवरों और विपक्षों को डेटाबेस एडमिनिस्ट्रेटर में तल्लीन करना अधिक दिलचस्प होगा । तो मैंने पूछा!
voretaq7

12

पोस्टग्रैज आप जितने प्रोसेसर स्थापित करना चाहते हैं, उतने बड़े पैमाने पर कर सकते हैं, और आपका ओएस प्रभावी ढंग से संभाल / प्रबंधित कर सकता है। आप एक 128 कोर मशीन (या यहां तक ​​कि 128 भौतिक प्रोसेसर के साथ एक मशीन) पर पोस्टग्रेज स्थापित कर सकते हैं और यह ठीक काम करेगा। यह हो सकता है 64 कोर मशीन की तुलना में बेहतर काम यदि ओएस अनुसूचक कई कोर को संभाल सकता है।

Postgres दिखाया गया है पैमाने पर रैखिक (कैविएट्स के साथ 64 कोर करने के लिए: हम, पढ़ने के प्रदर्शन के बारे में बात कर रहे हैं एक विशिष्ट विन्यास में (डिस्क, रैम, ओएस, आदि) - रॉबर्ट हास एक अच्छा ग्राफ के साथ एक ब्लॉग लेख है जो मैंने नीचे पुन: प्रस्तुत किया है:

यहाँ छवि विवरण दर्ज करें

इस ग्राफ के बारे में क्या महत्वपूर्ण है?

रिश्ता है रैखिक (या लगभग इतनी) लंबे समय के रूप के रूप में ग्राहकों की संख्या की तुलना में कम या बराबर है कोर की संख्या , और फिर शुरू होता है क्या मोटे तौर पर एक लॉग रेखीय होने के लिए लग रहा है कमी के रूप में आप आप की तुलना में अधिक ग्राहक कनेक्शन है प्रदर्शन में कोर को चलाने के लिए बैकएंड्स को चलाने के लिए कोर करें क्योंकि बैकएंड्स सीपीयू के लिए लड़ना शुरू कर देते हैं (लोड औसत 1.0 से ऊपर चला जाता है, आदि ...)।

हालांकि यह केवल 64 कोर तक प्रदर्शित किया गया है, आप सामान्य कर सकते हैं कि आप कोर (और क्लाइंट) जोड़ सकते हैं और कुछ अन्य सबसिस्टम (डिस्क, मेमोरी, नेटवर्क) की सीमा तक प्रदर्शन में सुधार कर सकते हैं, जहां प्रक्रियाएं अब नहीं हैं सीपीयू विवाद की समस्या है, लेकिन इसके बजाय कुछ और इंतजार कर रहे हैं।

( हास का एक अन्य लेख भी है जहां उन्होंने 32 कोर के लिए रैखिक मापनीयता साबित की है जो सामान्य रूप से स्केलेबिलिटी पर कुछ महान संदर्भ सामग्री है - अत्यधिक अनुशंसित पृष्ठभूमि पढ़ने!)


2
संयोग से, इस रैखिक मापनीयता का कारण ओली के उत्तर में बताया गया था : पोस्टग्रैज प्रत्येक क्लाइंट कनेक्शन के लिए एक अलग बैकेंड प्रक्रिया का उपयोग करता है। परिणामस्वरूप यदि आप केवल एक कनेक्शन का उपयोग कर रहे हैं, तो आप कई कोर के लिए बहुत (यदि कोई हो) लाभ नहीं देखेंगे - तो आपको कई कोर का फायदा उठाने के लिए समानांतर अनुरोधों की आवश्यकता होगी।
voretaq7

2

दूसरों ने स्पष्ट किया है कि एक तार्किक प्रोसेसर आमतौर पर सीपीयू कोर को संदर्भित करता है, लेकिन मैं इस कथन पर टिप्पणी करना चाहता हूं कि यह कोई फर्क नहीं पड़ता कि कोर सीपीयू में कैसे फैले हैं।

आप सीपीयू डाई पर कैश कर सकते हैं जो कोर के बीच साझा किए जाते हैं या जो कोर के एकल या उपसमूह के लिए समर्पित होते हैं। उदाहरण के लिए, एक सामान्य कॉन्फ़िगरेशन L1 कैश और साझा L2 कैश समर्पित है। इस उदाहरण में, एकल दोहरे कोर CPU की मापनीयता दो एकल कोर CPU से भिन्न हो सकती है।

ये मापनीयता मुख्य मेमोरी में जारी रहती है, जिसमें NUMA मशीनें गैर-NUMA से भिन्न व्यवहार प्रदर्शित करती हैं।

मैं इन्हें केवल इसलिए इंगित करता हूं क्योंकि ओपी स्केलेबिलिटी के प्रश्नों पर चर्चा कर रहा है, जिनके उत्तर "प्रोग्राम एक्स" वाई सीपीयू कोर का उपयोग कर सकते हैं "की तुलना में आमतौर पर अधिक बारीक होते हैं।


1

इस मामले में, वे कम कोर के साथ कई प्रोसेसर का मतलब है ... कुछ बात भविष्य के सबूत हैं। कुछ मार्केटिंग-बोल रहा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.