[pyar] Django server muy lento

Angel Freire cuerty en gmail.com
Jue Feb 10 08:29:28 ART 2011


2011/2/10 matias benedetto <matias.benedetto en gmail.com>:
> Hola!
> Tengo un problema con el servidor local de pruebas de Django, tarda casi ¡30
> segudos! en recargar una pagina.
> El problema creo que viene dado por como son servidos los archivos estáticos
> de esa página. 20 imagenes pequeñas. Aclaro que no carga cosas externas,
> estan todos las imagenes y el js en mi pc, y que django no arroja ningun
> error, solo se toma su prolongado tiempo.
> Digo esto porque las vistas que son solo texto procesado por el servidor
> cargan al instante.
> Probé varias soluciones que proponian en stackoverflow por ejemplo como
> desactivar el ipv6 del firefox, probar con otro navegadores, acceder a la
> pagina con 127.0.0.1 en vez de localhost, pero sigue igual de lento.
> El metodo que estoy usando para los archivos estaticos es este [0]. Y tengo
> django 1.1 en ubuntu 10.04.
> Estoy haciendo algo mal?
> tengo que abandonar el servidor de prubeas y pasarme al apache?
> Saludos!
> [0]  http://docs.djangoproject.com/en/1.2/howto/static-files/
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>

El webserver de Django no es multithread. Es decir que los pedidos se
atienden de medida secuencial:

* Primero tu browser pide tal pagina y el webserver le entrega el HTML.
* Tu browser lee ese HTML y ve que otras cosas necesita (js, img, css,
etc), y los va a pedir en una o mas conexiones al webserver.
* El webserver va tomando pedido por pedido y entregando las cosas de a uno.

De ahí que se percibe que es lento. Si estas desarrollando suele ser
aceptable esa velocidad (aunque 30 segundos no suena muy aceptable),
lo que podrías hacer es servir los contenidos estáticos (imágenes, CSS
y JavaScript) desde otro webserver como puede ser Apache y seguir
usando el dev-server para hacer tus pruebas.

También hay alternativas al servidor web de django muy interesantes
para desarrolladores como, por ejemplo, run server plus [0] que
debería permitirte bajar esos tiempos de carga.

Saludos,
Angel

[0] https://github.com/django-extensions/django-extensions/blob/master/docs/runserver_plus.rst

-- 
http://blog.cuerty.com

"If you want to set off and go develop some grand new thing, you don't
need millions of dollars of capitalization. You need enough pizza and
Diet Coke to stick in your refrigerator, a cheap PC to work on and the
dedication to go through with it."
- John Carmack



More information about the pyar mailing list