Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस हैश बहुत धीमी गति से लेखन गति

आपको इस बारे में थोड़ा और सोचने की ज़रूरत है कि आप इस प्रोग्राम का उपयोग करके वास्तव में क्या बेंचमार्क करते हैं। मैं आपको बता सकता हूं कि यह रेडिस नहीं है, बल्कि आपके सिस्टम की दो प्रक्रियाओं के बीच एक पिंग पोंग गेम चलाने की क्षमता है (क्योंकि आपके सभी hsetnx कॉल सिंक्रोनस हैं)।

रेडिस को बेंचमार्क करने का प्रयास करने से पहले कृपया इस पेज को पढ़ें, यह निश्चित रूप से आपकी मदद करेगा।

आपकी धारणा है कि रेडिस की गति रैम की लेखन गति के करीब पहुंचनी चाहिए, कुछ हद तक भोली है। रेडिस एक रिमोट . है स्टोर, और ओ (1) संचालन के लिए, अधिकांश ओवरहेड संचार लागत के कारण होता है। सिंक्रोनस ट्रैफ़िक (आपके उदाहरण की तरह) के लिए, यह OS शेड्यूलर की लागत के कारण भी है।

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

अतुल्यकालिक यातायात के साथ कई कनेक्शनों पर पाइपलाइनिंग के साथ, आप अधिकतम थ्रूपुट प्राप्त करेंगे जो रेडिस इस मशीन पर प्राप्त कर सकता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस INCRBY सीमा के साथ

  2. रेडिस REDIS_URL के बजाय हरोकू पर लोकलहोस्ट से जुड़ने की कोशिश करता है

  3. Laravel में नौकरियां रद्द करें

  4. BookSleeve द्वारा रेडिस में सामग्री मूल्य कैसे खोजें

  5. जेएसओएन का प्रतिनिधित्व करने के लिए रेडिस स्ट्रिंग्स बनाम रेडिस हैश:दक्षता?