डेटाबेस सर्वर के लिए अधिक महत्वपूर्ण क्या है? मेम? मेम स्पीड? कोर?


11

मैं अपने डेटाबेस सर्वर को कुछ नए हार्डवेयर में स्थानांतरित करने जा रहा हूं। वर्तमान डेटाबेस सर्वर में कोई समस्या नहीं है सिवाय इसके कि यह Centos 4. चल रहा है। वर्तमान हार्डवेयर 2 ट्रैक्टर कोर xeon 5335, RAID 10 में 4 15K RPM और 4GB (हाँ, यह वास्तव में केवल 4GB है)।

मेरे बजट के हार्डवेयर विकल्पों में लगभग कोई अंतर नहीं है और RAID 10 में वही 4 15K RPM हार्डड्राइव होंगे। वे हैं:

  • 8GB 533/667 के साथ 2 क्वाड कोर xeon 5335
  • 16x1333 के साथ 2 हेक्स कोर xeon 2620
  • 8GB 667 के साथ 4 ड्यूल कोर ओपटरन 8212
  • 8GB 1333 के साथ 1 ऑक्टो कोर xeon 2650
  • 16GB 1333 के साथ 1 क्वाड कोर xeon 3460

हार्डड्राइव को छोड़कर, डेटाबेस सर्वर के महत्वपूर्ण भागों का क्रम क्या है? क्या यह कुछ ऐसा है: मेमोरी साइज़, मेमोरी स्पीड, कोर और फिर कैश साइज़?


