Internet Information Services که با نام IIS نیز شناخته میشود، یک وبسرور قدرتمند است که توسط شرکت مایکروسافت توسعه یافته است. این وبسرور بر روی سیستم عامل ویندوز اجرا میشود و برای تبادل محتوای استاتیک و داینامیک وب با کاربران اینترنت مورد استفاده قرار میگیرد. IIS میتواند برای میزبانی، استقرار و مدیریت برنامههای وب پیادهسازی شده با استفاده از فناوریهایی مانند ASP.NET و PHP استفاده شود.
آنچه در این مقاله میخوانید:
سرور IIS برای چه مواردی استفاده میشود؟
سرور IIS برای چه مواردی استفاده میشود؟
قبل از اینکه در مورد کاربردهای IIS صحبت کنیم، بهتر است بدانیم که مفهوم IIS دقیقا چیست. IIS از پروتکلهای متنوعی مانند HTTP، SMTP و FTP برای ارتباط و تبادل دیتا با کلاینتها و رایانههای راه دور استفاده میکند. IIS به عنوان یک محصول اصلی ویندوز با ویندوز سرور یکپارچه شده و بر روی سیستم عامل ویندوز نیز اجرا میشود. شما میتوانید با استفاده از ابزارهای شخص ثالث (third-party utilities) وبسرور IIS را بر روی سیستم عامل لینوکس و macOS نیز اجرا کنید؛ اما IIS اغلب بر روی این سیستم عاملها نسبت به سیستم عامل ویندوز عملکرد ضعیفتری دارد.
به طور معمول از وبسرور Microsoft IIS برای موارد زیر استفاده میشود:
برای آشنایی با سرور ابری این مقاله را مطالعه کنید
میزبانی وب سایت
سرور برنامه IIS میتواند میزبان برنامههای تحت وب تجاری، وبسایتها و خدمات WCF (Windows Communication Foundation) باشد. نزدیک به 30 درصد از وبسایتها بر روی IIS اجرا میشوند.
گزارشگیری
IIS server logs اطلاعات مهمی درباره سرور و وبسایت شما، مانند الگوهای استفاده، مشکلات عملکردی و … را ارائه میدهد.. تجزیه و تحلیل این لاگها به شما کمک میکند تا مشکلات وبسایت خود را به سرعت شناسایی و آنها را برطرف کنید.
درخواست فیلتر
سرور مایکروسافت IIS یک ماژول Request Filtering را ارائه میدهد که میتوانید از آن برای اسکن و فیلتر کردن درخواستهای غیر معمول کاربران استفاده کنید. میتوانید توسط این ماژول قوانین فیلترینگ ترافیک را بر اساس پارامترهایی مانند پسوند فایل، طول URL و حداکثر اندازه رشته اعمال کنید.
پشتیبانی بومی
IIS که توسط شرکت مایکروسافت توسعه یافته است، از چارچوب و کتابخانههای Microsoft .NET پشتیبانی میکند و به توسعهدهندگان این امکان را میدهد که به سرعت برنامههای وب ASP.NET را در IIS بسازند و آنها را مدیریت کنند.
مزایای استفاده از سرور IIS
استفاده از سرور IIS مزایای زیادی برای کاربران دارد که در ادامه آنها را توضیح میدهیم:
امنیت قوی
وبسرور IIS دارای ویژگیهای احراز هویت، صدور مجوز و کنترل دسترسی است که سطح امنیتی برنامه وب شما را بالا میبرد. در این وبسرور میتوانید به صورت جداگانه حسابهای ادمین سیستم و اپلیکیشن را برای دسترسی granular-level ایجاد کنید. سایر ویژگیهای امنیتی IIS شامل فیلتر کردن درخواستها با توجه به ترافیکهای ورودی لیست سفید/لیست سیاه، مسدود کردن IPهای داینامیک، رمزگذاری SSL و TLS، فشردهسازی صفحات وب و کنترلهای امنیتی مختص سرویسدهنده FTP میشود.
Application Pools
Application Pools به شما کمک میکند برای امنیت و دسترسی بهتر به برنامههای وب خود، آنها را در IIS تفکیک کنید. یک Application Pool دارای چند برنامه کاربردی است که توسط تعدادی worker processes در IIS مدیریت میشود. یک worker processes درخواستهای مشتری را بهطور خاص برای یک application pool مدیریت میکند. تفکیک برنامههای وب باعث میشود که خرابی یا مشکل در یک برنامه pool خاص بر برنامههای موجود در pool دیگر تاثیری ندارد.
مقیاسپذیری و قابلیت اطمینان
شما میتوانید یک زیرساخت وب مقیاسپذیر و قابل اعتماد را با IIS Web Farm پیادهسازی کنید. این زیرساخت به شما امکان میدهد وبسایتهای پر ترافیک را بر روی چندین سرور IIS با تعادل بار و مسیریابی درخواست برنامه (ARR) میزبانی کنید. یک متعادلکننده بار، ترافیک را با استفاده از الگوریتمهایی پیچیده بین چندین سرور در IIS server farm توزیع میکند. در همان زمان، ARR بهترین سرور محتوا را برای هر درخواست تعیین میکند. IIS server farm همچنین با حذف و اضافه کردن سرور، قابلیت مدیریت ترافیک وبسایت را به صورت داینامیک افزایش میدهد.
لیست معیارهای عملکرد سرور IIS
مانیتورینگ عملکرد وبسرور IIS برای اطمینان از تجربه کاربری روان برای کاربران بسیار مهم است. هر گونه خطای کوچک در سرور شما ممکن است باعث کندی زمان پاسخگویی وبسایت شود. کند بودن یک وبسایت باعث میشود که کاربران با سرعت بیشتری آن را ترک کنند. شما میتوانید عملکرد برنامه وب را از طریق چک کردن پینگ HTTP و نرم افزار مانیتورینگ عملکرد بررسی کنید. پینگ HTTP قابلیتهای مانیتورینگ اولیه را به شما میدهد؛ در حالی که نرم افزار مانیتورنیگ عملکرد اطلاعات دقیقتری در مورد عملکرد سرور به شما ارائه میدهد. میتوانید از شمارنده عملکرد ویندوز برای شناسایی معیارهای عملکرد IIS استفاده کنید.
در زیر برخی از معیارهای کلیدی عملکرد IIS آورده شده است:
استفاده از CPU و حافظه
با استفاده از IIS worker processes به طور مداوم بر مصرف کلی CPU و حافظه سرور نظارت کنید. برای جلوگیری از کمبود حافظه و منابع، که میتواند باعث کاهش عملکرد وب سرور IIS شما شود، اطمینان حاصل کنید که مصرف کلی CPU و حافظه در محدوده مجاز است.
زمان آپدیت و میزان پاسخگویی
بررسی در دسترس بودن سرور یا وبسایت برای اطمینان از تجربه کاربری یکپارچه بسیار مهم است. با ابزارهای مانیتورینگ عملکرد، میتوانید در دسترس بودن وبسرور IIS خود را بررسی کنید و زمان پاسخ آن را با مقادیر پایه از پیش تعیین شده مقایسه کنید تا ببینید آیا انتظارات شما را برآورده میکند.
حجم کار/ترافیک
حجم کاری یا تعداد درخواستهای HTTP دریافت شده یا پردازش شده توسط سرور Microsoft IIS را در هر ثانیه ردیابی کنید تا بتوانید افزایش غیرمعمول ترافیک را سریعا تشخیص دهید. همچنین میتوانید با توزیع یکسان حجم کاری بر روی همه سرورها از عملکرد ضعیف و مشکلاتی مانند تاخیر بالای وبسایت جلوگیری کنید. این عملکرد همچنین در هنگام مدیریت چند وبسایت در IIS نیز مفید است.
خطاها و استثنائات ASP.NET
سرور برنامه IIS میتواند برنامههای تحت وب به زبان ASP.NET را به راحتی میزبانی کند. این وبسرور از محیط اجرای واقعی .NET برای پردازش بیشتر درخواستهای مشتری استفاده میکند. شما باید به طور مداوم استثناها و خطاهای ASP.NET کنترل نشده را در طول درخواست کامپایل، پیش پردازش و اجرا ردیابی کنید. اطمینان حاصل کنید که تعداد خطاهای برنامه وب زیر سطح آستانه باقی می ماند، زیرا افزایش تعداد آنها می تواند بر عملکرد وبسرور IIS شما تاثیر بگذارد.
کارایی پردازش ASP.NET
تعداد کل درخواستها در صف برنامههای کاربردی ASP.NET را بررسی کنید. تعداد بیش از حد درخواستها اجرای آنها را به تاخیر میاندازد و بر عملکرد وبسرور IIS تاثیر منفی میگذارد. برای شناسایی مشکلات احتمالی معیارهایی مانند تعداد درخواستهای در حال اجرا، زمان اجرای هر درخواست و زمان انتظار برای پاسخ را از طریق ابزارهای مانیتورینگ سرور به صورت منظم بررسی کنید.
لاگهای سرور IIS
لاگهای سرور IIS برای مانیتورینگ سرور مفید هستند؛ زیرا یک رکورد دقیق از هر درخواست HTTP به سرور وب شما را ذخیره میکنند. میتوانید ویژگی ثبتنام را از طریق مدیریت IIS فعال کنید تا اطلاعات مهم وبسایتهای خود را در قالبهای مبتنی بر متن ASCII مانند Microsoft IIS، NCSA و W3C ذخیره کند. این فایلهای لاگ شامل چندین فیلد با اطلاعات دقیق هر درخواست، مانند آدرس IP هر کاربر، تاریخ و زمان درخواست، نام سرور و زمان ارسال پاسخ میباشد. گزینه logging پیشرفته در IIS شما را قادر میسازد تا فیلدهایی را به فایلهای گزارش اضافه یا آن را حذف کنید، مکان فایل لاگ را تغییر دهید و خطمشیهایی را برای جابجایی فایل لاگ ایجاد کنید.
تجزیه و تحلیل این آرشیو دادهها میتواند به شما کمک کند آمارهای کلیدی وب سایت از جمله تعداد کل بازدیدهای وب سایت، بازدیدکنندگان برتر، صفحات محبوب و … را ردیابی کنید. تجزیه و تحلیل لاگهای خطای IIS همچنین میتواند به شما کمک کند تا مشکلاتی را که کاربران در تعامل با وبسایت شما با آن مواجه هستند شناسایی و برطرف کنید. داشتن چنین اطلاعات دقیقی میتواند به شما در بهینهسازی عملکرد وبسایت کمک کند.
سوالات متداول:
IIS چیست و چرا استفاده می شود؟
Internet Information Services که با نام IIS نیز شناخته میشود، یک وبسرور مایکروسافت است که بر روی سیستم عامل ویندوز اجرا و برای تبادل محتوای وب استاتیک و پویا با کاربران اینترنت استفاده میگردد. IIS میتواند برای میزبانی، استقرار و مدیریت برنامههای کاربردی وب با استفاده از فناوریهایی مانند ASP.NET و PHP استفاده شود.
وظیفه اصلی IIS چیست؟
IIS اطلاعاتی را در مورد مکان فایلهای محتوا، هویت کاربرانی که به آن فایلها دسترسی دارند، نحوه تفکیک فایلهای محتوا،تاریخ ارسال درخواستها و دریافت پاسخها، تعداد کل بازدیدکنندگان وبسایت و … را ذخیره میکند.