بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

308
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
لینک کوتاه مطلب : http://birclick.com/Du1ji

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

عملکرد وب سرورهای Apache و Lite Speed و Nginx : این روزها لود سریعتر سایت ها و سرورها مهم ترین ملاک افراد در انتخاب وب سرور مناسب برای سایت و سرور خود می باشد.

اکثر افراد بدنبال وب سروری سریع و کم مصرف هستند . سالیان سال است که اکثر شرکت ها در زمینه میزبانی وب لینوکس از وب سرور Apache آپاچی استفاده میکنند که محبوبیت زیادی دارد.

در سالهای اخیر وب سرورهای حرفه ای تر و سریعتری تولید شده است که جدا از سرعت بهتر منابع کمتری نیز مصرف می کنند و برای میزبانی پر ترافیک بسیار بهتر از Apache عمل می کنند . از جمله این وب سرورها میتوان به دو وب سرور litespeed و nginx اشاره کرد.

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
آخرین آمار کاربران وب سرورهای Apache و Lite Speed و Nginx در سال ۲۰۱۷

یکی از سولاتی که ذهن اکثر افراد را درگیر می کند این است که بین وب سرورهای Apache و Lite Speed و Nginx کدام را انتخاب کنند . در این بخش از مجله اینترنتی بیرکلیک قصد داریم به بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx بپردازیم و با معایب و مزایای هر کدام از وب سرورها بیشتر آشنا شویم . همراه ما باشید .

وب سرور چیست ؟ 

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

وب سرور وظیفه ی ارائه صفحات کاربران را به آن ها دارد به گونه ای که هر گونه صفحه HTML همراه با هر نوع مطالب مانند تصاویر ، متن ها ، فایل شیوه نامه یا (CSS ) و همینطور جاوا اسکریپت ها را به ما بر می گرداند .

در واقعیت می توان گفت برنامه کامپیوتری میباشد که در خواست های HTTP را قبول میکند که همان مرورگر های وب هستند و طبق شیوه عملکردی که در بالا توضیح دادیم پاسخ ها را با یک سری اطلاعات به کاربر بر میگرداند که این پاسخ ها همان صفحاتHTML است .

ویژگی های وب سرور

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

۱ – اداره کردن مفاهیم استاتیک و همچنین داینامیک که از زبان های برنامه نویسی مختلفی مانند PHP ، ASP.net و ….. پشتیبانی میکند .

۲ – پشتیبانی از HTTPS جهت اتصال سالم و ایمن تر و استفاده کردن از پورت ۴۴۳ به جای ۸۰ .

۳ – فشرده سازی مطالب با استفاده از کد سازی GZIP و …

وب سرور دقیقا چگونه عمل میکند ؟

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

برای درک بیشتر نحوه عملکرد وب سرور باید گفت که مسیر تبادل اطلاعات بین یک مرورگر وب از راه دور و یک وب سرور به سادگی تعریف آن نیست .

ساختار مرورگر ها به گونه ای است که با استفاده از DNS های دامنه که آن را به عنوان یک آدرس IP منحصر به فرد برای هر سایت میشناسد میتواند از این طریق به سرور های خاصی دسترسی داشته باشد مرورگر پس از ایجاد ارتباط با سرویس دهنده های وب از طریق آدرسIP به درخواست صفحه مربوط به وب پاسخ می‌دهد .

اساس صفحات وب HTML است که این صفحات پیش فرض به طور رایج برای بسیاری از وب سایت ها فرمت Index.Html را دارد و به همین جهت است که هر آدرسی را که در مرورگر وارد میکنیم به طور پیش فرض فایل HTML را برای شما به عنوان پاسخ بر میگرداند و پس از این مرحله کد های Html بررسی میشود تا صفحه به نمایش در بیاید .

۱ – وب سرور Apache : 

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

آپاچی یکی از پر استفاده ترین وب سرور های دنیا می باشد . اپاچی در سال ۱۹۹۵ منتشر شد و پایداری و قدرت آن باعث شد تا نقشی کلیدی در دنیای WWW ایفا کند . [World Wide Web] پس از انتشار، محبوبیت اپاچی روز به روز افزایش یافت بصورتی که در سال ۲۰۰۹ حدود ۱۰۰ میلیون وبسایت توسط آپاچی سرو می شد . در گذشته نیز همانند حال Apache بر روی سیستم عامل های خانواده Unix (بیشتر لینوکس) برای سرویس دهی نصب می شد، هرچند این وب سرور میتواند روی سرور های ویندوزی نیز سرویس دهی نمایید .

