2012-11-19 15 views
5

रेडिस धीमी गति/प्रतिक्रिया के कारण क्या हो सकते हैं?रेडिस को धीमा करने के कारण

यानी मुझे स्टैक ओवरफ्लो पर मिला जो रेडिस में बड़ी फ़ाइलों या डेटा को संग्रहीत करता है, यह धीमा हो जाता है। क्या बाकी है?

उत्तर

9

इस प्रश्न का कोई आसान जवाब नहीं है। सभी नोएसक्यूएल या एसक्यूएल आधारित स्टोरेज समाधानों के साथ, ऐसी कई स्थितियां हैं जिनके परिणामस्वरूप उच्च विलंबता या स्टोरेज इंजन की धीमी गति हो सकती है। रेडिस कोई अपवाद नहीं है।

मैं पढ़ने से शुरू करने के लिए सुझाव है:

यहाँ संभावित कारणों की एक गैर विस्तृत सूची है: नेटवर्क

  • अपर्याप्त हार्डवेयर (, मेमोरी, सीपीयू)
  • सॉफ्टवेयर आधारित वर्चुअलाइजेशन (एक्सईएन उदाहरण के लिए लो-एंड हार्डवेयर पर)
  • स्मृति पर्याप्त नहीं है, ओएस स्तर पर पैदा करने की अदला-बदली
  • बहुत सारे हे (एन) के संचालन (चाबियां) एकल पिरोया इंजन में मार डाला
  • बड़े वस्तुओं Redis में संग्रहीत, संचार बफ़र्स के अनियंत्रित विस्तार करने के लिए अग्रणी
  • एक साथ सत्र की विशाल संख्या (> 30000)
  • प्रति सेकंड बहुत सारे कनेक्शन परिचालन (Redis एक वेबसर्वर नहीं है, कनेक्शन स्थायी होने की अपेक्षा की जाती है, क्षणिक नहीं)।
  • बहुत अधिक क्लाइंट आवेदन (कोई पाइपलाइनिंग या एकत्रित आदेश उपयोग)
  • बड़े कांटा bgsave या AOF पुनर्लेखन (विशेष रूप से VMs पर)
  • आई/ओ संबंधित सुप्तावस्था द्वारा उत्पन्न संचालन द्वारा उत्पन्न roundtrips जब AOF
  • प्रयोग किया जाता है कई की
  • संचय की समय सीमा समाप्त संचालन एक ही समय ग्राहक और मास्टर/दास संचार बफ़र्स, या धीमी गति से लॉग डेटा में स्मृति के
  • संचय पर शुरू हो रहा
  • TCP incast conditions नेटवर्क बैंडविड्थ की खपत महत्वपूर्ण
  • है जब
  • वितरित भंडारण (और इस तरह EC2 EBS के रूप में विशेष रूप से बादल छाए रहेंगे वाले) का उपयोग करते हुए डंप या AOF फ़ाइलों

स्टोर करने के लिए संभवतः कई अन्य कारणों से, अपने खुद के एप्लिकेशन द्वारा बनाया गया काम का बोझ से संबंधित हैं।

अगर कुछ लोग अन्य सामान्य कारणों के बारे में सोचते हैं, तो हम उन्हें इस सूची में जोड़ सकते हैं।

+0

धन्यवाद! मुझे लगता है कि यह कहां से शुरू करना है मेरे लिए यह एक अच्छा जवाब है। – shalakhin