Microsoft Azure दुनिया में सबसे लोकप्रिय क्लाउड प्रदाताओं में से एक है, और अपने बुनियादी ढांचे में Microsoft का लाभ उठाने वाले अनुप्रयोगों पर डेटाबेस होस्टिंग के लिए एक स्वाभाविक फिट है। MySQL नंबर एक ओपन सोर्स डेटाबेस है जिसे आमतौर पर Azure इंस्टेंस के माध्यम से होस्ट किया जाता है। जबकि Microsoft अपने स्वयं के Azure डेटाबेस उत्पाद प्रदान करता है, ऐसे अन्य विकल्प उपलब्ध हैं जो आपके MySQL प्रदर्शन को बेहतर बनाने में आपकी मदद कर सकते हैं। इस ब्लॉग पोस्ट में, हम Azure पर MySQL बनाम स्केलग्रिड MySQL के लिए Azure डेटाबेस की तुलना करते हैं ताकि आप देख सकें कि कौन सा प्रदाता सबसे अच्छा थ्रूपुट और विलंबता प्रदर्शन प्रदान करता है। हम प्रतीक्षा अवधि को ms 95वीं शतमक प्रतीक्षा अवधि में मापते हैं.
एक नज़र में - TLDR | ||||||
---|---|---|---|---|---|---|
|
अभी शुरू कर रहे हैं? अपने क्लाउड डेटाबेस परिनियोजन को अनुकूलित करने के बारे में अधिक जानने के लिए Azure क्लाउड पोस्ट पर MySQL को होस्ट करने का सबसे अच्छा तरीका देखें।
MySQL Azure Performance बेंचमार्क
इस बेंचमार्क रिपोर्ट में, हम इन तीन वर्कलोड परिदृश्यों में स्केलग्रिड बनाम MySQL के लिए Azure डेटाबेस पर MySQL होस्टिंग की तुलना करते हैं:
- पढ़ें-गहन कार्यभार:80% पढ़ता है और 20% लिखता है
- संतुलित कार्यभार:50% पढ़ता है और 50% लिखता है
- लेखन-गहन कार्यभार:20% पढ़ता है और 80% लिखता है
हम MySQL थ्रूपुट और लेटेंसी परफॉर्मेंस को मापते हैं, और थ्रूपुट को क्वेश्चन प्रति सेकंड (QPS) और लेटेंसी के संदर्भ में 95वें पर्सेंटाइल (ms) के रूप में मापते हैं। इन परीक्षणों को कैसे कॉन्फ़िगर किया गया था, यह देखने के लिए प्रदर्शन रिपोर्ट के नीचे हमारा बेंचमार्क कॉन्फ़िगरेशन अनुभाग देखें।
MySQL रीड-इंटेंसिव परफॉर्मेंस
MySQL रीड-इंटेंसिव वर्कलोड ऐसे वर्कलोड होते हैं जो आमतौर पर रीड ऑपरेशंस, जैसे SELECT पर हावी होते हैं। तो, एक पठन-गहन कार्यभार वह होगा जो डेटाबेस को अधिक बार खोजता है बनाम इसे लिखता है। Percona के पास पठन-गहन बनाम लेखन-गहन कार्यभार पर एक बढ़िया पोस्ट है जहाँ आप अधिक सीख सकते हैं।
आइए स्केलग्रिड MySQL बनाम MySQL के लिए Azure डेटाबेस के थ्रूपुट और विलंबता प्रदर्शन पर एक नज़र डालते हैं:
थ्रूपुट
थ्रेड्स | स्केलग्रिड | Azure | स्केलग्रिड सुधार |
---|---|---|---|
25 | 5,299 | 1,689 | 214% |
50 | 6,092 | 2,302 | 165% |
100 | 8,429 | 2,877 | 193% |
150 | 9,011 | 2,870 | 214% |
175 | 7,025 | 2,805 | 151% |
जैसा कि हम ऊपर दिए गए ग्राफ़ और प्रदर्शन तालिका से देख सकते हैं, स्केलग्रिड MySQL 3x उच्च थ्रूपुट प्राप्त करता है बी> रीड-इंटेंसिव वर्कलोड के लिए Azure डेटाबेस की तुलना में। जबकि MySQL थ्रूपुट के लिए Azure डेटाबेस सभी थ्रेड परिदृश्यों में प्रति सेकंड 3,000 क्वेरीज़ के अंतर्गत है, स्केलग्रिड में थ्रेड्स में प्रति सेकंड 5,000-9,000 से अधिक क्वेरीज़ हैं। |
लेटेंसी
थ्रेड्स | स्केलग्रिड | Azure | स्केलग्रिड सुधार |
---|---|---|---|
25 | 258 | 451 | -43% |
50 | 101 | 670 | -85% |
100 | 148 | 978 | -85% |
150 | 309 | 1562 | -80% |
175 | 1,089 | 1,678 | -35% |
जबकि MySQL लेटेंसी के लिए Azure डेटाबेस तेजी से बढ़ता है क्योंकि थ्रेड्स की संख्या बढ़ती है, स्केलग्रिड MySQL लगातार सभी थ्रेड काउंट्स में कम लेटेंसी प्राप्त करता है . औसतन, MySQL के लिए स्केलग्रिड में Azure डेटाबेस की तुलना में 66% कम विलंबता है पढ़ने के लिए गहन कार्यभार परिदृश्यों के लिए MySQL के लिए। |
Azure पर अपने #MySQL लेटेंसी को 66% तक कम करें, थ्रूपुट प्रदर्शन के 3 गुना तक अधिक के साथ ट्वीट करने के लिए क्लिक करें
MySQL बैलेंस्ड वर्कलोड परफॉर्मेंस
संतुलित वर्कलोड लगभग बराबर मात्रा में रीड ऑपरेशंस और राइट ऑपरेशंस का लाभ उठाता है।
थ्रूपुट
थ्रेड्स | स्केलग्रिड | Azure | स्केलग्रिड सुधार |
---|---|---|---|
25 | 3,806 | 1,748 | 118% |
50 | 5,834 | 2,437 | 139% |
100 | 6,365 | 2,712 | 135% |
150 | 5,724 | 2,775 | 106% |
175 | 6,206 | 1,767 | 251% |
औसतन, ScaleGrid ने Azure डेटाबेस की तुलना में MySQL थ्रूपुट में 150% तक सुधार किया संतुलित कार्यभार के लिए MySQL के लिए, और 2x से अधिक बेहतर . है धागे की सभी संख्या में। Azure डेटाबेस ने 150 थ्रेड्स पर प्रति सेकंड लगभग 2,775 क्वेरीज़ को अधिकतम किया, जबकि स्केलग्रिड ने समान थ्रेड्स के लिए प्रति सेकंड 5,724 क्वेरीज़ हासिल की। |
लेटेंसी
थ्रेड्स | स्केलग्रिड | Azure | स्केलग्रिड सुधार |
---|---|---|---|
25 | 76 | 390 | -81% |
50 | 103 | 612 | -83% |
100 | 240 | 943 | -75% |
150 | 560 | 1,590 | -65% |
175 | 560 | 2,199 | -75% |
हम संतुलित कार्यभार के लिए विलंबता प्रदर्शन में एक और नाटकीय सुधार देखते हैं, जहां स्केलग्रिड MySQL परिनियोजन कम पर प्रदर्शन करने में सक्षम हैं एक तिहाई से अधिक विलंबता MySQL के लिए Azure डेटाबेस की तुलना में। |
MySQL लिखें-गहन प्रदर्शन
जबकि रीड ऑपरेशन डेटाबेस से खोज रहे हैं, राइट ऑपरेशन वे हैं जो डेटाबेस को सहेजते हैं या संशोधित करते हैं, जैसे INSERT, UPDATE या DELETE क्वेरीज़। राइट-इंटेंसिव वर्कलोड आमतौर पर रीड-इंटेंसिव वर्कलोड की तुलना में अधिक महंगे होते हैं क्योंकि ऑपरेशन अधिक संसाधनों की खपत करते हैं। आइए स्केलग्रिड बनाम एज़्योर डेटाबेस थ्रूपुट और MySQL राइट-इंटेंसिव वर्कलोड में विलंबता प्रदर्शन की तुलना करें।
थ्रूपुट
थ्रेड्स | स्केलग्रिड | Azure | स्केलग्रिड सुधार |
---|---|---|---|
25 | 3,327 | 826 | 303% |
50 | 5,003 | 1,154 | 334% |
100 | 5,180 | 1,476 | 251% |
150 | 4,310 | 1,651 | 161% |
175 | 4,071 | 1,643 | 148% |
हमारे लेखन-गहन परिदृश्य में, हम सबसे बड़ा प्रदर्शन सुधार देखने में सक्षम हैं जहां स्केलग्रिड 4x तक प्राप्त करता है Azure डेटाबेस की तुलना में उच्च थ्रूपुट . यह हमारे लो-थ्रेड परिदृश्यों में विशेष रूप से स्पष्ट है, लेकिन 175 थ्रेड्स पर भी स्केलग्रिड अभी भी Azure डेटाबेस से 2.5x बेहतर प्रदर्शन करता है। |
लेटेंसी
थ्रेड्स | स्केलग्रिड | Azure | स्केलग्रिड सुधार |
---|---|---|---|
25 | 76 | 277 | -73% |
50 | 101 | 383 | -74% |
100 | 298 | 996 | -70% |
150 | 760 | 1,740 | -56% |
175 | 1,089 | 2,009 | -46% |
ScaleGrid ने Azure डेटाबेस को फिर से बेहतर प्रदर्शन किया और सभी थ्रेड्स में 64% कम लेटेंसी के साथ लेखन-गहन कार्यभार के लिए। |
जैसा कि हम उपरोक्त रिपोर्टों से देख सकते हैं, स्केलग्रिड आपको अपने थ्रूपुट को उल्लेखनीय रूप से बढ़ाने और MySQL के लिए Azure डेटाबेस परिनियोजन के खिलाफ आपकी विलंबता को कम करने में मदद करता है, जो पढ़ने-गहन, लिखने-गहन और संतुलित वर्कलोड में होता है। परिदृश्य ये दोनों प्रदाता विभिन्न सुविधाओं की तुलना कैसे करते हैं, इसके बारे में अधिक जानने के लिए, स्केलग्रिड बनाम Azure डेटाबेस MySQL पृष्ठ देखें।
बेंचमार्क कॉन्फ़िगरेशन
आइए हम प्रदर्शन बेंचमार्क में उपयोग किए गए कॉन्फ़िगरेशन पर एक नज़र डालते हैं:
कॉन्फ़िगरेशन तुलना
हमने स्केलग्रिड और एज़्योर डेटाबेस के बीच पेश की गई सबसे तुलनीय योजनाओं का उपयोग करके कॉन्फ़िगरेशन को डिज़ाइन किया है। केवल मामूली अंतर हैं और दोनों प्रदाताओं के लिए लागतें समान हैं:
Azure पर स्केलग्रिड MySQL | MySQL के लिए Azure डेटाबेस | |
---|---|---|
इंस्टेंस टाइप | डेडिकेटेड लार्ज:Standard_Ds2_v2 2 कोर | सामान्य प्रयोजन:2 कोर |
RAM | 7GB | 10GB (प्रति vCore 5GB मेमोरी) |
SSD | 128GB, प्रीमियम SSD डिस्क, 500 IOPS | 167GB, 500 IOPS तक |
डिप्लॉयमेंट टाइप | 2+1 कोरम सेमीसिंक्रोनस प्रतिकृति के साथ | +1 रेप्लिका एसिंक्रोनस प्रतिकृति पढ़ें |
क्षेत्र | पूर्वी अमेरिका | पूर्वी अमेरिका |
सहायता | शामिल | स्टैंडर्ड प्लान ($100) |
अनुमानित मासिक मूल्य | $400 | $400 |
Sysbench कॉन्फ़िगरेशन
कॉन्फ़िगरेशन | <वें शैली ="चौड़ाई:50%; पैडिंग:10 पीएक्स; सीमा:1 पीएक्स ठोस #ईई; पृष्ठभूमि:# def5fe;"> विवरण|
---|---|
टूल | Sysbench वर्जन 1.0.20 |
होस्ट | Standard_Ds2_v2 पूर्वी यूएस क्षेत्र में 2 कोर (2 vcpus, 7GB मेमोरी) |
# टेबल्स | 100 |
# पंक्तियाँ प्रति टेबल | 2,000,000 |
यादृच्छिक संख्या वितरण | स्पेशल |
MySQL सर्वर कॉन्फ़िगरेशन
कॉन्फ़िगरेशन | Azure Scalegrid (समर्पित) | MySQL के लिए Azure DB |
---|---|---|
एसक्यूएल संस्करण | 5.7.25 | 5.7.27 |
innodb_buffer_pool_size | 4G | 7.5G |
innodb_log_file_size | 1G | 268M |
innodb_io_capacity | 500 | 500 |
innodb_io_capacity_max | 1000 | 1000 |
ध्यान दें कि स्केलग्रिड पर, आपके पास अपने MySQL कॉन्फ़िगरेशन को अनुकूलित करने के लिए उन्नत विकल्प हैं। इससे आप अपने परिनियोजन को अपनी एप्लिकेशन आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं और प्रदर्शन के लिए अनुकूलित कर सकते हैं। दुर्भाग्य से, Azure डेटाबेस कुछ मापदंडों के अनुकूलन की अनुमति नहीं देता है, इसलिए आप उनके प्लेटफॉर्म के माध्यम से उपलब्ध डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ फंस गए हैं।
उदाहरण के लिए, हम InnoDB लॉग फ़ाइल आकार को 1GB तक अनुकूलित करने में सक्षम थे, जबकि Azure डेटाबेस के लिए, इसे संशोधित नहीं किया जा सकता है और इसका डिफ़ॉल्ट मान 268M है। MySQL के लिए Azure डेटाबेस की सीमाओं के बारे में अधिक जानें।
Azure के लिए Scalegrid MySQL का उपयोग करने के कई अन्य लाभ हैं, हमारे स्केलग्रिड बनाम Azure डेटाबेस - MySQL होस्टिंग पृष्ठ पर पूर्ण तुलना देखें।