2009-06-30 20 views
5

दोस्तों/गल्स के साथ भयानक प्रदर्शन हमारी वेबसाइट के साथ भयानक प्रदर्शन कर रहा है जो बाद में आवेदन के रूप में डब्ल्यूसीएफ का उपयोग करता है। हम संदेश स्तर की सुरक्षा और प्रमाण पत्र (पारस्परिक प्रमाणीकरण) का उपयोग कर रहे हैं। हर पृष्ठ है कि हम हम निम्न उपाय अपनाते हैं डेटा की जरूरत मेंडब्ल्यूसीएफ और प्रमाणपत्र (पारस्परिक प्रमाणीकरण)

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) 

     Dim loChannelFactor As New ChannelFactory(Of OurReference.IWCFChannel)("ClientEndpoint") 
     loChannelFactor.Open() 
     Application.Add("ChannelFactory", loChannelFactor) 
End Sub 

:: हम आवेदन वस्तु में चैनल कारखाने कैशिंग रहे

Dim Proxy = DirectCast(voWebApp("ChannelFactory"), ChannelFactory(Of OurInfoReference.IOurInfoChannel)).CreateChannel 

Proxy.DataCall() 

If roWCFService IsNot Nothing Then 
     CType(roWCFService, ICommunicationObject).Close() 
     roWCFService = Nothing 
End If 

इसके अलावा मैं establishsecuritycontext = सच निर्धारित किया है।

हम किसी दोषपूर्ण प्रॉक्सी स्थिति के साथ गड़बड़ होने की वजह से प्रॉक्सी को कैश करना नहीं चाहते हैं। जहां तक ​​मुझे पता है कि चैनल स्टैक को कैशिंग करना वैसे भी पर्याप्त होना चाहिए। जब मैं ट्रैकिंग चालू करता हूं तो मैं केवल पहली कॉल के बजाय एससीटी कमांड का एक गुच्छा देख रहा हूं जैसे कि मैं उम्मीद करता हूं। क्या कोई जानता है कि क्या हो रहा है। क्या हम चैनल फैक्ट्री को गलत तरीके से कैश कर रहे हैं?

"MakeCert माइक्रोसॉफ्ट द्वारा प्रदान किए गए टूल परीक्षण प्रमाणपत्र के विकास के दौरान इस्तेमाल किया जा सकता बनाने के लिए है:

धन्यवाद, Ncage

+0

कृपया इस लेख का संदर्भ लें जो आपकी मदद कर सकता है। http://webservices20.blogspot.com/2009/01/wcf-performance-gearing-up-your-service.html – Verybiztalker

उत्तर

5

जैसे आप एक ceritificate प्राधिकारी से प्रमाणपत्र का उपयोग करके इसे हल कर सकता है लगता है एक उत्पाद (केवल विकास और परीक्षण उद्देश्यों के लिए)। इन प्रमाणपत्रों में प्रदर्शन की समस्याएं भी होती हैं, कुछ क्रिप्टोग्राफिक ऑपरेशंस धीरे-धीरे प्रदर्शन कर सकते हैं जब वे उपयोग किए जाते हैं। वास्तविक प्रमाणपत्र प्राधिकरण से जारी प्रमाणपत्रों में यह समस्या नहीं है, और यह एक ज्ञात मुद्दा है। "

http://weblogs.asp.net/cibrax/archive/2006/08/08/Creating-X509-Certificates-for-WSE-or-WCF.aspx

संपादित करें: हो सकता है अतिरिक्त गतिविधि जब एक सत्र के बनाने प्रारंभिक हाथ मिलाना के कारण है। डब्ल्यूसीएफ डिफ़ॉल्ट प्रति कॉल है, यह प्रत्येक कॉल के लिए एक नया सत्र बनाया गया है।

[ServiceContract (सत्र = true)]

कि सत्र को बनाए रखने और प्रारंभिक हाथ मिलाना बचने के सकता है: आप के साथ अपने अनुबंध अंकन की कोशिश कर सकते।

+0

दरअसल हम प्रवेश प्रमाण पत्र का उपयोग कर रहे हैं। हम स्वयं हस्ताक्षरित certs का उपयोग नहीं कर रहे हैं। – coding4fun

+0

दिलचस्प तथ्य, मैं भविष्य के शोध के लिए इसे नोट करूंगा। – jpierson

0

मुझे एक समान समस्या याद है हालांकि यह 18 महीने पहले अच्छा था। मुझे this मिला, जबकि मैंने इस मुद्दे को हल करने के लिए त्वरित रूप से देखा। यह मदद कर सकता है, जब मैं जो खोज रहा था उसे ढूंढने पर मैं अपनी प्रतिक्रिया संपादित करूंगा!

+0

मैंने वास्तव में इसे पहले देखा था। जबकि मैं लड़के से सहमत हूं कि यदि आपके पास एक कॉल करने वाले अज्ञात क्लाइंट का एक गुच्छा है और एक कॉल करना है और फिर डिस्कनेक्ट करना है तो उसकी सिफारिशें काम करेंगी लेकिन मुझे यह बेहद असंभव लगता है।इसकी संभावना है कि आप एक क्लाइंट चाहते हैं जो एकाधिक कॉल को जोड़ता है और बनाता है और हर बार संचार स्टैक बनाने की ज़रूरत नहीं है। यदि आपने इसे सही सेट अप किया है तो पहले कॉल को एसिंक + सिंक कॉल जारी करना चाहिए और उसके बाद प्रत्येक कॉल को सिंक एन्क्रिप्शन कॉल जारी करना चाहिए। – coding4fun

0

अतिरिक्त एससीटी/आरएसटी कॉल सुरक्षा संदर्भ स्थापित कर रहे हैं। यदि आप प्रत्येक कॉल पर प्रॉक्सी को फिर से बनाते हैं, तो सुरक्षा संदर्भ अनचाहे ओवरहेड होता है। इसे बंद करें।

जिस तरह से आप कारखाने का उपयोग करते हैं वह ठीक है। हालांकि, प्रॉक्सी की आपकी त्रुटि प्रबंधन और समापन नहीं है। सुनिश्चित करें कि आप किसी भी मामले में प्रॉक्सी बंद या बंद कर दें। अनुशंसित पैटर्न के लिए msdn जांचें।

क्या आप कुछ आंकड़े प्रदान कर सकते हैं कि खराब प्रदर्शन कितना खराब है?

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