2016-03-08 9 views
6

ElasticCache में कुछ मदद की तलाश में हम रेस्क्यू आधारित किंग सिस्टम चलाने के लिए ElasticCache Redis का उपयोग कर रहे हैं। इसका मतलब है कि यह सॉर्ट किए गए सेट और सूचियों का मिश्रण है। सामान्य ऑपरेशन पर , सब ठीक है और हम अच्छे प्रतिक्रिया समय & थ्रूपुट देख रहे हैं। सीपीयू स्तर लगभग 7-10% है, + सेट कमांड 120-140 के संचालन के आसपास हैं। (सभी मीट्रिक क्लाउडवॉच आधारित हैं।) लेकिन - जब सिस्टम डेटा के (हल्के) विस्फोट का अनुभव करता है, तो कई के संदेशों को संलग्न करते हुए, हम देखते हैं कि सर्वर गैर-उत्तरदायी नजदीक बन गया है। सीपीयू स्थिर @ 100% उपयोग है (मीट्रिक 50 कहता है, लेकिन यह एक कोर का उपयोग कर रहा है) ऑपरेशन की संख्या ~ 10K पर प्रतिक्रिया बूंदों को प्रति अनुरोध SECONDS के मामले में धीमा है हम उम्मीद करेंगे कि अगर भी सीपीयू इतनी हद तक लोड हो गया था, थ्रूपुट स्तर वही रहेगा, यह स्थानीय रूप से रेडिस चलाने पर हमें अनुभव होता है। रेडिस सीपीयू का उपयोग कर सकते हैं, लेकिन थ्रूपुट उच्च रहता है। क्योंकि यह मूल रूप से सिंगल-कॉर्ड है, संदर्भ स्विचिंग प्रकट नहीं होती है। AFAWK - हम किसी भी सीमा, या दृढ़ता, कोई प्रतिकृति लागू नहीं करते हैं। मूल विन्यास का उपयोग कर।रेडिस 2.8 (लोचदार) cache.r3.large में उच्च सीपीयू

का आकार: cache.r3.large हम कर रहे हैं और न ही समय-समय पर snapshoting

+0

के लिए रेडिस धीमी लॉग में देखने का प्रयास करें आपकी याददाश्त कैसी है? यदि रेडिस को स्वैप करने की आवश्यकता है, तो ऐसा हो सकता है कि रेडिस प्रति अनुरोध सेकेंड तक धीमा हो जाए। जब सिस्टम फ्री मेम 8% से नीचे होता है तो हम एक चेतावनी उठाते हैं। यह आपके द्वारा स्थापित की गई रेडिस सीमा से संबंधित नहीं है। –

+1

नई LUA-pop स्क्रिप्ट में एक LIMIT अनुपलब्ध है: https://github.com/gresrun/jesque/issues/101 – user3041539

उत्तर

3

यह एक रूज lua स्क्रिप्ट की एक विशेषता की तरह लगता है का उपयोग कर। ऐसी स्क्रिप्ट में कोई दोष होने से एक बड़ा सीपीयू लोड हो सकता है, जबकि समग्र थ्रूपुट को कम किया जा सकता है।

क्या आप इस तरह का उपयोग कर रहे हैं? एक

+0

बेहतर स्वरूपण और अधिक वर्णनात्मक उत्तर अन्य समस्याओं को एक ही समस्या का सामना करने में मदद करेगा जो आपके समाधान को बेहतर ढंग से समझते हैं –

संबंधित मुद्दे