2014-04-08 2 views
5

हमारे पास एक SQL सर्वर डेटाबेस द्वारा समर्थित एक वेब अनुप्रयोग है।क्या एक SQL सर्वर पर 1000 के SQL उपयोगकर्ता/लॉग इन रखने के लिए प्रदर्शन विचार हैं?

अब तक, हम एप्लिकेशन स्तर लॉगिन के लिए SQL सदस्यता प्रदाता का उपयोग कर रहे हैं। SQL सर्वर पर बैकएंड कॉल Web.config

हमारे ग्राहक से एक नई अनुपालन आवश्यकता बताती है कि सभी एप्लिकेशन उपयोगकर्ताओं के पास पृष्ठभूमि में अपना स्वयं का समर्पित SQL खाता होना चाहिए।

मैंने पहले से ही इसे प्रोटोटाइप कर लिया है और इसका एक वर्किंग वर्जन है। एप्लिकेशन में डीबी कनेक्शन संदर्भ वर्तमान उपयोगकर्ता प्रति सत्र के लिए कॉन्फ़िगर किया गया है, और पृष्ठभूमि में SQLMembership खाता -> डेटाबेस यूज़र -> एसक्यूएल सर्वर लॉगिन के बीच मैपिंग है। पासवर्ड SQLMembership उपयोगकर्ता मार्गदर्शिका के SHA1 हैश के रूप में गणना योग्य है।

यह सब ठीक काम करता है, लेकिन मुझे आश्चर्य है कि 1000 सर्वर सर्वर लॉग इन, डेटाबेस उपयोगकर्ता (+ सभी अनुदान अनुमतियां) होने के परिणामस्वरूप डेटाबेस पर कोई प्रदर्शन विचार है या नहीं।

उत्तर

4

लॉगिन आईडी की संख्या प्रदर्शन पर कोई वास्तविक प्रभाव नहीं पड़ेगी। आप अन्य मुद्दों के साथ समाप्त हो सकते हैं - सभी लॉग इन प्रबंधित करना, पासवर्ड सुरक्षित रखना आदि

प्रदर्शन पर असर प्रदर्शन डेटाबेस में गैर-पूल कनेक्शन को बढ़ाएगा। प्रत्येक कनेक्शन डेटाबेस सर्वर पर रैम की एक छोटी राशि खाएगा।

अंत में, अधिकांश एप्लिकेशन डेटाबेस स्तर पर नहीं, एप्लिकेशन स्तर पर ऑडिट ट्रैकिंग करते हैं। आपको यह सुनिश्चित करना होगा कि डेटाबेस लॉगिन पूरे एप्लिकेशन लाइफसाइक्ल में संरक्षित है (उदाहरण के लिए यदि आप पुनर्स्थापना करते हैं तो क्या होता है?)

+0

धन्यवाद शॉन ... अंततः डीबी को क्लस्टर ए 9 उदाहरणों की एक जोड़ी के साथ अपग्रेड किया जाएगा रैम के oodles तो उम्मीद है कि एक मुद्दा नहीं है। पुनर्स्थापना के लिए, हम केवल प्रोड -> ऊट (डीआरपी को छोड़कर) से पीछे जाते हैं। हमने डीबी उपयोगकर्ता और सर्वर लॉगिन मैपिंग पोस्ट-पुनर्स्थापना को छोड़ने और पुन: उत्पन्न करने के लिए cmd लाइन टूल्स बनाए हैं जो हमारे परीक्षणों में हमारे लिए ठीक काम कर रहे हैं। एक बात मैंने देखी है क्योंकि यूएटी में यूजर # का है, क्यूए को बहाल करने का समय बढ़ता है। मुझे लगता है कि यह सभी उपयोगकर्ता और अनुमति मैपिंग के कारण है (संभावित रूप से मार्गदर्शिका हुड के नीचे बदल रही हैं और बैकपैक पुनर्स्थापना के दौरान रीमेप किया जा रहा है) –

+0

ने भी कहा होगा, मैं सर्वर पर सीधे उपयोगकर्ता/लॉग इन प्रबंधित करने से बच रहा हूं, मेरे पास 1 या सभी एसक्यूएल उपयोगकर्ता और लॉग इन ड्रॉप करने के लिए स्क्रिप्ट हैं, और एक कमांड लाइन उपकरण सभी sqlmembership उपयोगकर्ताओं पर पुन: उत्पन्न करने के लिए, और 1 या सभी डेटाबेस उपयोगकर्ता/लॉगिन प्रविष्टियों को पुन: उत्पन्न करता है। समान रूप से जब वेब ऐप के माध्यम से नए खाते बनाए जाते हैं, तो यह एक ही समय में सर्वर लॉगिन/उपयोगकर्ता बनाता है। –

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