Web

Web Server, la casa dei tuoi siti - Apache vs Nginx

Quando si valuta un server per accogliere il proprio sito web - a prescindere che si tratti di un portale aziendale, un blog, un forum o uno spazio informativo - è indispensabile valutare alcune caratteristiche tecniche tra le quali la mole di traffico pronosticato, la RAM utilizzata, la stabilità del sistema e i moduli estendibili. Non esiste una risposta corretta poiché ogni progetto ha le sue esigenze da dover soddisfare.

Circa la metà del traffico dati presente su internet è accolto da due web server: Apache HTTP Server e Nginx. Sebbene la funzione di questi open source sia identica esistono alcune differenze da dover analizzare.

» Apache HTTP Server

Apache HTTP Server è presente nel mercato informatico dal 1996 e consente agli sviluppatori una buona flessibilità e potenza. Il server comprende diversi linguaggi e per caricare le estensioni basta caricare un modulo dinamico (senza dover utilizzare software esterni).

Prima di rispondere alla richiesta di una pagina Apache effettua una scansione completa delle varie cartelle cercando possibili .htaccess per restituire la risposta corretta nel visualizzare la pagina, portando a un tempo di attesa più lungo, anche se  a volte non è percettibile.

L'architettura del server è process-based e le connessioni in simultanea richiedono un thread e un overhead significativo, caratteristica che va a influire in modo significativo sul consumo RAM e, di conseguenza, sulle performance ottenute. La disponibilità dei multi-processing modules, tuttavia, consente a questo server web di mantenere un primato ancora indiscusso.

» Nginx Server

Nginx è nato come Proxy ed è stato modificato dai sui sviluppatori per poter coprire tutte le funzionalità  da Apache. Ha acquistato notorietà grazie alla sua capacità di gestire, con un'architettura events-driven, molte connessioni in contemporanea senza occupare troppo spazio sull'hardware. Creato nel 2004 - e dunque molto più giovane di Apache che è presente nel mercato dal 1996 -, questo server web sta conquistando notorietà per la scalabilità consentita dai processi asincroni. La sua forza risiede soprattutto nell'efficienza delle risorse, nella sua reattività sotto carico o con un abbondante traffico e - non meno importante - nella facilità del suo utilizzo.

Ngnix ha un solo punto dove recupera le informazioni di come deve visualizzare le varie pagine; questo permette di aprire la pagine man mano che vengono richieste senza dover guardare prima tutte le cartelle, riducendo così i tempi di risposta.

Questo server è funzionale soprattutto con la presenza di file statici (immagini, file javascript, file css)che non necessitano di moduli di scripting da dover caricare in memoria. Nginx è molto apprezzato dagli sviluppatori anche come reverse proxy per effettuare caching, avviare una configurazione di Php/Ruby/Phyton in modalità CGI o Application Server.

La stabilità, velocità e facilità del suo utilizzo fanno apparire Nginx molto più funzionale rispetto al suo competitor Apache ma quest'ultimo, nel 2009, è riuscito ad aggiudicarsi un primato non indifferente. Il "vecchio" server raggiunto un traguardo memorabile accogliendo oltre 100 milioni di siti web, servendo oltre il 46% dei siti web realizzati e il 66% del traffico totale.

Aggiungi commento


Codice di sicurezza
Aggiorna