3
सीपीयू पर आपका वर्तमान उपयोग क्या है? क्या आप 10% पर चल रहे हैं? 50%? यदि आप एक नियमित आधार पर ~ 30-40% हैं, तो यह 1620 रैम के साथ 2620 लगता है कि आप क्या चाहते हैं (16 जीबी फास्ट रैम के साथ एक Q1`12 हेक्साकोर चिप? हां कृपया)
jcolebrand

@jcolebrand वह है जो मैं सोच रहा था कि यह सबसे अच्छा होगा। कभी-कभी स्पाइक्स के साथ 30-40% तक औसतन 10-20% उपयोग।
इको का कहना है कि मोनिका

XEON 2620 2 GHz पर, XEON 3460 2,8 GHz पर?
निल्स

जवाबों:


21

मेरे अनुभव में, आप जो देख रहे हैं वह इस प्राथमिकता क्रम में होगा:

  1. डिस्क सबसिस्टम की गति। मेरे अनुभव में RAID10 सबसे अच्छा है। SSDs के लिए बोनस अंक।
  2. RAM की कुल मात्रा जितनी अधिक RAM होगी, उतना ही अधिक आपके सर्वर में कैश होगा।
  3. मेमोरी की गति। फास्टर रैम जाहिर तौर पर धीमी रैम से बेहतर है, हालांकि रैम हमेशा डिस्क की तुलना में तेज होती है, इसलिए कम रैम से ज्यादा धीमी रैम बेहतर होती है।
  4. सीपीयू कोर की संख्या
  5. सीपीयू गति

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


2
db आर्किटेक्चर के आधार पर मैं कहूंगा कि अधिक cpu की गति की तुलना में अधिक कोर बेहतर होगा, क्योंकि उच्च घड़ी! = छोटी पाइपलाइन, और वहाँ बहुत सी बातें वहाँ पर विचार करने के लिए हैं, लेकिन अधिक कोर के साथ, OS में अधिक जगह हो सकती है। साइड प्रोसेस करते हैं, और आमतौर पर इंजन अधिक स्मार्ट होते हैं जो स्वयं को अधिक कोर में फैलाने में सक्षम होते हैं।
jcolebrand

@jcolebrand बिंदु लिया और अद्यतन जवाब!
जोश

2
चूंकि MySQL का विशेष रूप से उल्लेख किया गया था, तेज प्रोसेसर आमतौर पर अधिक से अधिक एक बेहतर विकल्प होता है (यह मानते हुए कि आप सिर्फ 1 या 2 के बारे में बात नहीं कर रहे हैं), क्योंकि किसी एकल क्वेरी की गति मौलिक रूप से एकल प्रोसेसर की गति से सीमित है। यहां तक ​​कि सबसे हाल ही में MySQL संस्करण आंतरिक म्यूटेक्स और सेमाफोर विवाद के कारण कई कोर में आरडीबीएमएस के साथ-साथ कुछ अन्य आरडीबीएमएस भी पैमाने पर नहीं हैं। मैं कई 24 कोर सर्वर चलाता हूं और मैं अपने बाएं हाथ को आधे के लिए उन्हें व्यापार करने के लिए दूंगा जो कि 1.5x तेज हैं।
आरोन ब्राउन

7

जब यह MySQL की बात आती है, तो आपको अपने डेटा के डिफ़ॉल्ट संग्रहण इंजन पर भी विचार करना चाहिए।

यदि केवल MyISAM डेटा का उपयोग कर रहे हैं, तो आपको केवल निम्नलिखित पर विचार करने की आवश्यकता है

डिस्क गति, मेमोरी स्पीड, कुल रैम, सीपीयू

कोर की संख्या एक बड़ा गैर-कारक है क्योंकि MyISAM (वास्तव में, mysqld) कई कोर का उपयोग नहीं करता है।

यदि केवल InnoDB डेटा का उपयोग किया जाता है, तो अब आपके पास कोर के बारे में बात करने के लिए कुछ है।

MySQL 5.5 अब InnoDB के लिए मल्टीकोर सपोर्ट के साथ आता है।

जब तक आप इनओडीबी ठीक से कॉन्फ़िगर नहीं करते तब तक सभी सीपीयू इनोबीडीबी के लिए सभी सिलेंडरों पर फायरिंग करेंगे। मानो या न मानो, यदि आप InnoDB को कॉन्फ़िगर नहीं करते हैं, तो ऐसे उदाहरण हैं जहां InnoDB के पुराने संस्करण नए संस्करणों की तुलना में तेज़ी से आउट-ऑफ़-द-बॉक्स होंगे।

नोट टू मॉडरेटर्स

यदि बहुत अधिक लिंक हैं, तो कृपया डाउनवोट न करें। बस मुझे और मैं उन लिंक के अंशों से चर्चा कर सकते हैं।


जानकर खुशी हुई। तालिकाओं के बहुत सारे MyISAM हैं, लेकिन सबसे अगर सभी को InnoDB में नहीं बदला जा सकता है, जो मैं वैसे भी करने की सोच रहा था। मैं ५.१ (४.१ से) में अपग्रेड होने जा रहा हूं
इको का कहना है कि

आपको 5.5 पर अपग्रेड करना होगा। MySQL 5.1 को प्लगइन की आवश्यकता होती है। सिर्फ 5.5 जाना आसान है।
RolandoMySQLDBA

InnoDB प्लगइन 5.1 में आसानी से स्थापित किया जा सकता है। साथ ही, Percona Server 5.1 InnoDB प्लगइन पर आधारित है।
आरोन ब्राउन

@AaronBrown: चूंकि इको में MySQL 4.1 है, या तो Percona 5.1 या MySQL 5.5 ऐसा करेगा। भले ही मैंने पहले semisync 5.5 प्लग इन स्थापित किया हो, मैं प्लगइन्स पर थोड़ा आलसी हूँ।
रोलैंडमाइसीडीडीबीए

0

उस सभी से जो पहले ही कहा जा चुका है और मुझे DB-server से जो लगता है: "2 हेक्स कोर xeon 2620 16GB 1333 के साथ" मुझे पहली पसंद लगता है।

1333 मेगाहर्ट्ज गति के साथ RDIMM3 का उपयोग करें - 12 या 15 जीबी, 16 जीबी से अधिक तेजी से है, क्योंकि आप 3 के माध्यम से डीआईएमएम की संख्या को विभाजित कर सकते हैं।

यदि आपका DB लिखने पर भारी है तो अच्छी डिस्क IO के प्रदर्शन के लिए भी देखें।

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