मैं उन्हें दूसरे शब्दों के साथ कहने की कोशिश करता हूं।
एक सर्वर में आपके पास कई asp.net साइट हो सकती हैं जो एक साथ चलती हैं। हर एक साइट एक ऐप डोमेन है ।
आपको उनमें से प्रत्येक को एक एप्लीकेशन पूल में असाइन करना होगा । कई एप्लिकेशन डोमेन (साइट) में एक ही एप्लिकेशन पूल हो सकता है, और क्योंकि उनके पास एक ही एप्लिकेशन पूल है जो वे एक ही प्रक्रिया के तहत चलाते हैं, और एक ही खाते के तहत - और उनके पास पूल की समान सेटिंग्स हैं। यदि यह पूल पुनरारंभ होता है, तो उस पूल के अंतर्गत सभी साइटें पुनरारंभ हो जाती हैं।
अब प्रत्येक पूल में एक या अधिक कार्यकर्ता प्रक्रिया हो सकती है । प्रत्येक कार्यकर्ता प्रक्रिया एक अलग कार्यक्रम है जो आपकी साइट को चलाता है, उनके अकेले स्थिर चर हैं, वे अलग-अलग स्टॉप कॉल आदि करते हैं। विभिन्न कार्यकर्ता प्रक्रिया एक साथ संवाद नहीं करते हैं, और डेटा का आदान-प्रदान करने का एकमात्र तरीका आम फाइलों या एक सामान्य डेटाबेस से है। यदि आपके पास एक से अधिक कार्यकर्ता प्रक्रिया है और उनमें से एक लंबे समय की गणना करता है, तो दूसरा इंटरनेट कॉल संभालने और सामग्री दिखाने का ध्यान रख सकता है।
जब आप किसी एकल पूल में कई कार्यकर्ता प्रक्रिया को असाइन करते हैं तो आप तथाकथित वेब गार्डन बनाते हैं और यदि आपकी कंप्यूटर एक प्रोसेसिंग मशीन है तो आपकी साइट एक से अधिक कंप्यूटरों से चलाना पसंद करती है।
प्रत्येक कार्यकर्ता प्रक्रिया में कई सूत्र हो सकते हैं।
अधिक कार्यकर्ता प्रक्रिया आपको कैसे प्रभावित करती है:
जब आपके पास एक कार्यकर्ता प्रक्रिया होती है तो सब कुछ अधिक सरल होता है, आपके आवेदन के बीच सभी स्थिर चर समान होते हैं, और आप lock
उन्हें सिंक्रनाइज़ करने के लिए उपयोग करते हैं।
जब आप एक से अधिक कार्यकर्ता प्रक्रिया असाइन करते हैं, तब भी आप lock
स्थिर वैरिएबल के लिए उपयोग करना जारी रखते हैं , तो स्थिर वैरिएबल आपकी साइट के कई रनों के बीच भिन्न नहीं होते हैं, और यदि आपके पास कुछ सामान्य संसाधन हैं (जैसे डिस्क पर थंबनेल का निर्माण) फिर आपको अपनी कार्यकर्ता प्रक्रिया को सिंक्रनाइज़ करने की आवश्यकता है Mutex
।
एक और नोट। इसकी आवाज़ यह है कि जब आप अधिक कार्यकर्ता प्रक्रिया करते हैं तो आपके पास अधिक चिकनी अतुल्यकालिक पृष्ठ लोड हो सकते हैं। Asp.net के सत्र हैंडलर के साथ एक छोटा मुद्दा है जो एक पेज लोड के लिए पूरी प्रक्रिया को लॉक करता है - यह अच्छा है और अच्छा निर्भर नहीं है यदि आप इसे जानते हैं और इसे संभालते हैं - या इसे बदलते हैं।
तो एक साइट के बारे में केवल कई कार्यकर्ता प्रक्रिया के बारे में बात करते हैं। यहां आपको उस समस्या का सामना करना पड़ता है जिसे आपको अपने सामान्य संसाधन परिवर्तन के साथ सिंक्रनाइज़ करने की आवश्यकता है Mutex
। लेकिन वे पृष्ठ / हैंडलर जो सत्र का उपयोग करते हैं, वे अतुल्यकालिक नहीं हैं क्योंकि सत्र उन्हें लॉक करता है। यह शुरुआत के लिए अच्छा है क्योंकि आप कई बिंदुओं के इस सिंक्रनाइज़ेशन को अपना स्व बनाने से बचते हैं।
इस विषय पर कुछ प्रश्न:
उसी सत्र को साझा करने के दौरान किसी अन्य वेब ऐप को संसाधित करते समय वेब ऐप को ब्लॉक किया
गया है। वेब सेवा के लिए jQuery Ajax कॉल तुल्यकालिक
ASP.NET प्रतीत होता है सर्वर पृष्ठों को प्रोसेस नहीं करता है अतुल्यकालिक रूप से
ASP.Net के सत्र को पूरी तरह से बदल देता है
अब यह सत्र लॉक विभिन्न साइटों को प्रभावित नहीं करता है।
विभिन्न साइटों के बीच अधिक काम करने की प्रक्रिया एक साइट को लंबी चलने की प्रक्रिया के साथ दूसरे को अवरुद्ध करने में मदद नहीं कर सकती है।
विभिन्न साइटों के बीच अधिक पूल भी मदद कर सकते हैं, क्योंकि प्रत्येक पूल में कम से कम एक काम करने की प्रक्रिया होती है, लेकिन प्रक्रिया खोजकर्ता का उपयोग करके अपने आप को याद रखें और देखें, प्रत्येक काम करने की प्रक्रिया आपके कंप्यूटर की अधिक मेमोरी लेती है, और 16G मेमोरी के साथ एक बड़ा सर्वर और एक SQL सर्वर में बहुत अधिक भिन्न कार्य प्रक्रिया नहीं हो सकती है - उदाहरण के लिए 100 साझा साइटों वाले सर्वर पर, आपके पास 100 भिन्न पूल नहीं हो सकते।