
مقایسه Apache2 و NginX
زمان، پول است. این جمله در زمان تجارت و تبلیغ معنای بیشتری میابد. اکنون زمان را بدست آورید.
مقایسه Apache2 و NginX
در این مقاله کامل و تخصصی به این موضوع خواهیم پرداخت که چرا nginx در عمل بهتر از apache عمل میکند.
طبق آخرین آمار اعلام شده توسط وبسایت Netcraft در سال 2017 دو وب سرور nginx و apache جز محبوبترین و پراستفادهترین وب سرورها در جهان انتخاب شدند.
Apache یک وب سرور متنباز برای پروتکل http است که بر روی دو پلتفرم ویندوز و لینوکس قابل نصب و پیادهسازی است. این وب سرور به صورت امن، قابل انعطاف و کاملاً sync شده با پروتکل http عمل میکند.
از زمان شروع فعالیت apache در سال 1996 این وب سرور به عنوان یکی از محوب ترین ها در نوع خود بوده که به دلیل متنباز بودن و راحتی نصب یکی از بهترین گزینهها برای استفاده توسط کاربران لینوکسی میباشد، هر چند که این وب سرور در پلتفرم ویندوزی نیز قابل نصب و پیادهسازی است.
Nginx هم یک وب سرور متنباز با عملکرد بالا و قدرت ساپورت reverse proxy است که همانند apache بر روی لینوکس به شدت قوی عمل کرده و یک رقیب دست بالا برای وب سرورهای دیگر محسوب میشود.
انجینیکس به دلیل استفاده بسیار کم از منابع سرور، قدرت هندل بالای درخواستها و کانفیگ ساده در چند سال اخیر جز بهترین وب سرورها شناخته شده و مورد توجه قرار گرفته است.
Nginxمعمولا در قالب PHP-FPM (مدیریت فرآیند FastCGI) و APC (جایگزین PHP کش) استفاده می شود.
آزمونی برای ۳ نوع متفاوت از نرم افزارهای PHP در سه Config مختلف سرور:
۱- برنامه حجیمی با استفاده از Zend Framework
۲- اسکریپت کوچکی از PHP
۳- WordPress
اولین تست مجموعه از آزمایش ها در مقابل برنامه های Zend Framework حجیم می باشد. هر آزمون شامل ۱۰۰۰ درخواست و سطوح مختلف همزمانی (۳۰/۶۰/۱۰۰) است. در سه تنظیم زیر:
Apache2 with PHP5_MOD
Apache2 with PHP-FPM
NGINX with PHP-FRM
Nginx کمی جلوتر ازapache2 با FastCGI می باشد. اختلاف حدود ۳٫۵% می باشد. .نکته جالب دیگر این است که توانایی PHP-FPM فقط کمی بهترPHP5_MOD است.
آزمون دوم در برابر یک اسکریپت پی اچ پی کوچک بود. اسکریپت چاپ “”Lorem Ipsum در ۵۰ زمان. ۱۰۰۰ درخواست و با همزمانی درخواست روی ۵۰ بار.
مانند آزمایش گذشته تفاوت اندک و در حدود ۴% بین وب سرورها می باشد.
آخرین مجموعه ای از آزمایشها در برابر WordPress انجام شد. در ابتدا من صفحه نصب را مورد آزمایش قرار دادم.
ایده خوبی بود چرا که تقریبا یک صفحه استاتیک بدون محاسبات زیاد یا تعامل با دیتابیس مورد آزمایش قرار گرفت.
عملکرد با ۳۲٫۵٪ تفاوت بسیار جالب توجه شد. Nginx فرصت آشکار شدن پیدا کرد زیرا nginx محتوای صفحات static را دوست دارد!
آخرین بررسی برای یک صفحه اصلی WordPress بود با ۲ پست و بدون Cache.
تفاوت چشمگیری در زمینه صفحاتPHP پویا بین Apache2 و NginX وجود ندارد. بلهnginx سرعت صفحات static را بطور قابل ملاحظه ای افزایش می دهد اما صفحات اجرایDynamic را چندان سرعت نمی بخشد. صفحات Dynamic بیشترCPU سرور را به چالش می کشند. برای صفحات PHP می توانید ازVarnish Cache استفاده نمایید.
توجه داشته باشید عملکرد واقعی همزمانی اجراهای صفحات static و Dynamic می باشد بنابراین وجود Nginx درخواست های Static را سرعت می بخشد به عنوان مثال آغاز فرایند دانلود یک فایل static می تواند با وجود Nginx لحظه ای باشد. این موضوع برای خدمات دهندگان دانلود بسیار مفید و قابل لمس می باشد. همچنین Nginx تاثیر اندکی در بهبود سرعت فایل هایPHP و همچنین حافظه کمتر برای اجرا (که اثبات آن در این آزمایش ها قابل مشاهده نبود) خواهد داشت.