32 बिट / 64 बिट सर्वर के बीच ASP.NET प्रदर्शन में कमी


9

हम वर्तमान में ASP.NET 4 में अपग्रेड करते हुए अपने 32 बिट उत्पादन सर्वर को एक अधिक शक्तिशाली 64 बिट सर्वर पर अपग्रेड करने की प्रक्रिया में हैं। हालांकि, कुछ लाइट लोड परीक्षण करने पर हमें प्रदर्शन में कमी होने लगती है!

मैंने 20 उपयोगकर्ताओं के लगातार लोड के साथ एक सरल भार परीक्षण बनाया है जो कुछ सरल उपयोग के मामलों का प्रदर्शन कर रहा है और परिणामों की तुलना करता है:

पृष्ठ प्रतिक्रियाएँ

जैसा कि आप देख सकते हैं, उच्चतम प्रदर्शन विन्यास मौजूदा 32 बिट सर्वर ASP.NET 2.0 के साथ है।

आप देख सकते हैं कि 64 बिट मशीन पर 32 बिट मोड में आईआईएस चलाकर, इसकी मौजूदा 32 बिट सर्वर से काफी तुलनीय है, लेकिन 64 बिट सर्वर पर 64 बिट मोड में आईआईएस चलाने पर - प्रदर्शन काफी खराब है। मैं अनिश्चित हूं कि ऐसा क्यों है, क्योंकि नया सर्वर बेहतर है।

किसी कारण से, हर बार जब मैं 64 बिट में IIS के साथ परीक्षण चलाता हूं, तो प्रारंभ में एक बड़ा स्पाइक होता है, फिर यह बाहर निकलता है लेकिन 32bit की तुलना में अधिक प्रतिक्रिया समय के साथ। 32 बिट मोड में IIS चलाने पर स्पाइक चला जाता है।

64 बिट स्पाइक

ध्यान दें कि परीक्षण के बीच ऐप पूल / ऐप को पुनरारंभ नहीं किया जा रहा है, फिर भी स्पाइक लगातार है और अन्य कॉन्फ़िगरेशन की तुलना में प्रतिक्रिया अधिक है।

तो - मेरा सवाल यह है कि क्या किसी को कोई भी विचार है कि यह क्यों है? क्या कोई विन्यास सेटिंग है जिसे मुझे सेट करने की आवश्यकता है? क्या किसी के पास कुछ संकेत हैं कि मैं कैसे अंतर को कम कर सकता हूं?

वर्तमान उत्पादन सर्वर: विन सर्वर 2003 - 32 बिट - IIS6

नया सर्वर: विन सर्वर 2003 R2 - 64 बिट - IIS6

जवाबों:


4

प्रलेखन के अनुसार, एमएस वेब पर 64 बिट सर्वर पर 32 बिट ऐप पूल चलाने का पुन: प्रयास करता है, वैसे भी (आंतरिक रूप से) अधिक मेमोरी का उपयोग नहीं करना चाहिए।

32 बिट ऐप्स हमेशा अधिक प्रदर्शनशील होते हैं - छोटे पॉइंटर्स का अर्थ है निर्देशों के एक विशिष्ट सेट के लिए आवश्यक कम मेमोरी जो बेहतर कैश हिट अनुपात का मतलब है।

64 बिट प्रक्रियाएं केवल सीमित अर्थ रखती हैं - जब एक प्रक्रिया को वास्तव में अधिक मेमोरी की आवश्यकता होती है। अगर आप अपने वेब फ्रंट एंड को सिर्फ इतना ही रखते हैं (तो सामने वाला) ऐसा कोई कारण नहीं है जिससे इसे कभी भी ज्यादा मेमोरी की जरूरत न हो;)

शीर्ष पर, यह वास्तव में अधिक प्रदर्शनशील संस्करणों में अपग्रेड करने के लिए कुछ समझ में आता है। IIS6 ने बड़े तीम प्रदर्शन को चूसा - IIS 7.5 एक बहुत बेहतर है, ESPECIALLY अगर आप ASP.NET / प्रबंधित कोड चलाते हैं।


दिलचस्प है, धन्यवाद। मुझे नहीं लगता कि आपके पास अनुशंसा के साथ एमएस डॉक का लिंक है, इसलिए मैं आगे कुछ और पढ़ सकता हूं? दुर्भाग्य से मैं II7 + का उपयोग नहीं कर सकता क्योंकि मैं
Win2k3 से

IIS.net - दिशा-निर्देशों की मेजबानी;) 7 आईआईएस,)
टॉम टॉम

"जैसा कि वेब ऐप को अधिक मेमोरी का उपयोग नहीं करना चाहिए, जैसा लगता है" बिल गेट्स ने 80 के दशक में कहा था :) क्या आपके पास दिशानिर्देशों के लिए एक लिंक है?
फ्रेड्रिक जोहानसन

2

हमने अपने विंडोज 2K3 सर्वर पर यह कोशिश की और एक ही बात मिली, मैं उस समय यहां नहीं था, लेकिन यह कुछ ऐसा करने के लिए था जिस तरह से एमएस ने 64Bit .net को 2K3 में लागू किया (यह निश्चित नहीं है कि जो व्यक्ति ने मुझे बताया है वह एमवीपी है। मैं उस पर अपनी बात रखूंगा।)

और बस आपको यह बताने के लिए कि यदि आप Win2K8 में जाते हैं, तो आप वही देख सकते हैं, जैसा कि मैंने अपने सर्वर के साथ यहां किया था और उसी प्रदर्शन को मुद्दा बनाया। मुझे जो बताया गया है और 64Bit का लाभ लेने के लिए थोड़ा सा पढ़ना। नेट एकीकृत पाइपलाइनों के उपयोग की सिफारिश की गई है ( http://msdn.microsoft.com/en-us/magazine/cc135973.aspx )

क्षमा करें, यह आपके प्रश्न का उत्तर नहीं देता है लेकिन मुझे लगा कि मैं आपको बता दूंगा कि आप इस मुद्दे को देखने वाले एकमात्र व्यक्ति नहीं हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.