MySQL प्रदर्शन अनुकूलन के लिए प्रमुख कॉन्फ़िगरेशन
इंस्टॉलेशन के बाद इन सेटिंग्स को लागू करके MySQL की गति और स्थिरता सुधारें।
सर्वोत्तम अभ्यास
- एक समय में एक सेटिंग बदलें
- रनटाइम में SET GLOBAL से टेस्ट करें, फिर कॉन्फ़िगरेशन फ़ाइल में स्थायी करें
- सही कॉन्फ़िगरेशन फ़ाइल और सेक्शन ([mysqld]) सुनिश्चित करें
- संस्करण नियंत्रण से परिवर्तन ट्रैक करें
महत्वपूर्ण सेटिंग्स
- innodb_buffer_pool_size: InnoDB का बफर पूल (डेटा/इंडेक्स कैश)। 8GB RAM के लिए 5-6GB सुझाया।
- innodb_log_file_size: रीडो लॉग आकार। क्रैश रिकवरी और लेखन प्रदर्शन संतुलन। MySQL 5.6+ में 4GB सीमा हटाई गई।
- max_connections: डिफ़ॉल्ट 151। "Too many connections" त्रुटि से बचने के लिए बढ़ाएं, लेकिन बहुत अधिक से सर्वर अनुत्तरदायी हो सकता है।
- innodb_log_buffer_size: अनकमिटेड ट्रांजैक्शन के लिए बफर। डिफ़ॉल्ट 1MB। बड़े BLOB/TEXT के लिए बढ़ाएं।
- innodb_flush_method: डिस्क फ्लश विधि। RAID कंट्रोलर के साथ O_DIRECT सर्वोत्तम।
- query_cache_size: बोतलनेक का कारण बन सकता है। MySQL 5.6+ में डिफ़ॉल्ट अक्षम (0)। Memcached/Redis बेहतर विकल्प।
- log_bin: बाइनरी लॉग सक्षम करें रिप्लिकेशन मास्टर या पॉइंट-इन-टाइम रिकवरी के लिए। PURGE BINARY LOGS या expire_logs_days से पुराने लॉग हटाएं।
- skip_name_resolve: DNS लुकअप अक्षम करें कनेक्शन गति बढ़ाने के लिए। GRANT में IP पता उपयोग करें।
ये सेटिंग्स MySQL के पढ़ने/लिखने प्रदर्शन, क्रैश रिकवरी और स्केलेबिलिटी को महत्वपूर्ण रूप से सुधारती हैं।