de la charla Igor T´ amara Linux desde 1.997 Python en el 2.000 Django desde la versi´ on 0.96 Trabajo en Axiacore [email protected] - [email protected] Igor T´ amara Algunas t´ ecnicas para optimizar Django
de la charla Nuestra ruta Preguntas a responder No in-depth Recomendaciones Base de datos Cach´ e Infraestructura Otros trucos Socializaci´ on Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on Django Debug Toolbar https://github.com/django-debug-toolbar/ django-debug-toolbar Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on Django Extensions y kcachegrind https: //github.com/django-extensions/django-extensions http://kcachegrind.sourceforge.net/html/Home.html ipdb ipython . El shell es tu amigo ./manage.py runprofileserver –kcachegrind –prof-path=/tmp/django-profiling 1 1gracias jerojasro Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on select related y prefetch related https://docs.djangoproject.com/en/1.6/ref/models/ querysets/#select-related ´ Unicamente se requiere modificar la vista Usar with para evitar m´ ultiples llamados Usar varias bases de datos(routers) Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on El cach´ e al rescate https://docs.djangoproject.com/en/1.6/topics/cache/ redis almacenar datos usados normalmente A nivel de template? usar el cach´ e a bajo nivel?(no es bajo) Se puede guardar incluso Querysets Por session o por usuario, elige bien tu llave. En nuestro caso, datos de tablas relacionadas y usados frecuentemente al momento del login Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on Retardar el llamado de im´ agenes Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on Evitar las listas desplegables No pondr´ as todos los departamentos en una lista desplegable. Usa autocomplete cuando sea posible. Usa otra aproximaci´ on que llene por js una lista relacionada. Haz cach´ e de aquello que puede ser costoso (Los men´ us) Haz que el dise˜ no o el cargado permita cargar posteriormente aquello que sabemos que es lento y puede aparecer un poco despu´ es Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on Tu motor de base de datos de da poder NO comiences en la primera construcci´ on con un super modelo optimizad´ ısimo, hazlo sencillo y legible json, quieres Nosql? Cuidado con los reportes Los ´ ındices para cuando tengas bastantes datos, antes solamente hacen m´ as lenta la base de datos. Pools de conexi´ on? Ver las notas de Django 1.6 y 1.7 Instagram technical blog is nice!!!! Cuidado con las migraciones Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on En el despliegue Servidor Web - Liviano por favor Servidor de aplicaciones - R´ apido que tengo af´ an. Muchos o pocos. Servidor de base de datos - Lo quieres en otro lado? Servidor de cach´ e - En serio tienes tanta memoria? C´ omo los comunicas? sockets unix o de red? nginx + uwsgi + redis + postgresql Servir de sitios distintos aplicaci´ on, im´ agenes, uploads Minificar js, html, css django-pipeline Tu despliegue debe ser r´ apido Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on M´ as all´ a de lo evidente No hay una herramienta m´ agica que haga que funcione Usar servicios de monitoreo externos, por ejemplo scout o New Relic Balanceo de carga con el proveedor Ma˜ nana habr´ a una nueva oportunidad Igor T´ amara Algunas t´ ecnicas para optimizar Django
ORM y base de datos Uso de cach´ e Otras consideraciones En producci´ on M´ as all´ a de lo evidente No hay una herramienta m´ agica que haga que funcione Usar servicios de monitoreo externos, por ejemplo scout o New Relic Balanceo de carga con el proveedor Ma˜ nana habr´ a una nueva oportunidad Pero hay que lograr llegar al d´ ıa siguiente Igor T´ amara Algunas t´ ecnicas para optimizar Django
Visita nuestro blog (Talento, juicio y aprecio por el orden), [email protected] http://es.axiacore.com/blog/ Igor T´ amara Algunas t´ ecnicas para optimizar Django