2010-06-21 17 views
7

मेरे MySQL सर्वर में वर्तमान में 235 डेटाबेस हैं। क्या मुझे चिंता करनी चाहिए? वे सभी MyISAM तालिकाओं के साथ एक ही संरचना है।MySQL कैसे संभाल सकता है?

हार्डवेयर एक वर्चुअल मशीन है जिसमें क्वाड-कोर एएमडी ओपर्टन 2.2GHz पर 2 जीबी रैम चल रहा है।

हाल ही में सीपीनल ने मुझे एक ईमेल भेजा है जिसमें कहा गया है कि MySQL विफल रहा है और पुनरारंभ किया गया है।

नए डेटाबेस बनाए जाने की उम्मीद की जा रही है और मुझे आश्चर्य है कि मुझे और मेमोरी जोड़नी चाहिए या अगर मुझे बस एक और आभासी मशीन जोड़नी चाहिए।

+1

जबकि मैंने कभी सीमा के बारे में नहीं सुना है, तो मैं आपकी संरचना का निरीक्षण कर सकता हूं - क्या वास्तव में बहुत सारे आवश्यक हैं? –

उत्तर

0

मुझे विश्वास नहीं है कि एक कठिन सीमा है, केवल एक चीज जो वास्तव में सीमित है, वह आपका हार्डवेयर होगा और इन डेटाबेस को यातायात मिलेगा।

आप बहुत कम स्मृति है, जो शायद आप न कनेक्शन की भारी संख्या का मतलब है लगता है ...

आप प्रत्येक डेटाबेस के लिए उपयोग की रूपरेखा (या डेटाबेस के निर्धारित करते हैं, पर निर्भर करता है के द्वारा शुरू कर देना चाहिए कि वे किस तरह उपयोग किया जाता है बेशक)।

मेरा सुझाव - MySQL (या उस मामले के लिए कोई डेटाबेस सर्वर) अधिक स्मृति का उपयोग कर सकता है। आप कभी पर्याप्त नहीं हो सकता है।

0

आप इसे गलत कर रहे हैं।

अपने डेटाबेस के बारे में कुछ विशिष्टताओं के साथ टिप्पणी करें, और हम शायद आपको यह बता सकते हैं कि आपका डिज़ाइन गलत कहां गया है।

+1

आपकी टिप्पणियों के लिए सभी को धन्यवाद। सिस्टम Google Analytics के समान कुछ है। उपयोगकर्ता की वेबसाइट के विज़िट "मास्टर" टेबल में लॉग इन की जा रही हैं। एक मूल अनुप्रयोग मास्टर टेबल की निगरानी कर रहा है और पंजीकृत यात्राओं को संसाधित करता है और उन्हें उपयोगकर्ताओं के डेटाबेस में लिखता है। प्रत्येक उपयोगकर्ता का अपना डीबी होता है। शेर्डिंग के लिए यह निर्णय लिया गया है। प्रत्येक उपयोगकर्ता के लिए विभिन्न रिपोर्ट और आंकड़े चल रहे हैं। और यह तेज़ है अगर यह केवल विशिष्ट डीबी (कम डेटा) पर चलता है, मुझे पता है कि यह सबसे अच्छा सेटअप नहीं है। लेकिन हमें थोड़ी देर के लिए इसका सामना करना पड़ेगा। –

6

mysql में "डेटाबेस" वास्तव में कैटलॉग हैं, इसकी सीमाओं पर इसका कोई प्रभाव नहीं पड़ता है कि क्या आप सभी तालिकाओं को अपने आप में एक या प्रत्येक में डालते हैं।

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

माईसैम को छोड़कर, यह और भी बदतर है, क्योंकि एक तालिका बंद करने से कुंजी कैश से अपने मुख्य ब्लॉक फेंकता है, जिसका मतलब है कि बाद के इंडेक्स लुकअप या स्कैन डिस्क से वास्तविक ब्लॉक पढ़ रहे होंगे, जो भयानक और धीमी है और वास्तव में इसकी आवश्यकता है दूर रहे।

मेरी सलाह है:

  • यदि संभव हो, तो तुरंत तालिका कैश करने के लिए> टेबल की कुल संख्या में वृद्धि
  • अपने निगरानी में वैश्विक स्थिति चर Opened_Tables मॉनिटर; अगर यह तेजी से बढ़ता है, तो यह बुरा है।
  • गैर-उत्पादन वातावरण में एक ही हार्डवेयर पर प्रदर्शन और मजबूती परीक्षण करें (यदि आप पहले से ऐसा नहीं कर रहे हैं)।
+1

मैं भी जोड़ दूंगा, फाइल डिस्क्रिप्टर सीमा की जांच करें - जबकि सीधे से कनेक्ट नहीं है। डेटाबेस के, आप बहुत सारे MyISAM तालिकाओं के साथ फ़ाइल डिस्क्रिप्टर से बाहर चला सकते हैं। – nos

+0

सामान्य स्टार्टअप स्क्रिप्ट आवश्यकतानुसार संख्या (लिनक्स के तहत) को बढ़ाएगी - बिना किसी समस्या के 10,000 होना संभव है। अन्य इंजन भी प्रति तालिका फ़ाइल डिस्क्रिप्टर का उपयोग नहीं कर सकते हैं। – MarkR

1

(बेहतर दृश्यता के लिए मेरी टिप्पणी दोबारा पोस्ट करना) आपकी टिप्पणियों के लिए सभी को धन्यवाद। सिस्टम Google Analytics के समान कुछ है। उपयोगकर्ता की वेबसाइट की विज़िट "मास्टर" तालिका में लॉग इन की जा रही हैं। एक मूल अनुप्रयोग मास्टर टेबल की निगरानी कर रहा है और पंजीकृत यात्राओं को संसाधित करता है और उन्हें उपयोगकर्ताओं के डेटाबेस में लिखता है। प्रत्येक उपयोगकर्ता का अपना डीबी होता है। शेर्डिंग के लिए यह निर्णय लिया गया है। प्रत्येक उपयोगकर्ता के लिए विभिन्न रिपोर्ट और आंकड़े चल रहे हैं। और यह तेज़ है अगर यह केवल विशिष्ट डीबी (कम डेटा) पर चलता है, मुझे पता है कि यह सबसे अच्छा सेटअप नहीं है। लेकिन हमें थोड़ी देर के लिए इसका सामना करना पड़ेगा।

+0

यह जानकारी मूल प्रश्न के लिए प्रासंगिक प्रतीत होती है। यदि आप किसी टिप्पणी की तुलना में अधिक दृश्यता चाहते हैं, तो इस जानकारी को शामिल करने के लिए मूल प्रश्न क्यों संपादित नहीं करें? – Trevor

संबंधित मुद्दे