مقايسه Nginx و Apache از نظر فني رقيب جوان براي آپاچي

 

آپاچي، وب‌سرور آزاد و منبع‌بازي است كه بتازگي پا به بيست و پنج سالگي گذاشته است. اين وب‌سرور قدرتمند نقش زيادي در پشتيباني وب‌سايت‌ها، بخصوص در زمان اوجگيري محبوبيت اينترنت داشته است و امروزه يكي از محبوب‌ترين سرورها به‌شمار مي‌رود، اما آيا آپاچي هنوز بهترين وب‌سروري است كه مي‌توان استفاده كرد؟nginx (انجين‌اكس) سرور خوبي است كه مي‌تواند سريع و كم‌هزينه باشد و در سرويس‌دهي محتواي ثابت، قدرتمند عمل كند. ادعاي انجين‌اكس مصرف پايين حافظه است و براي اجرا در سرورهاي شخصي مجازي توصيه مي‌شود.آپاچي را مي‌توان از جهاتي با مايكروسافت ورد مقايسه كرد. اين وب‌سرور ميليون‌ها گزينه دارد كه از اين ميان شايد به شش تاي آنها نياز باشد. انجين‌اكس، شش گزينه بيشتر ندارد كه پنج مورد را سريع‌ و مفيدتر از آپاچي انجام مي‌دهد.

معماري

آپاچي، سروري مبتني بر پروسس است، در حالي كه انجين‌اكس بر مبناي event كار مي‌كند.انجين‌اكس و Lighttpd دو سرور مشهور ناهمخوان (Asynchronous) به‌شمار مي‌روند، در حالي كه آپاچي بهترين سرور پروسسي است. مزيت استفاده از معماري ناهمخوان، قابليت بزرگ شدن است. در سرورهاي پروسس محور، هر ارتباط همزمان نياز به نخي (Thread) دارد كه باعث سرريز بيش از حد مي‌شود. يك سرور ناهمخوان، رويداد محور است و مي‌تواند درخواست‌ها را در يك يا چند نخ، كنترل و مديريت كند.سرورهاي پروسس محور معمولا در زمان بار اندك بخوبي مي‌توانند با سرعت سرورهاي ناهمخوان كار كنند، اما وقتي بار سرور زياد مي‌شود، ميزان رم مصرفي آنها زياد و بازدهي‌شان به همين اندازه كم مي‌شود. همچنين بازدهي اين سرورها روي سخت‌افزارهاي ضعيف‌تر پايين است و مثلا در محيط‌هايي مانند VPS كه منابع محدود در اختيار سيستم قرار دارد، بازدهي خوبي ندارد.براي مثال، استفاده از ده هزار درخواست همزمان باعث مي‌شود Nginx از چند مگابايت رم استفاده كند، در حالي كه آپاچي احتمالا چند صد مگابايت رم مصرف خواهد كرد.

قابليت‌ها

انجين‌اكس همانند آپاچي از تمام قابليت‌هاي يك سرور وب پشتيباني مي‌كند:

ـ سرويس‌دهي به فايل‌هاي استاتيك

ـ پشتيباني از SSL‌/‌TLS

ـ ميزبان‌هاي مجازي (Virtual Hosts)

ـ پروكسي معكوس

ـ بالانس كردن بار سرور

ـ فشرده‌سازي

ـ سطوح دسترسي

ـ دوباره نوشتن URLها (URL Rewriting)

ـ گزارش‌گيري مخصوص

ـ افزونه‌هاي سمت سرور

ـ WebDAVمحدود

ـ استريم فايل‌هايFLV

ـ پشتيباني از FastCGI

انجين‌اكس نصب و راه‌اندازي ساده‌اي دارد و تا حد زيادي امن است. هر چند مزيت اصلي استفاده از Nginx نسبت به آپاچي، بازدهي و كارايي بهتر آن است. دريافت بيشترين كارايي از VPS و پيشرفت يك وب‌سايت با حفظ كارايي از قابليت‌هاي انجين‌اكس است.البته آپاچي نيز نسبت به انجين‌اكس قابليت‌هايي دارد كه از ميان آنها، مي‌توان به موارد زير اشاره كرد:

ـ احراز هويت كوتاه

ـ CGI

ـ كنسول مديريتي

بازدهي

انجين‌اكس در ارائه فايل‌هاي استاتيك به درخواست‌هاي موازي، حافظه بسيار كمتري مصرف مي‌كند و دليل اصلي آن نيز رويدادمحور بودن آن است. اين سرور نيازي به ايجاد پروسس يا نخ جديد براي هر درخواست ندارد و به‌همين دليل، استفاده از حافظه بسيار كم خواهد شد.وردپرس، انجين‌اكس را به اين دليل پياده‌سازي كرد كه بتواند 8000 درخواست را در ثانيه بالانس كند.فرض كنيد وب‌سايتتان روزانه ده‌ها ميليون بازديدكننده دارد. انجين‌اكس مي‌تواند پروكسي معكوس اين درخواست‌ها را (كه برابر با چند صد درخواست در يك ثانيه مي‌شود) روي يك سرور و با حافظه كمتر از 24 مگابايت پاسخ دهد.اگر همين فشار روي آپاچي وارد شود‌ (بعد از استفاده از هزار پروسس و ميزان زيادي رم) آپاچي بازدهي خود را از دست مي‌دهد و بيش از 400 مگابايت رم براي سرويس‌دهي استفاده و حدود 20 مگابايت در هر ساعت حافظه نشت مي‌كند.

سادگي استفاده

وب‌سايت Justin.tv (كه به استريم زنده ويدئوها مي‌پردازد) دليل استفاده از انجين‌اكس خود را اين طور بيان كرده است:قبلا از Pound براي بالانس بار سرور استفاده مي‌كرديم. استفاده از CPU به‌طور ثابت حدود 20درصد بود و در زمان‌هاي شلوغي به 80درصد مي‌رسيد. وقتي تحت بار ترافيكي بوديم، سرور معمولا از كار مي‌افتاد. پس از اين‌كه به Nginx آمديم، سرور حدود 3درصد حافظه مصرف مي‌كرد. بارگذاري صفحه‌ها سريع‌تر به‌نظر مي‌رسيد و پيكربندي آن آنقدرساده بود كه گمان نمي‌كرديم تمام كارهاي سرور را انجام دهد.

محبوبيت

سال 2009 آپاچي نخستين وب‌سروري بود كه بيش از صد ميليون وب‌سايت را ميزباني مي‌كرد. از سال 1996 تاكنون، اين وب سرور محبوب‌ترين سرور HTTP در وب بوده است. سال 2009، اين وب‌سرور حدود 46‌درصد كل وب‌سايت‌ها و 66 درصد وب‌سايت‌هاي شلوغ را ميزباني كرده است.سهم بازار آپاچي از اوايل سال 2010 با رشد خوبي مواجه بوده و Nginx نيز از سال 2009 به بعد جايگاه خوبي در بازار براي خود دست و پا كرده است.

مجوزها

انجين‌اكس تحت مجوز Simplified BSD منتشر شده كه نسخه ساده‌ شده‌اي از مجوز BSD است. اين انتخاب باعث شده همكاري ميان انجين‌اكس و پروژه‌هاي مشابه كه با مجوزهاي ديگر منتشر شده‌اند، محدود شود.آپاچي از مجوز آپاچي 2 استفاده مي‌كند كه معمولا مجوز آسان‌گيري قلمداد مي‌شود. البته اصلاح نرم‌افزار و توزيع مجدد آن با محدوديت‌هايي مواجه است كه شباهت‌هايي به مجوز Simplified BSD دارد.





تاريخ : دو شنبه 4 دی 1391برچسب:, | | نویسنده : مقدم |