در ویندوز اغلب Developer ها و برنامه نویس ها جهت اجرا و کامپایل کد خود از اپاچی استفاده می کنند . با افتخار اپاچی یک وب سرور متن باز میباشد که همین امر باعث توسعه روز افزون ان شده است. نام Apache برگرفته از نام یکی از قبیله های بومی آمریکاست که در استراتژی و جنگ مهارت بالایی داشتند.

آپاچی دارای امکانات زیادی میباشد که بسیاری از انها با کامپایل شدن به این وب سرور اضافه خواهد شد که قابلیت های Core این وب سرور را بشدت افزایش میدهد. دامنه این گسترش میتواند از تعدد زبان های برنامه نویسی تا ماژول های احراز هویت و … باشد.

از زبان های برنامه نویسی پر استفاده میتوان به Perl، Python، TCL و PHP اشاره کرد . ماژول های احرازهویت نیز شامل mod_access، mod_auth، mod_digest و mod_auth_digest می باشد . از دیگر نمونه ماژول های این وب سرور میتوان به Secure Socket Layer و Transport Layer Security یعنی mod_ssl، ماژول پروکسی mod_proxy، ماژول بازنویسی آدرس ها mod_rewrite اشاره کرد .

ماژول های زیادی برای این وب سرور منتشر شده است که امکانت کنترل و اعمال محدودیت های بسیاری را به شما میدهد. ماژول های ذکر شده جزو ماژول های داخلی Apache هستند که معمولا به همراه ان نصب و کامپایل خواهند شد .

امکانات HTTP Proxy و Web Server :

لود و استفاده از ماژول ها بصورت پویا

ماژول پردازش چندگانه درخواست ها [MPM]

بسیار مقیاس پذیر (براحتی ۱۰۰۰۰ اتصال را بصورت همزمان هندل میکند)

هندل کردن فایل های static و فایل های index

پشتیبانی از htaccess

پروکسی معکوس به همراه کش

مکانیزم Load Balancing بصورت همزمان

قابلیت Fault Tolerance و Failover به همراه بازیابی خودکار

WebSocket, FastCGI, SCGI, AJP و uWSGI به همراه پشتیبانی از کش

تنظیمات پویا

قابلیت TLS/SSL با SNI و پشتیبانی از OCSP stapling با استفاده از OpenSSL

پشتیبانی از IPV6

پشتیبانی از پروتکل HTTP/2

پشتیبانی از gzip

پشتیبانی از URL Rewriting

پشتیبانی از بازنویسی هدر ها و محتوا

اعمال محدودیت در کانکشن های فعال

محدودیت در تعداد درخواست های پردازش

اعمال محدودیت در پهنای باند

ردگیری Session و کاربر

WebDAV

پشتیبانی از perl و PHP به همراه اسکریپت های Lua

پشتیبانی از CGI

پوشه public_html برای هر کاربر

پشتیبان از XML

معرفی برخی از ماژول های توسعه یافته معروف به اختصار :

mod_rewrite : جهت تغییر در URL و دریافت کد response مربوط به HTTP استفاده می شود.

mod_deflate : محتوا و فایل ها را قبل از ارسال به مرورگر توسط gzip فشرده میکند و فایل های فشرده شده بصورت اتوماتیک توسط مرورگر از حالت فشرده خرج میشود.

mod_security : این ماژول به شما این قابلیت را میدهد که محتوا را از بر اساس post data ، ادرس URL و یا هرچیزی که در request ارسالی وجود دارد بلاک نمایید.

mod_speling : با این ماژول میتوانید حروف درون URL ها را برسی نمایید.(بر خلاف ویندوز لینوکس روی بزرگی و کوچکی حروف در URL حساس میباشد)

mod_cache : برای کش کردن فایل ها روی مموری و یا هارد دیسک استفاده میشود.

mod_setenvif : جهت بکارگرفتن متغیر برای شرایط و محیط های مختلف میباشد بطور مثل اگر مرورگر Firefox بود Action مورد نظر را انجاد دهد.

mod_auth : جهت اعتبار سنجی و یا احرازهویت استفاده میشود.

