का उपयोग करने का प्रदर्शन प्रभाव मैं जावा ईई 6 वेब एप्लिकेशन लिख रहा हूं और ऑब्जेक्ट को सीधे बनाने और उपयोग करने के विरुद्ध इंजेक्शन ऑब्जेक्ट का उपयोग करते समय मैं एक महत्वपूर्ण प्रदर्शन प्रभाव देख रहा हूं। ओवरहेड 50-60 एमएमएस प्रति विधि कॉल के आदेश का प्रतीत होता है।सीडीआई
उदाहरण के लिए, गैर-इंजेक्शन 150 विधि कॉल का उपयोग लगभग 500 मिमी लेते हैं जबकि इंजेक्शन ऑब्जेक्ट का उपयोग करते हुए 150 विधि कॉल 12,000 - 13,000ms लेते हैं। परिमाण अंतर और फिर कुछ का एक आदेश।
क्या यह सामान्य है?
मैं जेबॉस एएस 7.1.1 फ़ाइनल पर चल रहा हूं जो सीडीआई को संभालने के लिए वेल्ड का उपयोग करता है।
इंजेक्शन ऑब्जेक्ट को सिंगलटन बीन (javax.ejb.Singleton एनोटेशन के माध्यम से) के रूप में परिभाषित किया जाता है। क्या यह समस्या का हिस्सा बन सकता है? या यह सिर्फ वेल्ड प्रॉक्सी धीमा होने के कारण है?
यदि आप प्रदर्शन के बारे में अधिक परवाह करते हैं, तो आप जावा ईई का उपयोग करके * रास्ते * खराब हो जाते हैं। मुझे गंभीरता से संदेह है कि प्रॉक्सीड इंटरसेप्टर आपके कोड में बाधा बनने जा रहे हैं। उस ने कहा, मैं क्या करूँगा अवरोधक विधि कॉल के अंदर डीबगर में ब्रेकपॉइंट डालता है यह देखने के लिए कि प्रॉक्सी के कितने परतों को पार करना है - यह संभव है कि आपके पास कुछ कॉन्फ़िगरेशन समस्या हो जो उन्हें अत्यधिक मात्रा में लागू करने का कारण बनती है । – millimoose
इंजेक्शन ऑब्जेक्ट को बदलने के बजाय @Singleton की बजाय अनुप्रयोगों को बढ़ाया गया है जो परिमाण के क्रम से चीजों को बढ़ा देता है। मुझे कोई जानकारी नहीं है कि अगर किसी के पास इस पर कोई प्रतिक्रिया है तो क्यों दिलचस्पी होगी। – Troup
यह ... विषम है।कॉल चेन में अंतर क्या है, यह देखने के लिए मैं अभी भी डीबगर में इसे दबाऊंगा। अन्यथा हम एक अस्पष्ट लक्षण के कारण का अनुमान लगाने के लिए अटक गए हैं। आम तौर पर मेरा मानना है कि इस ओवरहेड का कारण आपको * एओपी होना चाहिए, लेकिन यह किसी भी चीज़ से अधिक अनुमान है। – millimoose