On 06/04/2017 21:03, Franky gmail wrote:
Chiedo subito un parere in merito alla creazione di un portale che farà
tantissime query su db mysql2.6 (il perchè della versione lo spiegherò
magari dopo)
le risorse che userò saranno python2.7 mysql2.6 apache2.
Tengo a precisare che ho delle discrete conoscenze dei summenzionati
'prodotti' e ho già pronta la lista della spesa (PIL, connettori per db
ecc). Il solo dubbio che mi rimane e il modulo da usare (CGI, mod-python
o fast-cgi) i predetti moduli mi servono per interagire con la parte
grafica.
CGI è lento perché esegue lo script da capo ad ogni singola richiesta.
mod_python è inefficiente.
FastCGI va bene, WSGI sarebbe più adatto a Python.
Anticipo che non intendo utilizzare alcun framework (zope, jango ecc).
Se non vuoi un framework puoi utilizzare la libreria Werkzeug, è solida
e performante. Anni fa fa ci ho costruito sopra un framework e mi sono
trovato bene.
http://werkzeug.pocoo.org/
Diversamente puoi utilizzare direttamente WSGI con uWSGI o Gunicorn.
Entrambi mettono a disposizione non solo l'interfaccia uWSGI ma anche il
sistema per gestire i processi. Sono molto performanti, Gunicorn l'ho
trovato più stabile.
https://github.com/unbit/uwsgi
http://gunicorn.org/
Bjoern sembra invece il sistema WSGI in assoluto più veloce. E' scritto
in C ma non l'ho mai provato.
https://github.com/jonashaag/bjoern
A questo punto se vuoi prestazioni migliori a livello di stack
bisognerebbe passare a:
- Python > 3.4: per via della nuova libreria AsyncIO;
- Postgresql: sfrutta meglio CPU multiple e puoi organizzare meglio i
dati per un accesso più veloce;
- Nginx: è meno completo ma più veloce di Apache (nulla vieta di usarli
contemporaneamente);
- Redis: per dati temporanei di frequente accesso (tipo le sessioni o il
rate limiting) e funge anche da cache.
Buon w/e,
Davide Muzzarelli
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python