2008-10-21 3 views
32

वेब अनुप्रयोगों को एक डिफ़ॉल्ट ऐप पूल में रखने के लिए समर्पित एप्लिकेशन पूल रखने के पेशेवर और विपक्ष क्या हैं?वेब अनुप्रयोगों को एक डिफ़ॉल्ट ऐप पूल में रखने के लिए समर्पित एप्लिकेशन पूल रखने के पेशेवरों और विपक्ष

+0

यह स्पष्ट करना आपके लिए एक अच्छा विचार हो सकता है कि आप इंटरैक्टिव एप्लिकेशन या सामग्री वितरित करने वाली वेबसाइटों के बारे में बात कर रहे हैं या नहीं। इसके अलावा आप कितने ऐप/वेबसाइट्स के बारे में बात कर रहे हैं। इस जानकारी के आधार पर जवाब काफी अलग हो सकता है। – AnthonyWJones

उत्तर

20

सकारात्मक:

  • अनुप्रयोग, दूसरे से अलग कर रहे हैं, जब तक कि आईआईएस इसके साथ चला जाता है, ऐसा ऐप पूल लॉकिंग केवल बाहर अनुप्रयोगों है कि पूल में अलग ASP.NET runtimes के तहत अनुप्रयोगों को चलाने की
  • की क्षमता ले जाएगा , यदि
  • अधिक या कम महत्वपूर्ण अनुप्रयोगों के लिए अलग-अलग ऐप पूल सेटिंग्स रखने की क्षमता है तो 1.1 के लिए 1.1 के लिए एक पूल। उदाहरण के लिए एएसपी.नेट में एक कॉरपोरेट वेबसाइट अनलोडिंग को रोकने के लिए निष्क्रियता के __ मिनट के बाद बंद हो जाना चाहती है क्योंकि प्रतिक्रिया महत्वपूर्ण है। अन्य साइटों को इसकी आवश्यकता नहीं हो सकती है।
  • फाइल एक्सेस के संबंध में एक दूसरे से पूल सुरक्षित कर सकते हैं, तीसरे पक्ष के लिए बढ़िया, या अविश्वसनीय अनुप्रयोगों के रूप में वे एक बहुत ही सीमित उपयोगकर्ता खाते के तहत चला सकते हैं।

विपक्ष:

  • प्रत्येक अनुप्रयोग पूल, स्मृति और अपने स्वयं के प्रक्रिया का अपना बैंक है इसलिए अधिक संसाधनों
  • का उपयोग कर सकते हैं कुछ यह मुश्किल आप कई प्रक्रियाओं
  • है के रूप में आवेदन डिबग करने के लिए लगता है
+0

छोटी दुनिया। अच्छा जवाब, मिच! :) –

15

समर्पित ऐप पूल आम तौर पर एक साइट में दूसरों को प्रभावित करने से होने वाली समस्याओं को बनाए रखेंगे। यदि आप साइट पर ऐप पूल साझा करते हैं, तो आप बॉक्स पर सभी साइटें नीचे ला सकते हैं जब त्रुटि स्थिति केवल एक विशिष्ट साइट (या ऐप पूल) के लिए मौजूद होती है।

इसके अलावा, यदि आप एक ही वेब सर्वर पर एएसपी.Net के संस्करणों को मिश्रित कर रहे हैं, तो आपको कम से कम एएसपी.Net संस्करण के अलग-अलग ऐप पूल की आवश्यकता होगी, या प्रति वेबसाइट करें।

मैं ऐप पूल को अलग न करने का एक अच्छा कारण नहीं सोच सकता, ऐसा करना इतना आसान है।

15

ऐप पूल में साइटों को जोड़ने का प्राथमिक कारण स्मृति को संरक्षित करना है। कई w3wp.exe प्रक्रियाओं को चलाने में एक बड़ी मेमोरी ओवरहेड है। यदि आपके पास उन्हें विभाजित करने का कोई विशिष्ट कारण नहीं है, तो उन्हें एक साथ रखना बेहतर है।

+1

उस बारे में नहीं सोचा था ... अच्छा बिंदु। – JasonS

+3

कृपया जब आप उत्तर दें तो एक टिप्पणी जोड़ें। जिस व्यक्ति ने सवाल पूछा वह इस प्रतिक्रिया को पसंद करता था। क्या जवाब गलत है? क्यूं कर? इसके लिए – DOK

+0

+1। यह एक कंबल जवाब नहीं है। मेरे पास एक बहु-स्तर वाला ऐप है जो डेमो साइट के बगल में चल रहा है। डेमो साइट की सेवा और सामग्री साइटें सभी एक ही ऐप पूल में हैं, जबकि उत्पादन अलग है। संसाधनों को आवंटित करने का एक बहुत ही आसान तरीका है क्योंकि दोनों या तो दोनों को समझ में आता है। – Gats

5

मैं जेसन से सहमत हूं।

इसके अलावा, आप अलग-अलग ऐप पूल के लिए अलग-अलग उपयोगकर्ताओं (जैसे एक विंडोज खाता) निर्दिष्ट कर सकते हैं। यह उन उपयोगकर्ताओं को डेटाबेस में विभिन्न अनुमतियों के साथ स्थापित करने में सक्षम बनाता है। इससे सुरक्षा को बढ़ाने में मदद मिलती है, और यह सुनिश्चित करने में सक्षम बनाता है कि कौन सी वेबसाइट/उपयोगकर्ता डेटाबेस को मार रहा है, डेटाबेस प्रदर्शन समस्याओं का पता लगाने के दौरान उपयोगी है।

+0

के लिए समर्पित पूल का उपयोग करते हैं वास्तव में, [एप्लिकेशन पूल पहचान] (https: // ब्लॉग्स के साथ। iis.net/webdevelopertips/tip-98-did-you-now-the-default- appplication-pool-identity-in-iis-7-5- विन्डोज़-7-changed-from-networkservice-to-apppoolidentity), आप अतिरिक्त विंडोज खातों की आवश्यकता के बिना * एक विशिष्ट आवेदन पूल * डीबी अनुमति * प्रदान कर सकते हैं। यह आपके ग्राहक के डेटा की भी सुरक्षा करता है: यदि एक वेब एप्लिकेशन पनडुब्ड हो जाता है, तो हमलावर को अन्य डेटाबेस तक पहुंच नहीं मिलेगी। – Heinzi

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