मेरे Azure क्लाउड सेवा पढ़ता है और नेट भंडारण पुस्तकालय (1.7) का उपयोग कर धब्बे को लिखता है। ब्लॉब्स सेवा के समान डाटा सेंटर में हैं। मेरे पहले कंटेनर में, ऑपरेशन तेज़ होते हैं (10ms का क्रम)। मेरे दूसरे कंटेनर में वे बहुत धीमे होते हैं (आमतौर पर लगभग 2 एस या 14 एस, बीच में ज्यादा नहीं)। दोनों CloudBlob.DownloadToStream() को मेमोरीस्ट्रीम में डेटा का उपयोग कर स्थानांतरित कर रहे हैं। फ़ाइल आकार आमतौर पर 100kB से कम होते हैं।अकसर-पहुंच वाले Azure ब्लॉब स्टोरेज को धीमा क्यों किया जाता है?
अब मैं मानता हूं कि मैंने उपरोक्त सभी को प्रदर्शित करने में सक्षम होने के लिए उचित परीक्षण स्थापित नहीं किया है - मैं बस अपनी लॉग फाइलों से जा रहा हूं, इसलिए ब्लॉब्स तक पहुंचने के तरीके में कुछ सूक्ष्म अंतर हो सकता है । क्षमा करें अगर यह मामला सामने आता है।
- तेजी से कंटेनर अक्सर एक्सेस किया जाता है, और धीमी गति से कंटेनर (प्रतिदिन अनुरोध हजारों की संख्या में) काफी बार बार (शायद 200 अनुरोध:
वैसे भी, इन दो कंटेनरों के बीच केवल प्रासंगिक अंतर प्रतीत हो रहा है हर दिन)।
- तेजी से कंटेनर आम तौर पर आइटम है कि जल्द ही बाद में दिलवाया जाता है संग्रहीत करता है। धीमी कंटेनर अक्सर उन चीज़ों को लोड कर रहा है जो दिन पहले संग्रहीत हो सकते थे।
प्रश्न: किन कारणों से बार बार-पहुँचा धब्बे के लिए ब्लॉब प्रदर्शन पर असर पड़ेगा? इसे तेजी से बनाने के लिए मैं क्या कर सकता हूं?
(मुझे नहीं पता कि कैसे एज़ूर ब्लॉब स्टोरेज लागू किया गया है, लेकिन उपरोक्त के आधार पर मुझे लगता है कि डेटा को भंडारण सरणी में सहेजा गया है और वीएम के गतिशील रूप से स्केलिंग संग्रह के माध्यम से पहुंचाया गया है, जिनमें से प्रत्येक धब्बे के नि: स्मृति कैशिंग लागू करता है। इस प्रकार ~ 14s देरी होती है जब Azure यह VMs ऊपर स्पिन। ~ 2s देरी होती है जब एक वीएम उपलब्ध है की जरूरत है पाता है, लेकिन यह एक भौतिक डिस्क पर डेटा नीचे का शिकार करने की जरूरत है (लगता है बल्कि धीमी), और 10 एमएमएस विलंब तब होता है जब आइटम को इन-मेमोरी कैश में संग्रहीत किया जाता है, या ऐसा कुछ।)
यहां 2015 में, 2s या 14s की तरह, और कभी-कभी 45 से नीचे। लेकिन मैंने कुछ भी नहीं किया है। –