mod_ssl : با این ماژول میتوانید از HTTPS استفاده نمایید.

mod_bwlimited : کنترل پهنای باند، سرعت، تعداد کانکشن با استفاده از این ماژول امکانپذیر میباشد.

عملکرد و بازدهی :

بجای اجرای یک معماری تک پردازشی، آپاچی مازول های چند پردازشی [MultiProcessing Modules – MPMs] متنوعی را ارائه کرده است، که آن را قادر میسازد تا در مدهای Process-based, hybrid و event-hybrid سرویس دهی نمایید .

با این تفاسیر پیداست برسی و انتخاب مد کاری اپاچی با توجه به هندل کردن request های بیشتر در زمان معقول مهم میباشد. در تحویل محتوای Static اپاچی ۲.۲ بطور قابل ملاحظه ای کندتر از وب سرور Nginx و varnish عمل میکند. برای رفع این مشکل Event MPM را تولید کردند که از ترکیب پردازش ها و thread های متعدد برای هر پردازش برای مد event-based بصورت غیر همزمان استفاده میکند.

در نوع معماری و نوع پیاده سازی آن در اپاچی ۲.۴ عرضه شد تا performance بهتری را در این ورژن به شاهد باشیم، هرچند در benchmark هنوز هم سرعت پاسخ به درخواست های static نصف وب سرور Nginx است.برای سرویس دهی اپاچی فقط به HTTP محدود نبوده و محصولات بسیاری را جهت سرویس دهی تولید کرده است مانند پاسخ دهی به نرم افزار های جاوا و big data و… که جدا از سرویس HTTP میباشد.

Apache در یک نگاه

صفحه خانگی : http://httpd.apache.org

هزینه : کدباز، رایگان و بدون هزینه لایسنس

مزایا :

انعطاف پذیری بسیار بالا و امکان استفاده از ماژول های متنوع
دسترسی به سورس کد و امکان سفارشی سازی بالا
امنیت بالا در زمینه آلودگی ویروسی
انجمن های اینترنتی متنوع برای پرسش و پاسخ و رفع مشکل
امکان نصب روی سیستم های عامل مختلف ( ویندوز، لینوکس، مک و یونیکس )

سایت های معروفی که از این وب سرور استفاده می کنند :

Baidu, Wikipedia, PayPal, Apple, Huffington Post

معایب :

عدم پشتیبانی رسمی و تجاری
عدم استفاده بهینه از منابع سخت افزاری

 

۲ – وب سرور Nginx : 

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

وب سرور Nginx رایگان بوده و بصورت OpenSource عرضه شده است. این وب سرور در حال حاضر توسط پلتفرم های unix, windows و mac پشتیبانی میشود. حدود ۱۲ درصد از سایت های موجود از این وب سرور استفاده میکنند. این پروژه در سال ۲۰۰۱ شروع بکار کرد و توسط یک توسعه‌دهنده به نام ایگور سیسووف به مرحله اجرا درآمد تا در یکی از وب‌سایت‌های پرترافیک به نام رامبرلر عملیاتی شود. این وب‌سایت در سال ۲۰۰۸، روزانه بیش از ۵۰۰ میلیون درخواست HTTP داشته است.

Nginx میتواند طوری عملیاتی شود که محتوای dynamic مربوط به HTTP را با استفاده از FastCGI، برای اسکریپت از SCGI و برای برنامه های تحت سرور از WSGI استفاده نمایید. از این وب سرور نیز میتوان به عنوام نرم افزار Load Balancer استفاده کرد. Nginx از رویش asynchronous event-driven استفاده میکند تا Request ها را پاسخ دهد، این نوع معماری باعث میشود تا لود سرور در زمان High Load شدن قابل پیش بینی باشد.

امکانات HTTP proxy و Web server :

هندل کردن بیش از ۱۰۰۰۰ کانکشن همزمان با کمترین میزان مصرف حافظه (۲.۵ مگابایت برای ۱۰۰۰۰ اتصال HTTP)

هندل کردن فایل های static

Reverse Proxy با استفاده از Caching

پیاده سازی Load Balancing

قابلیت Fault tolerance

قابلیت TLS/SSL با SNI و پشتیبانی از OCSP stapling با استفاده از OpenSSL

Fast CGI, SCGI و uWSGI با پشتیبانی از chaching

سازگاری با IPV6

پشتیبانی از پروتکل HTTP/2

WebSockets و HTTP/1.1 اپگرید شده است.

قابلیت Streaming برای فرمت های FLV و MP4

اعتبار سنجی روی Webpage ها

قابلیت فعال سازی gzip

امکان URL rewriting

اعمال محدودیت روی connection ها

اعمال محدودیت تعداد پردازش ها

کنترل پهنای باند

کنترل بر اسال محدوده IP

ردگیری کاربران

پشتیبانی از زبان اسکریپتی Perl

فایروال برنامه های تحت وب با استفاده از ماژول Naxsi

پشتیبانی از SMTP, POP3 و IMAP

بهره گیری از تعداد زباده ماژول های third party

مفسر htaccess در این وب سرور پشتیبانی نمیشود. هرچند در دید اول این مورد نقص یا کمبود به نظر میرسد اما این مورد به دلایلی باعث افزار سرعت شده و کارایی وب سرور را افزایش خواهد داد.

معرفی برخی از ماژول های توسعه یافته معروف به اختصار :

Accept Language Module : دریافت زبان بصورت هدر parser

Audio Track for HTTP Live Streaming : تولید ترک صوتی برای پخش زنده صوت [HLS]

HTTP Drizzle : ارتباط مستقیم با MySQL

Upstream Fair Balancer : توضیع request های دریافت شده روی خلوت ترین سرور

Limit Upstream Connection : محدود کردن connection ها برای هر سرور روی Upstream

MP4 Streaming Lite : نمایش فایل تصویری H.264/MP4 با زمان مشخص شده به همراه پارامتر Start در Url

Naxsi : فایروال برای برنامه های تحت وب

nginx-ip-blocker : یک مسدود کننده IP کاربردی در حافظه اشتراکی

Notice : یک سرو کننده فایل های Static به درخواست های POST

PageSpeed : بازنویس مجدد صفحات وب جهت کاهش Latency در پاسخ و کاهش مصرف پهنای باند

HTTP Redis : ماژول پشتیبانی از Redis

Secure Download : تولید لینک دانلود با تاریخ انقضا

NGINX Upload Progress Moduled : ردگیری و گزارش مراحل آپلود

و …

NginX در یک نگاه

صفحه خانگی : http://wiki.nginx.org/Main

هزینه : کدباز، رایگان و بدون هزینه لایسنس

 

مزایا :

مشهور به خاطر سرعت و پایداری بالا
استفاده بهینه از منابع سخت افزاری
دسترسی به سورس کد و امکان سفارشی سازی بالا

سایت های معروفی که از این وب سرور استفاده می کنند :

WordPress.com, Pinterest, Tumblr, Instagram, CNet, Meetup.com, Weibo, Time.com

 

 

۳ – وب سرور Lite Speed :

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

این وب سرور توسط ۲% از وب سایت های جهان در حال استفاده میباشد. لایت اسپید بصورت تخصصی برای سایت های پربازدید طراحی شده و تجربه شخصی بنده هم در این خصوص این مورد را به من ثابت کرده است. زمانی که شما از اپاچی به لایت اسپید وب سرور را سوییچ میکنید لود سرور به ۱/۳ کاهش میابد! البته این مورد به شرابط و نوع سرویس دهی وب سایت شما نیز بستگی خواهد داشت. هرچند لایت اسپید بصورت free نیز قابل استفاده میباشد اما برای داشتن performance بهتر باید لایسنس ان را تهیه نمایید. پرداخت هزینه برای لایسنس زمانی توجیح مالی پیدا میکند که از هزینه های سمت سرور و شبکه شما کاسته شود.

LSWS با اپاچی سازگار است، به این معنی که تقریبا اکثر قابلیت های اپاچی مانند htaccess, Mod Security و Mod Rewrite را پشتیبانی میکند. لایت اسپید در سال ۲۰۱۶ جایگاه چهارم را در بیین وب سرور های در حال استفاده به خود اختصاص داده است و ممکن است علت این جایگاه این باشد که این وب سرور هزینه استفاده داشته و تقریبا رایگان نمیباشد. از دیگر نقاط مثبت ان میتوان به کاهش هزینه نگه داری و خریداری سخت افزار، امنیت . پایداری و performance بالا نام برد.

امکانات و قابلیت ها :

قابلیت پیاده سازی Load Balancing روی FastCGI و SCGI همچنین پشتیبانی از HTTP Proxy

پشتیبانی از chroot

مکانیزم برسی رویداد های وب سرور

پشتیبانی از URL Rewriting

پشتیبانی از پروکل های امنیتی مانند openssl و TLS/SSL

اعتبار سنجی مقابل سرور های LDAP

ابزار اماری RRDtool

پشتیبانی از Virtual host

پشتیبانی از ماژول ها

پشتیبانی از حالت مینیمال WebDAV

پشتیبانی از (Servlet (AJP

پشتیبانی از فشرده سازی و در ورژن های جدیدتر نیز Mod_deflate نیز پشتیبانی میشود.

بسیار کم حجم (کمتر از ۱ مگابایت)

طراحی شده بصورت تک پردازشی به همراه چند thread

معرفی برخی از ماژول های توسعه یافته معروف به اختصار :

Cache : فعال سازی کش

Lua : پشتیبانی از Lua

PageSpeed : ماژول افزایش سرعت

Registering : ماژول register

ماژول های دیگری نیز برای این وب سرور در دسترس میباشد که با جستجو در اینترنت قابل دسترسی میباشد.

Lite Speed در یک نگاه

صفحه خانگی : https://www.litespeedtech.com

هزینه : نیاز به لایسنس

مزایا :

قابلیت های استثنایی
سرعت
رابط کاربری
امنیت
قابل اعتماد

سایت های معروفی که از این وب سرور استفاده می کنند :

linuxpl.com,joomla.org

ترکیب Ngnix با Apache

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx
بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx

بی تردید بسیاری از اسکریپت ها و وب سایت ها، جز با Apache کمی در اجرا با مشکل روبرو هستند، بسیاری از وبمسترها قابلیت هایی که به کمک htaccess نصیبشان می شود را به کمی سریعتر لود شدن تصایر سایتشان می پسندند. از این رو کنار گذاشتن وب سرور Apache در هاست های اشتراکی کاری نادرست می باشد که موجبات نارضایتی و محدودیت در سرویس دهی می شود.

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

کدباکس، در هاست اشتراکی خود از وب سرور Ngnix به عنوان قدرتمندترین وب سرور حاضر، در کنار Apache به عنوان محبوب ترین وب سرور جهان بهره می برد. طبق آزمون ها پس از کانفیگ کامل این ترکیب بر روی هاست اشتراکی ما شاهد حدود ۳۰۰% افزایش سرعت پاسخدهی سرور به درخواست های همزمان بوده ایم و این یعنی ظرفیت ۳ برابری پاسخدهی. در عین حال استفاده کامل از Ngnix برای هندل داده های استاتیک و کش شده سرور نیز با تنظیمات خاص اعمال شد که در نتیجه موجب کاهش ۶۰% منابع مصرفی سرور شده است که روشن است منابع آزاد سرور در رزرو پردازش های سنگین تر می باشد.

تمامی میزبانان وبسایت ها باید از وب سرور جهت ارائه سرویس استفاده کنند، از این رو باید یکی از وب سرور های Apache [یکی از پر استفاده ترین وب سرور ها] IIS  Internet Information Server] , Nginx, GWS, lighttpd, LiteSpeed و… را جهت ارائه سرویس انتخاب نمایند.

معمولا وب سرور ها در کنار پکیجی از پروتکل ها و سرویس ها مانند سرویس های SMTP,FTP و… اقدام به سرویس دهی میکنند.قبل از انتخاب نوع وب سرور باید نوع سرویسی که قرار است روی سرور ارائه شود بطور کامل مشخص شود تا با توجه به نیاز خود وب سرور را انتخاب نمایید. توجه داشته باشید انتخاب اشتباه ممکن است در سرور های Critical Mission موجب قطع سرویس دهی گردد، هرچند در سرور های Low priority تغییر نوع وب سرور مشکل خاصی ایجاد نخواهد کرد. علاوه بر موارد ذکر شده انتخاب وب سرور گاها به پلتفرم سیستم عامل، امنیت و زبان برنامه نویسی استفاده شده نیز مرتبط میباشد.

بررسی عملکرد وب سرورهای Apache و Lite Speed و Nginx نوشته شده در تاریخ : توسط کاربر
به اشتراک بگذارید...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

1 + یازده =