"सबसे अच्छा अभ्यास" है:
- प्रदर्शन का आकलन करें, प्रासंगिक सबसिस्टम अलग रूप में अच्छी तरह आप कर सकते हैं के रूप में।
- बाधा के मूल कारण की पहचान करें। क्या आप I/O बंधे हैं? सीपीयू बाध्य? मेमोरी बाध्य? ताले पर इंतजार कर रहे हैं?
- आपके द्वारा खोजे गए मूल कारण को कम करने के लिए परिवर्तन करें।
- फिर से मापें, यह दिखाने के लिए कि आपने बाधा और कितनी तय की है।
- चरण 2 पर जाएं और जब तक सिस्टम पर्याप्त तेज़ी से काम न करे तब तक दोहराएं।
http://www.mysqlperformanceblog.com पर आरएसएस फ़ीड की सदस्यता लें और इसके ऐतिहासिक लेख भी पढ़ें। यह प्रदर्शन से संबंधित ज्ञान के लिए एक बेहद उपयोगी संसाधन है। उदाहरण के लिए, आपने InnoDB बनाम MyISAM के बारे में पूछा। उनके निष्कर्ष: InnoDB औसत पर MyISAM की तुलना में ~ 30% उच्च प्रदर्शन है। यद्यपि कुछ उपयोग परिदृश्य भी हैं जहां MyISAM InnoDB निष्पादित करता है।
कि ब्लॉग के लेखक भी "उच्च प्रदर्शन MySQL," पुस्तक @Andrew बार्नेट ने उल्लेख के सह-लेखक हैं। @ से
पुन टिप्पणी ʞɔıu: कैसे पता करें कि कि क्या आप आई/ओ बाध्य स्मृति बनाम बाध्य सीपीयू बनाम बाध्य कर रहे हैं मंच पर निर्भर है। ऑपरेटिंग सिस्टम ps, iostat, vmstat, या शीर्ष जैसे टूल पेश कर सकता है। या यदि आपका ओएस एक प्रदान नहीं करता है तो आपको एक थर्ड-पार्टी टूल प्राप्त करना पड़ सकता है।
असल में, जो भी संसाधन 100% उपयोग/संतृप्ति पर आच्छादित है, वह आपकी बाधा बनने की संभावना है। यदि आपका सीपीयू लोड कम है लेकिन आपका I/O लोड आपके हार्डवेयर के लिए अधिकतम है, तो आप I/O बाध्य हैं।
हालांकि, यह केवल एक डेटा बिंदु है। उपचार अन्य कारकों पर भी निर्भर हो सकता है। उदाहरण के लिए, एक जटिल SQL क्वेरी एक फाइलोर्ट कर रही है, और यह I/O व्यस्त रखती है। क्या आपको उस पर अधिक तेज़ हार्डवेयर फेंकना चाहिए, या क्या आपको फाइलोर्ट से बचने के लिए क्वेरी को फिर से डिजाइन करना चाहिए?
स्टैक ओवरफ्लो पोस्ट में सारांशित करने के लिए बहुत सारे कारक हैं, और तथ्य यह है कि इस विषय पर कई पुस्तकें मौजूद हैं।डेटाबेस को कुशलता से संचालित करने और संसाधनों का सर्वोत्तम उपयोग करने के लिए एक पूर्णकालिक नौकरी है जो विशेष कौशल और निरंतर अध्ययन की आवश्यकता होती है।
जेफ Atwood सिर्फ एक प्रणाली में बाधाओं खोजने के बारे में एक अच्छा ब्लॉग लेख लिखा था:
स्रोत
2009-02-23 22:09:45
आईएनएनओडीबी इंजन के साथ जाने का एक बड़ा कारण - लेनदेन का समर्थन है। MyIsam इसका समर्थन नहीं करता है। यदि आप अपनी डेटा अखंडता की देखभाल करते हैं (जैसा कि आपको करना चाहिए :)) - बस कोई अन्य तरीका नहीं है।विश्वसनीय रूप से रोलबैक एसक्यूएल अनुक्रम का कोई तरीका नहीं है यदि आप लेनदेन का उपयोग नहीं करते हैं और कुछ बिजली की आबादी जैसी खराब होती है। – Stann