وب سرور های apache و iis

مقایسه تخصصی وب سرور های apache و iis

امروزه نرم افزارهاي وب سرور بسياري ارائه شده اند كه از آن جمله مي توان وب سرور های apache و iis ، انجين اكس ، GWS ,  lighttpd ، Oversee و … اشاره نمود . همواره انتخاب مناسب ترین وب سرور یکی از دغدغه های توسعه دهندگان وب بوده بنابراین برای راهنمایی هرچه بیشتر شما در اين مقاله به معرفي دو وب سرور پر طرفدار و مقایسه عملکرد و کارایی آن ها پرداخته ایم .

وب سرور های apache و iis

وب سرور های apache و iis
وب سرور های apache و iis

apache

آپاچی وب سروری است که ذاتا پایه و اساس اکثر نرم افزارهای Open Source یا متن باز دنیا است و تقریبا اکثر نرم افزارهای تحت وبی که بصورت Open Source نوشته می شوند از این وب سرور استفاده می کنند .

طبق آمار ارائه شده توسط وب سایت معتبر NetCraf در آوریل 2014 ، آپاچی با 42% درصد بیشترین سهم بازار سرویس دهنده های وب را بخود اختصاص داده است. آپاچی نرم افزار رایگان و متن باز است و قابل اجرا برروی سیستم عامل هایی از جمله Linux, Unix, Windows و Mac OS است .

 بسیاری از ویژگی های آپاچی به عنوان ماژول های کامپایل شده برای گسترش قابلیت های اصلی آن اجرا می شوند. این می تواند از پشتیبانی از زبان برنامه نویسی زبان در سمت سرور تا طرح های تأیید اعتبار گسترش یابد .

از دیگر تفاوت های وب سرور های apache و iis مربوط به برخی از رابطهای زبان مشترک است که از Perl، Python، Tcl و PHP  پشتیبانی می کنند. ماژول های احراز هویت محبوب شامل mod_access، mod_auth، mod_digest و mod_auth_digest، جانشین mod_digest است. آپاچی همچنین از هاست مجازی پشتیبانی می کند.

این امکان یک دستگاه را قادر می سازد تا هم host باشد و به طور همزمان چندین وب سایت مختلف را ایجاد کند و تعدادی از رابط های کاربری گرافیکی  خوب توسعه یافته را ارائه دهد. یکی دیگر از ویژگی های قابل توجه ، فشرده سازی صفحه وب برای کاهش اندازه آنها بر روی http است که این نیز توسط یک ماژول خارجی به نام mod_gzip حاصل می شود .

امنیت یکی از نقاط قوت Apache است. این وب سرور تحت لیسانس GNU ارائه شده است . در این وب سرور رفع مشکلات و توسعه ویژگی های جدید توسط جامعه توسعه دهنده ها انجام می شود و توسط بنیاد نرم افزاری آپاچی، یک شرکت غیر انتفاعی که از وب سرور آپاچی پشتیبانی می کند، مدیریت می شود.

آپاچی یک وب سرور بسیار پیشرفته است که در آن ویژگی ها و امکانات به عنوان ماژول هایی معرفی می شوند که قابلیت های اصلی نرم افزار را گسترش می دهند.البته برخی از ماژول ها همراه با خود آپاچی هستند ، و این در حالی است که کاربران می توانند با توجه به این که این نرم افزار Open Source است ماژول های جدید دلخواهشان را با ویژگی های اضافی ایجاد و منتشر کنند.

در ادامه تفاوت های وب سرور های apache و iis بایستی به پکبج کامل LAMP اشاره کرد که معمولا در سیستم عامل های لینوکس نصب می شود ، و برنامه ها با زبان PHP و با پایگاه داده MySQL توسعه می یابند. در واقع بسته نرم افزاری LAMP مخفف کلمات Linux Apache MySQL Perl PHP می باشد .

اگر چه وب سرور آپاچی به طور کلی عملکرد خوبی دارد، اما CPU و حافظه زیادی مصرف می کند و این به دو دلیل است : یکی تعداد زیاد افزونه های آن که استفاده نمی شوند، دیگری نیز این واقعیت است که آپاجی یک سرور مبتنی بر پردازش است. این بدان معنی است که هر اتصال به یک موضوع جداگانه نیاز دارد.


بیشتر مطالعه کنید ...سئو معنایی چیست؟مهم ترین راهکارها برای کسب رتبه بالاتر

وب سرور های apache و iis
وب سرور های apache و iis

IIS

در بخش دوم مقایسه وب سرور های apache و iis باید افزود که IIS  وب سروری با رتبه دوم ، دارای سهم بزرگی در بازار است (32٪ با توجه به نظرسنجی که در بالا ذکر شد). درواقع خود این وب سرور رایگان است ، اما از آنجایی که این وب سرور تنها می تواند در سیستم عامل های ویندوز اجرا شود ، بنابراین هزینه های license به صورت غیر مستقیم این وب سرور را تحت تأثیر قرار می دهد.

