[Python] [web-frameworks] Perchè usare un web server come back end ?

Valentino Volonghi dialtone a gmail.com
Mar 17 Feb 2009 08:40:33 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Feb 16, 2009, at 10:13 AM, Agosto Alessandro wrote:

> Chiedo scusa se ho detto delle sciocchezze, ma in qualche modo dovrò
> pur imparare :).


Ci possono essere un milione di ragioni. Le principali sono che:

1) Apache si configura in ogni punto (se ti serve quella possibilita`)  
e intendo
proprio dire che il suo sistema di configurazione e` un linguaggio  
turing
completo, con un po' di astuzia ci si fanno anche confronti tra date,  
somme,
sottrazioni, if e compagnia briscola.

Tuttavia apache e` anche un bestione che si mangia ram come fossero
biscotti di Specialty's
(http://static.px.yelp.com/bphoto/HVW-CNWHvzECQMzFK9g9zQ/l).

Quindi...
Si usano frontend come lighttpd o nginx perche` usano pochissima
ram, sono piu` o meno configurabili come apache, meno ma vanno
bene per il 90% degli usi, ma usano 1/1000 delle risorse e soprattutto
supportano benissimo tutte le menate di HTTP 1.1, cosa che non si
puo` dire della maggior parte dei server scritti in Python. Inoltre  
usano
meno memoria di qualsiasi server scritto in Python per tenere viva una
connessione, quindi puoi usarli per tenere un Keep-Alive di fronte
al tuo server che invece se ne frega e riceve le richieste quando
arrivano.

Poi c'e` ovviamente il fatto che Python e` piu` lento e il piu` veloce  
server
in python 'va' comunque la meta`, ad essere generosi, di nginx.

Di solito poi questi server non sono semplicemente di fronte per
bellezza ma fanno anche load balancing e reverse proxying che
servono a tante altre belle cose e che necessitano di software che
usano poca ram e che siano molto veloci a masticare byte.

E ce ne sono ancora molte altre.

- --
Valentino Volonghi aka Dialtone
Now running MacOS X 10.5
Home Page: http://www.twisted.it
http://www.adroll.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkmaafIACgkQ9Llz28widGXLnACgkxa2h30uRQLVzl6hz3DseSp+
rakAoNWPXzsCOxeLQBy4mGEtcWbok5hZ
=TJxs
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python