IIS 7.5 Features – IIS 7.0 को फिर से Fine-Tune करने के बाद Microsoft ने इसका IIS 7.5 Version Release किया है, जो कि Web Developers व Administrators की जरूरतों को काफी हद तक और बेहतर तरीके से Fulfill करने में मदद करता है। साथ ही इसमें जिन एक Features को Add किया गया है, उनका प्रयोग मूल रूप से किसी ASP.NET Application की Performance व Effectiveness को Improve करने के लिए किया जाता है।
ASP.NET 7.5 में किए गए Improvements मूल रूप से ASP.NET Developers के लिए ज्यादा उपयोगी हैं, Administrator के लिए नहीं। हालांकि IIS 7.5 में कई Administrator-Level Extensions को भी Add किया गया है, जो कि IIS 7.0 के साथ ही Add-ons के रूप में Release हुए थे, जैसे कि Application Request Routing व URL Rewrite Modules
जहां Application Request Routing Module HTTP Requests को Predefined Settings के आधार पर Traffic के Proper Balancing को Ensure करने के लिए Content Servers पर Forward करता है। जबकि URL Rewrite Module एक Highly Configuration Module है, जिसका प्रयोग Incoming Requests को Block, Redirect या Rewrite करने के लिए किया जाता है।
जबकि एक Developer के लिहाज से देखें तो Application के Starting व Security को Harden करने से सम्बंधित कई Additional Features को भी IIS 7.5 में Add किया गया है, जो कि एक Web Developer के लिए काफी उपयोगी हैं।
Autostarting Web Applications
कई Applications शुरू होने व First Request Serve करने में काफी समय लेते हैं। कई तरह के कारणों से Applications बार-बार Restart होते हैं तथा कई बार तो ये Applications Site-Administrator के Controls से भी बाहर चले जाते हैं।
यदि किसी Application को First Request Fulfill करने से पहले काफी Hard Initialization Task को Perform करना पडे, तो उपरोक्तानुसार किसी भी कारण से होने वाला प्रत्येक Restart उस Application की Performance को काफी ज्यादा प्रभावित करेगा और ऐसा कोई आसान तरीका नहीं होता, जिसके माध्यम से पता चल सके कि आखिर Web Application की Performance को मूल रूप से कौनसा Factor प्रभावित कर रहा है।
इसलिए Application की Performance को Improve करने के लिए कई तरह के Alternative Approaches Use किए जाते हैं, जिसके अन्तर्गत उन Data को Cache किया जाता है, जो कि Heavy Performance Issues का कारण बनते हैं, जैसे कि HDD से File Stream के रूप में Data Retrieve या Store करने अथवा Underlying Database से Data को Retrieve या Store करने में लगने वाला समय सबसे ज्यादा होता है, क्योंकि HDD की Speed हमेंशा ही RAM व CPU की तुलना में काफी कम रहती है।
ASP.NET 4 व IIS 7.5 में एक ज्यादा बेहतर तरीके को Use करते हुए Performance Issues को Resolve करने की कोशिश की गई है। जिसे Autostart नाम दिया गया है। इसके अन्तर्गत किसी Application Pool को Start करने के लिए तथा ASP.NET Applications को First HTTP Request Accept करने से पहले Initialize करने के लिए एक Controlled Approach Use किया जाता है।
हम IIS को Inform करने के लिए IIS की Configuration File को Edit करते हैं कि हम IIS से क्या चाहते हैं और फिर अपने स्वयं के Components को IIS पर Pass करते हैं, जो कि First Request से पहले ही Application को Startup के लिए तैयार कर देता है। यानी हमारा ASP.NET Application पहली Request को Receive करने से पहले ही IIS 7.5 को First Request प्राप्त करने के लिए पूरी तरह सेतैयार कर देता है और ऐसा करने के लिए ASP.NET का Preloaded Component एक निश्चित Time Duration पर Automatically IIS 7.5 को Trigger करता रहता है।
Application Pool Custom Identities
IIS 6.0 oIIS 7.0के अन्तर्गत लम्बे समय से Worker Process NETWORKSERVICE Accountके अन्तर्गत Run होता रहा है, जो कि तुलनात्मक रूप से Windows के अन्दर ही Created एक Low-Privileged, Built-In Identity है। लेकिन एक Single Account को ही Concurrently Run हो रही बहुत सारी Services के लिए Use करने पर जितनी मदद मिलती है, उससे कहीं ज्यादा प्रकार की समस्याओं का सामना करना पडता है। सरल शब्दों में कहें तो समान Account के अन्तर्गत Run होने वाली विभिन्न Services एक दूसरे को प्रभावित कर सकती हैं।
IIS 7.5 में Worker Processes, Default रूप से Automaticallyएक Unique Identity के अन्तर्गत Run होते हैं और प्रत्येक Newly Create होने वाले Application Pool के लिए ये Unique Identity Transparently Create होती हैं। जिसे Create करने के लिए Use होने वाली Underlying Technology को Virtual Accounts के नाम से जाना जाता है तथा सभी Latest Windows Operating System द्वारा इसे Support किया जाता है।
हालांकि यदि हम चाहें तो IIS Manager का प्रयोग करते हुए अपने Application Pool की Identity को Manually भी Change कर सकते हैं, जैसाकि अगले चित्र में Advance Settings Dialog Box द्वारा दर्शाया गया है: