मैंने एक डब्ल्यूसीएफ सेवा लिखी है जो NetTcpBinding
में स्ट्रीम किए गए ट्रांसफरमोड का उपयोग करके फ़ाइलों के किसी भी आकार को बदलना चाहिए, और System.IO.Stream
ऑब्जेक्ट।डब्ल्यूसीएफ नेट टीसीपी बाइंडिंग बुफर्ड बनाम स्ट्रीमिंग प्रदर्शन समस्याएं
प्रदर्शन परीक्षण चलाते समय, मुझे महत्वपूर्ण प्रदर्शन समस्या मिली। फिर मैंने इसे बुफर्ड ट्रांसफरमोड के साथ परीक्षण करने का फैसला किया और देखा कि प्रदर्शन दो गुना तेज है!
क्योंकि मेरी सेवा बड़ी फ़ाइलों को स्थानांतरित करनी चाहिए, इसलिए मैं सर्वर और क्लाइंट साइड पर बड़ी फ़ाइलों पर स्मृति प्रबंधन ओवरहेड की वजह से बस बुफर्ड ट्रांसफरमोड में नहीं रह सकता।
स्ट्रीम किए गए ट्रांसफरमोड को बुफर्ड ट्रांसफरमोड से धीमा क्यों किया जाता है? स्ट्रेम्ड प्रदर्शन को बेहतर बनाने के लिए मैं क्या कर सकता हूं?
वास्तव में आप क्या माप था पढ़ा था? संदेश का परिवहन? ग्राहक से जवाब के साथ क्लाइंट से सर्वर तक एक राउंड ट्रिप? – GaussZ
मैं सर्वर पर कॉल को मापता हूं और स्ट्रीम को वापस करने के लिए प्रतीक्षा करता हूं, फिर ब्लॉक का उपयोग करने में 64k बफर के साथ पूरी स्ट्रीम पढ़ता हूं। – DxCK
@DxCK: अब आपकी राय क्या है? किसका इस्तेमाल किया जाना चाहिए? मेरे पास स्थानांतरित होने के लिए डेटा के बड़े और छोटे आकार दोनों हैं। – Sreekumar