همچنین از تفاوت های عمده وب سرور های apache و iis میتوان به این نکته اشاره نمود که iis یک نرم افزار اختصاصی است، به این معنی که کد قفل شده و برای عموم قابل دسترس نیست. ویژگی های جدید، رفع اشکالات و پشتیبانی توسط خود مایکروسافت ارائه می شود.

اگرچه سرعت توسعه این وب سرور به اندازه سرعت توسعه توسط جامعه توسعه دهنده ها نیست اما این توسعه می تواند بیشتر قابل اعتماد باشد.درمورد شباهت های وب سرور های apache و iis میتوان گفت که IIS  نیز مانند Apache ، دارای تعداد زیادی از ویژگی های مفید است که ویژگی های این وب سرور به عنوان افزونه در اختیار کاربران گذاشته شده است.

افزونه های IIS تنها توسط مایکروسافت توسعه می یابد. بر خلاف آپاچی، IIS بر روی سیستم عامل های ویندوز نصب شده است و برنامه های آن ازASP.NET و پایگاه داده MSSQL استفاده می کنند. بسته نرم افزار IIS بصورت ITPRO مخفف Windows IIS MSSQL ASP.NET وجود دارد.

نکته ی ساده ای که در مقایسه وب سرور های apache و iis وجود دارد مزیتی است که IIS بر آپاچی وب سرور دارد این است که این وب سرور بر روی سیستم عامل آشنا و شناخته شده ای به نام ویندوز نصب و راه اندازی می شود و طبیعتا افراد بیشتری می توانند براحتی از آن استفاده کنند و یادگیری آن به نسبت ساده تر از وب سرور آپاچی است .

وب سرور IIS این توانایی را دارد که از پلتفرم مایکروسافتی .NET Framework مایکروسافت پشتیبانی کند و اسکریپت های ASPX را براحتی اجرا می کند

به عنوان نکته ی تخصصی در مقایسه وب سرور های apache و iis ، بر اساس برخی از آزمون ها، IIS سریعتر از آپاچی است (هرچند هنوز هم از nginx کندتر است).

وب سرور iis مقدار کمتری از پردازنده را مصرف می کند، دارای زمان پاسخ بهتری است و می تواند جوابگوی درخواست های بیشتری را در هر ثانیه باشد .

با این حال، لازم به ذکر است که این آزمون 100٪ قابل اعتماد نیست، به این علت که این نرم افزارها معمولا در پچ های نرم افزاری مختلف اجرا می شوند (برنامه های IIS با استفاده از چارچوب دات نت در ویندوز اجرا می شوند ، در حالی که Apache معمولا برنامه های PHP را در سیستم عامل های لینوکس اجرا می کند).


بیشتر مطالعه کنید ...آموزش زبان PHP 

آزمون عملکرد وب سرور های apache و iis

این آزمون با تعداد متعددی از مشتریان انجام شده است ، درخواست ها به ازای هر مشتری و درخواست ها به ازای هر ثانیه انجام می شود.

هر دو نرم افزار وب سرور از همان سخت افزار در نمونه های آزمایشی AWS استفاده می کنند:

  • Intel Xeon CPU — 2.4 GHz
  • 1GB RAM memory

ماشین مجازی آپاچی دارای نرم افزارهای زیر است :

  • Ubuntu 14.04
  • Apache
  • MySQL
  • PHP 5

از سوی دیگر، نرم افزارهای دستگاه IIS نیز بدین صورت خواهند بود:

  • Windows Server 2012
  • IIS 8.0
  • MSSQL
  • ASP .NET 4.5

این آزمون پارامترهای زیر را مورد بررسی قرار می دهد :

  1. تاخیرزمان پاسخ (در ms) – مدت زمان بین ارسال درخواست و دریافت پاسخ اولیه
  2. زمان نمونه (در ms) – زمان مورد نیاز برای انجام کامل درخواست ، یعنی تأخیر + پاسخ

اندازه گیری ها با استفاده از ابزار معیار سنجش محبوب Apache JMeter انجام می شود. JMeter بدین گونه پیکربندی خواهد شد که 20 اتصال را طی 10 ثانیه گسترش دهد

یعنی 2 درخواست در هر ثانیه.

نکته : توجه داشته باشید که تعداد نتایج فقط باید بین نرم افزارهای وب سرور مقایسه شود و نه به عنوان اعداد مطلق چون تعداد اتصالات همزمان به کامپیوتری بستگی دارد که در آن Apache JMeter در حال اجرا است.

وب سرور های apache و iis
وب سرور های apache و iis
وب سرور های apache و iis
وب سرور های apache و iis

نتیجه :

در این تست، آپاچی در هردو زمینه زمان و زمان پاسخ  به طور قابل توجهی سریعتر از IIS عمل کرد . برای تحقیقات بیشتر، جالب است که همان آزمایش را روی پیکربندی سخت افزاری قوی انجام دهیم. همچنین جالب است که سرعت یک برنامه PHP 7 را در Apache 2 و ASP.NET در IIS 8 مقایسه کنید.

منبع : urmiasite.com

 

دیگر مقالات مرتبط :