फ्लैश पर रेडिस (आरओएफ) हमारी सबसे लोकप्रिय उद्यम कार्यात्मकताओं में से एक रही है, जो महंगे डीआरएएम के बजाय एसएसडी में 80% तक डेटासेट संग्रहीत करके इन-मेमोरी कंप्यूटिंग को लागत प्रभावी बनाती है, और अभी भी उप-मिलीसेकंड विलंबता को बनाए रखती है और रेडिस का उच्च-थ्रूपुट। विशिष्ट परिनियोजन में, RoF 70% TCO छूट प्रदान करता है।
अब दो नए, रोमांचक सहयोगों के साथ, हमें यह घोषणा करते हुए गर्व हो रहा है कि RoF अब प्रदर्शन को 3.7x तक बढ़ा सकता है रेडिस पर बड़े डेटासेट चलाने के लिए स्वामित्व की समान आकर्षक कुल लागत को बनाए रखते हुए। सबसे पहले, AWS ने नई पीढ़ी के उदाहरणों की सामान्य उपलब्धता की घोषणा की है, Amazon EC2 I4i, तीसरी पीढ़ी के Intel Xeon स्केलेबल प्रोसेसर (कोड-नाम आइस लेक) और AWS नाइट्रो SSD NVMe- आधारित स्टोरेज द्वारा संचालित है। यह नई पीढ़ी डेटा-सघन रेडिस ग्राहकों के लिए प्रदर्शन में उल्लेखनीय वृद्धि देने का वादा करती है। इसके अतिरिक्त, हम पहले विकल्प के रूप में स्पीडबी की नई घोषित तकनीक के साथ किसी भी रॉक्सडीबी संगत डेटाबेस के लिए आरओएफ के लिए डेटा इंजन खोलने की अपनी योजनाओं को साझा करने में प्रसन्न हैं।
हमारा मानना है कि नए I4i इंस्टेंस का संयोजन और ग्राहकों को उनके डेटा इंजन के लिए एक विकल्प प्रदान करना RoF को बड़े पैमाने पर डेटासेट के लिए और भी आकर्षक बना देगा, क्योंकि आधुनिक एप्लिकेशन या कम विलंबता माइक्रोसर्विस आर्किटेक्चर बनाने वाली कंपनियों के लिए वास्तविक समय के अनुभवों की आवश्यकता बढ़ जाती है।पी>
Amazon EC2 I4i और Speedb फ्लैश पर रेडिस में क्या लाते हैं?
आइए जानें कि RoF में नया क्या है। AWS 4 क्षेत्रों में नए Amazon EC2 I4i ('i' Intel के लिए है) इंस्टेंस की पेशकश कर रहा है। I4i इंस्टेंस नवीनतम तकनीक, Intel Ice Lake प्रोसेसर और AWS नाइट्रो SSD का उपयोग करते हैं, जो IOPS को बेहतर बनाता है और I3 उदाहरणों की पिछली पीढ़ी की तुलना में विलंबता को कम करता है।
हार्डवेयर से अलग, हम ऐसे तरीकों की तलाश कर रहे हैं जिससे RoF और भी अधिक प्रदर्शन दे सके और ग्राहकों और उद्यमियों द्वारा डेटा इंजन को नवाचार के लिए खोलने के अवसर की पहचान की। हमें यह घोषणा करते हुए खुशी हो रही है कि आरओएफ अब किसी भी रॉक्सडीबी-संगत डेटा इंजन के लिए खुला है और स्पीडबी रेडिस द्वारा पेश किया जाने वाला पहला विकल्प है। हमारे साथ काम करते हुए, स्पीडब की टीम ने रॉक्सडीबी आंतरिक डेटा संरचना को फिर से डिज़ाइन किया है जो सीपीयू संसाधनों को कम करते हुए प्रदर्शन और पैमाने दोनों को प्रभावशाली ढंग से बढ़ाता है।
इस ब्लॉग पोस्ट में, हम साझा करते हैं कि कैसे स्पीडबी रॉक्सडीबी की तुलना में हमारे उप-मिलीसेकंड परीक्षणों में लगभग 50% का महत्वपूर्ण प्रदर्शन बढ़ावा प्रदान करता है, भले ही हम AWS EC2 उदाहरण का उपयोग कर रहे हों, I4i या I3।
स्पीडबी के साथ आरओएफ वर्तमान में निजी पूर्वावलोकन में उपलब्ध है। Redis ग्राहक अतिरिक्त जानकारी के लिए या नई सेवा का परीक्षण करने के लिए अपनी खाता टीम से संपर्क कर सकते हैं।
Flash पर नए Redis को बेंचमार्क करना
हमारे प्रदर्शन इंजीनियर AWS के I4i उदाहरणों पर अपना हाथ पाने और RoF के नए स्पीडब डेटा इंजन के साथ उनका परीक्षण करने के लिए इंतजार नहीं कर सकते। हम Amazon EC2 I4i उदाहरणों का पूरी तरह से परीक्षण करने वाले पहले AWS भागीदार बनकर प्रसन्न हैं। एक अनुस्मारक के रूप में, RoF बुद्धिमानी से बड़े डेटासेट को टियर करता है और DRAM की तुलना में NVMe SSDs के कम कीमत वाले प्रति GiB का लाभ उठाने के लिए डिज़ाइन किया गया था। यह हमें DRAM-आधारित इंस्टेंस की कुल लागत-स्वामित्व 30% पर, अब I4i इंस्टेंस के साथ रेडिस-ग्रेड प्रदर्शन देने में सक्षम बनाता है।
बेंचमार्क परिणामों और संख्याओं पर जाने से पहले, आइए समीक्षा करें कि ग्राहक को RoF पर कब विचार करना चाहिए। हमने उन मामलों के उपयोग के लिए RoF विकसित किया है जहां काम करने वाला डेटासेट कुल डेटासेट से छोटा है और अतिरिक्त DRAM में जाना लागत-निषेधात्मक है। एक और आम RoF उपयोग मामला बैच डेटा प्रोसेसिंग है, जहां व्यापार-महत्वपूर्ण अनुप्रयोगों के लिए बड़ी मात्रा में डेटा को संसाधित करने की आवश्यकता होती है, जिसके लिए समय के साथ स्थिर कम विलंबता और उच्च थ्रूपुट की आवश्यकता होती है।
अब मज़े की बात है, बेंचमार्क परिणाम।
हमने क्या बेंचमार्क किया
हमने फ्लैश पर रेडिस के प्रदर्शन की तुलना चार एडब्ल्यूएस इंस्टेंस पर की:
i3.8xबड़ा - 244GB रैम, 4xNVMe SSD ड्राइव, कुल 7.6TB
I4i.4xlarge - 128GB RAM, 1xNVMe SSD ड्राइव, कुल 3.75TB
I4i.8xlarge - 256GB RAM, 2xNVMe SSD ड्राइव, कुल 7.5TB . के लिए
I4i.16xlarge – 512GB RAM, 4xNVMe SSD कुल 15TB के लिए
हमने दो डेटा इंजनों के प्रदर्शन की तुलना की
- रॉक्सडीबी
- गति
टेस्ट पैरामीटर
हमने अधिकांश मानक रेडिस उपयोग मामलों को कवर करते हुए 1KiB मान आकार का उपयोग किया
हमने 50% और 85% RAM हिट अनुपात का परीक्षण किया (यानी कई अनुरोध सीधे RAM से दिए गए)
हमने 20:80 रैम का परीक्षण किया:फ्लैश अनुपात
हमने विभिन्न पठन:लेखन अनुपातों को बेंचमार्क किया:1:1, 4:1 और 1:4
सभी परीक्षण दो सर्वरों का उपयोग करके किए गए थे
निम्नलिखित डेटाबेस आकार हैं जिन्हें हम इंस्टेंस प्रकारों के अनुसार चलाते हैं:
- I4i.4xबड़ा:500GB + प्रतिकृति। 5 प्राथमिक शार्क + 5 प्रतिकृति शार्क
- i3.8xबड़ा:1TB + प्रतिकृति। 10 प्राथमिक शार्क + 10 प्रतिकृति शार्क
- I4i.8xबड़ा:1TB + प्रतिकृति। 10 प्राथमिक शार्क + 10 प्रतिकृति शार्क
- I4i.16xबड़ा:2TB + प्रतिकृति। 20 प्राथमिक शार्ड्स + 20 रेप्लिका शार्ड्स
प्रत्येक कॉन्फ़िगरेशन में, हमने परीक्षण किया कि उप-मिलीसेकंड क्लाइंट विलंबता (नेटवर्क को शामिल नहीं करते हुए) को बनाए रखते हुए कितने ऑप्स/सेकंड प्राप्त किए जा सकते हैं
हमें क्या मिला
नीचे दिया गया ग्राफ़ i3 बनाम I4i और RocksDB बनाम स्पीडब दिखाता है:
हम निम्नलिखित सुधार देख सकते हैं:
प्रेषक | to | स्पीडअप फैक्टर |
i3.8xlarge rocksdb | i3.8xlarge स्पीडब | 1.3x |
I4i.8xlarge rocksdb | I4i.8xlarge स्पीडब | 1.46x |
i3.8xlarge rocksdb | I4i.8xlarge रॉक्सडीबी | 1.94x |
i3.8xlarge स्पीडब | I4i.8xlarge स्पीडब | 2.16x |
i3.8xlarge rocksdb | I4i.8xlarge स्पीडब | 2.83x |
नीचे दिया गया ग्राफ़ स्पीडब पर I4i के साथ स्केलिंग दिखाता है और अलग-अलग रीड:राइट रेशियो:
हम निम्नलिखित परिणाम और सुधार देख सकते हैं:
स्केलिंग के अनुसार, हम देख सकते हैं कि I4i पर RoF स्पीडब स्केल के साथ लगभग रैखिक रूप से होता है।
4xबड़ा → 8xबड़ा का गुणांक ~1.55x-1.8x . है
8xlarge → 16xlarge का स्केलिंग फ़ैक्टर ~1.85x-1.95x
दूसरा उल्लेखनीय परिणाम यह है कि स्पीडब के साथ I4i पर RoF एप्लिकेशन एक्सेस पैटर्न (पढ़ने:लिखने के अनुपात) के लिए बहुत अज्ञेयवादी है। इसका मतलब है कि प्रदर्शन स्थिर रहता है और अनुमान लगाया जा सकता है। यह कई अलग-अलग अनुप्रयोगों के साथ काम करते समय या समय के साथ एक्सेस पैटर्न भिन्न होने पर उपयोगी हो सकता है।
नीचे दिया गया ग्राफ़ समग्र रूप से 3.7x प्रदर्शन सुधार दिखाता है:
परिशिष्ट:
बेंचमार्क सेटअप
रेडिस एंटरप्राइज संस्करण:v. 6.2.8-39 उबंटू पर 18.04
फ्लैश डेटाबेस पर रेडिस:ऊपर प्रति उदाहरण विवरण देखें
क्लाइंट मशीन:EC2 m5.8xबड़ा (32 VCPU, 128 GB RAM)
लोड जनरेशन टूल:मेमियर बेंचमार्क
85% रैम हिट अनुपात के लिए मेमटियर नमूना आदेश:
memtier_benchmark -s <डेटाबेस होस्ट IP> -p <डेटाबेस पोर्ट>
-हाइड-हिस्टोग्राम -पाइपलाइन =1 -सी 4 -टी 256 -डी 1000
-की-मैक्सिमम=771141855-की-पैटर्न=जी:जी-की-स्टडदेव=50358491
–अनुपात=1:1 –विशिष्ट-ग्राहक-बीज –यादृच्छिक –परीक्षण-समय=1200
सेटअप चित्रण: