أباتشي أم Nginx؟

الكثير من المطورين هذه الأيام يتجهون نحو Nginx او Lighttp بحجة السرعة والخفة هل هذا الشيء منطقي؟ أم أنها مجرد موضة؟


الفرق الاساسي بين Nginx و Apache هو بنية كل منهما :

  • Apache : نظرا لقدمه فهو مازال مبنياً بشكل Process based وكل طلب يصل اليه يلزمه ان يقوم بفتح Thread جديد خاص بالطلب .

  • Nginx : بنيته مختلفة Event based وهذا يعني ايضا انه غير متزامن asynchronous وهي السبب في تقليل استخدامه للذاكرة .

يظهر الفرق جليا في استهلاك الذاكرة و السرعة عندما يكون الحمل على الموقع ثقيلاً اما عندما يكون ضعيفاً فلن تبرز الفروق بشكل واضح .

في العادة يتم استخدام Nginx بشكل رئيسي في عمليات توزيع الحمل Load balancing لانه قادر على تحمل ضغط كبير و استهلاك موارد اقل .