AWS ओपन-सोर्स डेटाबेस होस्टिंग के लिए #1 क्लाउड प्रदाता है, और MySQL परिनियोजन के लिए गो-टू क्लाउड है। जैसे-जैसे संगठन क्लाउड पर माइग्रेट करना जारी रखते हैं, प्रदर्शन के मुद्दों का सामना करना महत्वपूर्ण है, जैसे कि उच्च विलंबता, कम थ्रूपुट, और प्रतिकृति अंतराल आपके उपयोगकर्ताओं और क्लाउड इन्फ्रास्ट्रक्चर के बीच उच्च दूरी के साथ। जबकि कई एडब्ल्यूएस उपयोगकर्ता अपने प्रबंधित डेटाबेस समाधान, अमेज़ॅन आरडीएस के लिए डिफ़ॉल्ट हैं, ऐसे विकल्प उपलब्ध हैं जो उन्नत अनुकूलन विकल्पों और असीमित ईसी 2 इंस्टेंस प्रकार समर्थन के माध्यम से एडब्ल्यूएस पर आपके MySQL प्रदर्शन को बेहतर बना सकते हैं। स्केलग्रिड एडब्ल्यूएस पर माईएसक्यूएल को होस्ट करने के लिए एक सम्मोहक विकल्प प्रदान करता है जो बेहतर प्रदर्शन, अधिक नियंत्रण और कोई क्लाउड विक्रेता लॉक-इन और अमेज़ॅन आरडीएस के समान मूल्य प्रदान करता है। इस पोस्ट में, हम एडब्ल्यूएस उच्च प्रदर्शन उदाहरणों पर स्केलग्रिड पर MySQL Amazon RDS बनाम MySQL होस्टिंग के प्रदर्शन की तुलना करते हैं।
TLDR
AWS उच्च प्रदर्शन परिनियोजन पर स्केलग्रिड का MySQL, MySQL के लिए Amazon RDS की आधी विलंबता पर 2x-3x थ्रूपुट प्रदान कर सकता है, जिसमें 1 की तुलना में 2 रीड प्रतिकृतियां होने का अतिरिक्त लाभ है। आरडीएस.
AWS प्रदर्शन परीक्षण पर MySQL
स्केलग्रिड | अमेज़ॅन आरडीएस | |
इंस्टेंस टाइप | AWS हाई परफॉर्मेंस XLarge (नीचे सिस्टम विवरण देखें) | DB इंस्टेंस r4.xlarge (मल्टी-एजेड) |
डिप्लॉयमेंट टाइप | 3 नोड मास्टर-स्लेव सेमीसिंक्रोनस प्रतिकृति के साथ सेट | एक रीड रेप्लिका के साथ मल्टी-एजेड डिप्लॉयमेंट |
SSD डिस्क | स्थानीय SSD और सामान्य प्रयोजन - 2TB | सामान्य प्रयोजन - 2TB |
मासिक लागत (USD) | $1,798 | $1,789 |
अमेज़ॅन आरडीएस लागत | कीमत | मात्रा | कुल | नोट |
मल्टी-एजेड | ||||
DB इंस्टेंस (hr) | $0.48 | 730 | $350.40 | db.r4.xlarge |
DB इंस्टेंस (hr) | $0.48 | 730 | $350.40 | db.r4.xlarge |
स्टोरेज (GB) | $0.115 | 2000 | $230.00 | सामान्य प्रयोजन - 2TB (Single-AZ) |
प्रतिकृति पढ़ें | ||||
DB इंस्टेंस (hr) | $0.48 | 730 | $350.40 | db.r4.xlarge (सिंगल-एजेड) |
स्टोरेज (GB) | $0.115 | 2000 | $230.00 | सामान्य प्रयोजन - 2TB (Single-AZ) |
अन्य लागतें | ||||
बैकअप स्टोरेज (GB) | $0.095 | 1000 | $95.00 | DB संग्रहण का 100% तक निःशुल्क |
डेटा ट्रांसफर (इंटरनेट से बाहर) | $0.09 | 0 | $0.00 | 1GB/mo तक निःशुल्क |
डेटा ट्रांसफर (क्षेत्रों से बाहर) | $0.01 | 2000 | $20.00 | US East (N. वर्जीनिया) |
सहायता | $162.62 | 1 | $162.62 | मासिक लागत का 10% |
कुल | $1,788.82 |
जैसा कि आप ऊपर दी गई तालिका से देख सकते हैं, MySQL RDS की कीमत स्केलग्रिड के पूरी तरह से प्रबंधित और सभी समावेशी MySQL होस्टिंग समाधान के $10 के भीतर है।
स्केलग्रिड के उच्च प्रदर्शन प्रतिकृति सेट क्या हैं?
AWS हाई परफॉर्मेंस रेप्लिका सेट पर स्केलग्रिड MySQL उच्च प्रदर्शन और उच्च विश्वसनीयता दोनों को प्राप्त करने के लिए स्थानीय SSD और EBS डिस्क के हाइब्रिड का उपयोग करता है। 3-नोड प्रतिकृति सेट का उपयोग करके एक विशिष्ट कॉन्फ़िगरेशन को तैनात किया जाता है:
- मास्टर और स्लेव-1 स्थानीय SSD डिस्क का उपयोग करते हैं।
- Slave-2 एक EBS डिस्क का उपयोग करता है (सामान्य प्रयोजन या एक प्रावधानित IOPS डिस्क हो सकता है)।
इसका क्या अर्थ है? चूंकि मास्टर और स्लेव -1 स्थानीय एसएसडी पर चल रहे हैं, इसलिए आपको अपनी एडब्ल्यूएस मशीनों से सर्वोत्तम संभव डिस्क प्रदर्शन मिलता है। कोई और नेटवर्क-आधारित ईबीएस नहीं, बस धधकते-तेज स्थानीय एसएसडी। आपके प्राइमरी को पढ़ता और लिखता है, और यहां तक कि स्लेव -1 से भी पढ़ता है, एसएसडी गति से काम करेगा। स्लेव -2 एक ईबीएस डेटा डिस्क का उपयोग करता है, और आप अपने क्लस्टर के लिए आवश्यक आईओपीएस की मात्रा को कॉन्फ़िगर कर सकते हैं। यह कॉन्फ़िगरेशन आपके डेटा के लिए पूर्ण सुरक्षा प्रदान करता है, यहां तक कि उस स्थिति में भी जब आप स्थानीय SSD डिस्क खो देते हैं।
ScaleGrid का MySQL AWS हाई परफॉर्मेंस XLarge रेप्लिका सेट मास्टर और स्लेव-1 के लिए स्थानीय SSD के साथ i3.xlarge (30.5 GB RAM) इंस्टेंस और i3.2xlarge (61 GB) का उपयोग करता है। RAM) स्लेव-2 के लिए उदाहरण।
MySQL कॉन्फ़िगरेशन
एक समान MySQL कॉन्फ़िगरेशन का उपयोग स्केलग्रिड और RDS परिनियोजन दोनों पर किया जाता है:
कॉन्फ़िगरेशन | मान |
वर्शन | 5.7.25 कम्युनिटी एडिशन |
innodb_buffer_pool_size | 25G |
innodb_log_file_size | 1G |
innodb_flush_log_at_trx_commit | 1 |
sync_binlog | 1 |
innodb_io_capacity | 3000 |
innodb_io_capacity_max | 6000 |
slave_parallel_workers | 30 |
slave_parallel_type | LOGICAL_CLOCK |
MySQL प्रदर्शन बेंचमार्क कॉन्फ़िगरेशन
कॉन्फ़िगरेशन | विवरण |
टूल | Sysbench वर्जन 1.0.17 |
होस्ट | 1 r4.xlarge मास्टर MySQL के समान AWS डेटासेंटर में स्थित है |
# टेबल्स | 100 |
# पंक्तियाँ प्रति टेबल | 5,000,000 |
वर्कलोड जनरेटिंग स्क्रिप्ट | oltp_read_write.lua |
MySQL प्रदर्शन परीक्षण परिदृश्य और परिणाम
यह सुनिश्चित करने के लिए कि हम सभी MySQL AWS वर्कलोड प्रकारों के लिए सूचनात्मक परिणाम प्रदान करते हैं, हमने अपने परीक्षणों को इन तीन परिदृश्यों में विभाजित किया है ताकि आप अपने पढ़ने/लिखने के कार्यभार की तीव्रता के आधार पर मूल्यांकन कर सकें:पी>
- पढ़ें-गहन कार्यभार: 80% पढ़ता है और 20% लिखता है
- संतुलित कार्यभार: 50% पढ़ता है और 50% लिखता है
- लिखें-गहन कार्यभार: 20% पढ़ता है और 80% लिखता है
प्रत्येक परिदृश्य 50 से 400 तक के sysbench क्लाइंट थ्रेड्स की अलग-अलग संख्या के साथ चलाया जाता है, और प्रत्येक परीक्षण 10 मिनट की अवधि के लिए चलाया जाता है। हम थ्रूपुट को क्वेरी प्रति सेकंड (QPS) और 95 वें प्रतिशत विलंबता के संदर्भ में मापते हैं, और यह सुनिश्चित करते हैं कि दासों पर अधिकतम प्रतिकृति अंतराल 30 से अधिक न हो। स्केलग्रिड परिनियोजन पर कुछ परीक्षणों के लिए, MySQL कॉन्फ़िगरेशन binlog_group_commit_sync_delay को ट्यून किया गया है ताकि दास प्रतिकृति अंतराल 30s से आगे न जाए। इस तकनीक को 'स्लोइंग डाउन द मास्टर टू स्पीड अप द स्लेव्स' कहा जाता है और इसे जे-एफ गग्ने के ब्लॉग में समझाया गया है।
एक ही कीमत पर अमेज़न आरडीएस पर #MySQL AWS प्रदर्शन 2X में सुधार कैसे करेंट्वीट करने के लिए क्लिक करेंपरिदृश्य-1:पढ़ने-गहन कार्यभार 80% पढ़ने और 20% लिखने के साथ
जैसा कि हम रीड-इंटेंसिव वर्कलोड टेस्ट से देख सकते हैं, AWS पर स्केलग्रिड उच्च प्रदर्शन MySQL इंस्टेंस 50 से कहीं भी 27,800 QPS को लगातार संभालने में सक्षम हैं। 400 धागे। यह MySQL RDS के प्रदर्शन की तुलना में लगभग 200% की वृद्धि है, जो थ्रेड्स की समान श्रेणी में औसतन केवल 9,411 QPS है।
ScaleGrid पूरे MySQL AWS प्रदर्शन परीक्षणों में औसतन 53% कम विलंबता बनाए रखता है। थ्रेड की संख्या बढ़ने पर Amazon RDS और ScaleGrid विलंबता दोनों में लगातार वृद्धि होती है, जहां स्केलग्रिड 400 थ्रेड्स के लिए अधिकतम 383ms जबकि समान स्तर पर Amazon RDS 831ms पर है।
परिदृश्य-2:50% पढ़ने और 50% लिखने के साथ संतुलित कार्यभार
हमारे संतुलित कार्यभार प्रदर्शन परीक्षणों में, स्केलग्रिड की MySQL उच्च प्रदर्शन परिनियोजन AWS पर 50 से 400 तक के थ्रेड्स पर औसतन 20,605 QPS के साथ फिर से बेहतर प्रदर्शन करता है। Amazon RDS समान थ्रेड गणना के लिए केवल औसत 8,296, जिसके परिणामस्वरूप स्केलग्रिड के साथ 148% सुधार हुआ।
स्केलग्रिड और Amazon RDS लेटेंसी दोनों ही ऊपर कवर किए गए पठन-गहन परीक्षणों की तुलना में संतुलित कार्यभार परीक्षणों में काफी कम हो गए हैं। अमेज़ॅन आरडीएस ने संतुलित कार्यभार परीक्षणों में औसतन 258ms विलंबता का औसत निकाला, जहां स्केलग्रिड ने केवल 125ms का औसत प्राप्त किया और Amazon RDS पर MySQL पर विलंबता में 52% से अधिक की कमी प्राप्त की।
परिदृश्य-3:20% पढ़ने और 80% लिखने के साथ लेखन-गहन कार्यभार
हमारे अंतिम राइट-इंटेंसिव MySQL AWS वर्कलोड परिदृश्य में, स्केलग्रिड ने 50 से 400 थ्रेड्स की रेंज में औसतन 17,007 QPS के साथ उच्च थ्रूपुट प्रदर्शन हासिल किया। यह Amazon RDS की तुलना में 123% का सुधार है, जिसने समान थ्रेड्स पर केवल 7,638 QPS हासिल किया है।
95वें पर्सेंटाइल लेटेंसी टेस्ट ने भी स्केलग्रिड के लिए 50 से 400 थ्रेड्स में 114ms के औसत पर काफी कम लेटेंसी उत्पन्न की। Amazon RDS ने अपने विलंबता परीक्षणों में औसतन 247ms हासिल किया, जिसके परिणामस्वरूप Amazon RDS पर AWS सेवाओं पर स्केलग्रिड के उच्च प्रदर्शन MySQL को तैनात करते समय विलंबता में औसत 54% की कमी आई।
विश्लेषण
जैसा कि हमने परीक्षण के परिणामों से देखा, पठन-गहन वर्कलोड के परिणामस्वरूप संतुलित वर्कलोड और राइट-इंटेंसिव वर्कलोड पर उच्च थ्रूपुट और लेटेंसी दोनों थे, चाहे कैसे भी हो MySQL को AWS पर तैनात किया गया था:
AWS थ्रूपुट परफॉर्मेंस टेस्ट एवरेज पर MySQL | स्केलग्रिड | अमेज़ॅन आरडीएस | स्केलग्रिड सुधार |
रीड-इंटेंसिव थ्रूपुट | 27,795 | 9,411 | 195.4% |
बैलेंस वर्कलोड थ्रूपुट | 20,605 | 8,296 | 148.4% |
राइट-इंटेंसिव थ्रूपुट | 17,007 | 7,638 | 122.7% |
AWS लेटेंसी परफॉर्मेंस टेस्ट एवरेज पर MySQL | स्केलग्रिड | अमेज़ॅन आरडीएस | स्केलग्रिड सुधार |
रीड-इंटेंसिव लेटेंसी | 206ms | 439ms | -53.0% |
संतुलित कार्यभार विलंबता | 125ms | 258ms | -51.6% |
राइट-इंटेंसिव लेटेंसी | 114ms | 247ms | -53.8% |
परिणामों की व्याख्या
- हम देखते हैं कि AWS परिनियोजन पर स्केलग्रिड MySQL ने RDS परिनियोजन की तुलना में रीड-इंटेंसिव वर्कलोड के लिए लगभग 3x बेहतर थ्रूपुट प्रदान किया।
- जैसे-जैसे राइट लोड बढ़ता गया, हालांकि एब्सोल्यूट थ्रूपुट कम होता गया, स्केलग्रिड अभी भी 2.5x बेहतर थ्रूपुट परफॉर्मेंस प्रदान करता है।
- लेखन-गहन कार्यभार के लिए, हमने पाया कि स्केलग्रिड परिनियोजन पर EBS स्लेव के लिए प्रतिकृति अंतराल शुरू हो गया है। चूंकि हमारा उद्देश्य हमारे रनों के लिए दास प्रतिकृति अंतराल को 30 के भीतर रखना था, इसलिए हमने यह सुनिश्चित करने के लिए binlog_group_commit_sync_delay पेश किया कि दास बेहतर समानांतर निष्पादन प्राप्त कर सके। इसने देरी को नियंत्रित किया, और इसके परिणामस्वरूप स्केलग्रिड परिनियोजन पर कम निरपेक्ष थ्रूपुट हुआ, लेकिन हम अभी भी RDS परिनियोजन की तुलना में 2.2x बेहतर थ्रूपुट देख सकते थे।
- पढ़ने-गहन, लिखने-गहन, और संतुलित कार्यभार परिदृश्यों के लिए, स्केलग्रिड ने आरडीएस की तुलना में 0.5X कम विलंबता विशेषताओं की पेशकश की।
ScaleGrid 'हाई परफॉर्मेंस' परिनियोजन RDS की आधी लेटेंसी पर 2x-3x थ्रूपुट प्रदान कर सकता है, जिसमें 2 रीड रेप्लिकाएं होने का एक अतिरिक्त लाभ है। आरडीएस में 1. MySQL के लिए Amazon RDS पर स्केलग्रिड के MySQL होस्टिंग लाभों के बारे में अधिक जानने के लिए, हमारे MySQL प्रदाता पृष्ठ की तुलना करें या पूरी तरह से प्रबंधित DBaaS प्लेटफॉर्म का पता लगाने के लिए 30-दिन का निःशुल्क परीक्षण शुरू करें।