SlideShare una empresa de Scribd logo
Rendimiento en Tryton
1/Programación
1.1/Operaciones en batch: create()
● Listas de registros:
@classmethod
def create(cls, vlist):
pass
1.2/Operaciones en batch: create()
parties = []
for x in xrange(1000):
party = Party()
Party.code = random()
Party.create([x._save_values for x in parties])
o
Party.save(parties)
1.3/Operaciones en batch: save()
for party in parties:
party.code = random()
party.save()
for party in parties:
party.code = random()
Party.save(parties)
1.4/Cache
● Pre-carga de 2000 registros (configurable)
● Anti-patrón: acceso aleatorio a los datos cargados
mediante search/browse
Party = Pool().get('party.party')
parties = Party.search([])
for party in parties:
for address in party.addresses:
pass
1.4/Adjuntos
● Problema con python a nivel de comunicación. Introducido
workaround en Tryton. Muy lento para ficheros de algunos
MB
● Se guardan en el sistema de ficheros
1.5/Campos funcionales
● Trabajar en batch si no se puede hacer uso de la cache:
@classmethod
def get_value(cls, names, records):
pass
def get_value(self):
pass
2/Procesos
2.1/Múltiples procesos
● Reverse proxy con NGINX o bien WSGI a partir de la 4.0
● Cron integrado: lanzado en un proceso independiente del
que recibe las peticiones RPC
● celery_tryton
● Jasper server
3/PostgreSQL
3.1/PostgreSQL
● MVCC
● Isolation Level: Repeatable read – No serializable
● Actualizar versiones: 9.4 vs 9.5 24s vs 18→
3.2/Fichero de configuración
● Fichero de configuración
● shared_buffers
● work_mem
● maintenance_work_mem
● asynchronous_commit
● fsync ¡¡On!!→
● ¿¿ huge_pages ??
4/Sistema
4.1/Soft & hard
● PyPy vs cPython
● Pyhon no libera memoria una vez consumida
● Un proceso python podemos esperar que consuma entre
400MB y 1GB – si excede debería ser un problema
● SSD está muy bien, ¿lo necesitas?
5/Futuro
● PosgreSQL 9.6 – varios procesos para ejecutar una
consulta – excelente escalabilidad hasta 4 procesos
● Mecanismo estándar para guardar binarios en el sistema
de ficheros
● Desaparición de los Properties
● ¿Ejecución asíncrona de consultas SQL?
● ¿Utilizar C en python-sql?
● Mejorar gestión de las jerarquías – Adjancency list
5.1/Futuro
http://www.NaN-tic.com
Albert Cervera i Areny
albert@nan-tic.com
@albertnan
linkedin.com/in/albertca
Rendimiento del sistema Tryton

Más contenido relacionado

RTF
Php slideshare
PPTX
Unidad 6: Flujos y Archivos Ejercicio 3
PPTX
Unidad 6: Flujos y Archivos Ejercicio 1
PPTX
Unidad 6: Flujos y Archivos Ejercicio 2
PDF
Comandos linux
PPTX
Unidad 6: Flujos y Archivos Ejercicio 4
PDF
Manejo de archivos
PPTX
9.android archivos
Php slideshare
Unidad 6: Flujos y Archivos Ejercicio 3
Unidad 6: Flujos y Archivos Ejercicio 1
Unidad 6: Flujos y Archivos Ejercicio 2
Comandos linux
Unidad 6: Flujos y Archivos Ejercicio 4
Manejo de archivos
9.android archivos

La actualidad más candente (19)

PDF
Empaquetar y comprimir archivos en linux
PDF
Aprende a montar tu propio servidor Web con Linux & LAMP stack
PPTX
Open And Reading Files
PDF
ejercicios1so
PDF
Archivos
PDF
Jyoc java-cap14 persistencia. ficheros corrientes
PDF
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
PDF
Entorno enseñanza aprendizaje on-line
PDF
Jyoc java-cap17 persistencia. nio
PPT
Introducción a Groovy
PDF
PPTX
Fichero c y c++
PDF
Manejo de archivos en java
PPTX
Permisos de linux
PPT
Archivos aleatorios en java
PDF
Curso Linux Basico
PPTX
Comandos Unix/Linux
DOC
FICHEROS
Empaquetar y comprimir archivos en linux
Aprende a montar tu propio servidor Web con Linux & LAMP stack
Open And Reading Files
ejercicios1so
Archivos
Jyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
Entorno enseñanza aprendizaje on-line
Jyoc java-cap17 persistencia. nio
Introducción a Groovy
Fichero c y c++
Manejo de archivos en java
Permisos de linux
Archivos aleatorios en java
Curso Linux Basico
Comandos Unix/Linux
FICHEROS
Publicidad

Destacado (20)

ODP
Cómo aprovechar tu ERP
PDF
Introducción a la programación en Tryton
PDF
Invoke y como poner en marcha un entorno de trabajo
PDF
Seguridad en Tryton
PDF
Logistica en Tryton
PDF
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
PDF
Tryton como backend de páginas web
PDF
Tryton
PDF
Implantación de almacenes y producción
PDF
10 coses que has de saber abans d’escollir una eina de gestió empresarial
PDF
BaBI - Basic Business Intelligence for OpenERP
PDF
Kafkadb
PDF
Noves tendències en eines de gestió empresarial de codi obert
PDF
Introducción a tryton
PPT
Marla rudas presentacion
PPTX
Bloque cierre metodología pacie
PPTX
Evolucion del hombre
PPTX
Crepúsculo
PPTX
PPT
Prueba parcial. 5to. Sketchup (3)
Cómo aprovechar tu ERP
Introducción a la programación en Tryton
Invoke y como poner en marcha un entorno de trabajo
Seguridad en Tryton
Logistica en Tryton
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
Tryton como backend de páginas web
Tryton
Implantación de almacenes y producción
10 coses que has de saber abans d’escollir una eina de gestió empresarial
BaBI - Basic Business Intelligence for OpenERP
Kafkadb
Noves tendències en eines de gestió empresarial de codi obert
Introducción a tryton
Marla rudas presentacion
Bloque cierre metodología pacie
Evolucion del hombre
Crepúsculo
Prueba parcial. 5to. Sketchup (3)
Publicidad

Más de NaN-tic (18)

PDF
Tryton Unfrequently Given Answers
PDF
Arquitectura de PostgreSQL
PDF
ViDSigner & Tryton ERP: integración de firma digital segura
PDF
Apps móviles para la gestión de almacenes
PDF
Gestión de poyectos de instalaciones con tryton erp
PDF
La seguretat a Tryton
PDF
Durabilitat de la informació (i la inversió)
PDF
PostgreSQL: present and near future
PDF
Application Performance Monitoring in Tryton
PDF
Reporting en tryton
PDF
Contratos y servicios de facturacion recurrente
PDF
Produccion en Tryton
PDF
BaBI - El motor de anàlisis de negocio
PDF
Com aprofitar el teu ERP
PDF
NaN-tic Bitz: Del negoci als bits
PDF
Tryton
PDF
Començar des de zero sense finançament
PDF
Vertical para granjas de crianza y engorde OpenERP
Tryton Unfrequently Given Answers
Arquitectura de PostgreSQL
ViDSigner & Tryton ERP: integración de firma digital segura
Apps móviles para la gestión de almacenes
Gestión de poyectos de instalaciones con tryton erp
La seguretat a Tryton
Durabilitat de la informació (i la inversió)
PostgreSQL: present and near future
Application Performance Monitoring in Tryton
Reporting en tryton
Contratos y servicios de facturacion recurrente
Produccion en Tryton
BaBI - El motor de anàlisis de negocio
Com aprofitar el teu ERP
NaN-tic Bitz: Del negoci als bits
Tryton
Començar des de zero sense finançament
Vertical para granjas de crianza y engorde OpenERP

Último (20)

PPTX
Desechos solidos especializados de hodnuras.
PDF
PPT Presentacion Politica Nacional de Desarrollo e Inclusion Social (1) (1).pdf
PPT
Teoria General de Sistemas empresariales
PDF
Primeros Auxilios_Enfermedades Ocupacionales.pdf
PPTX
MAESTRIA TRABAJO GRUPAL N° 7.1 POLITICAS PUBLICAS.pptx
PPT
Clase 14 Variables e indicadoresargentina.ppt
PPTX
CREACION DE MARCA EMPRESAS CONTEXTO EMPRESARIAL
PPT
equipo_de_proteccion_personal de alida met
PPTX
ADMINISTRACION ESTRATEGICA planeación y estrategia
PPT
Comercio-InternacionSSSSSSSSSSSSSSSSSSSSal-UC.ppt
PDF
2003_Introducción al análisis de riesgo ambientales_Evans y colaboradores.pdf
PPTX
Slide_Introducci_n_a_las_empresas.pptx__
PDF
libro de ofimatica basica, para tecnico profesional
PPTX
ASERTIVIDAD EN EL TRABAJO PARA EL MANEJO DE RRHH
PDF
CLASE 4.pdfkjljbjkbkjbihviuvvuuuuuuuuuuuu
PPTX
1. ANATOMIA CLINICA DEL CORAZON.....pptx
PPTX
CALIDAD TOTAL TRABAJO FULL DE LINA MARTINEZ
PPTX
Elementos del Entorno-Elementos del Entorno
PPTX
_Service and Sales 2 Cloud Intro Mar 2022 español.pptx
PPTX
S13 CREATIVIDAD E INNOVACIÓN 2025-I.pptx
Desechos solidos especializados de hodnuras.
PPT Presentacion Politica Nacional de Desarrollo e Inclusion Social (1) (1).pdf
Teoria General de Sistemas empresariales
Primeros Auxilios_Enfermedades Ocupacionales.pdf
MAESTRIA TRABAJO GRUPAL N° 7.1 POLITICAS PUBLICAS.pptx
Clase 14 Variables e indicadoresargentina.ppt
CREACION DE MARCA EMPRESAS CONTEXTO EMPRESARIAL
equipo_de_proteccion_personal de alida met
ADMINISTRACION ESTRATEGICA planeación y estrategia
Comercio-InternacionSSSSSSSSSSSSSSSSSSSSal-UC.ppt
2003_Introducción al análisis de riesgo ambientales_Evans y colaboradores.pdf
Slide_Introducci_n_a_las_empresas.pptx__
libro de ofimatica basica, para tecnico profesional
ASERTIVIDAD EN EL TRABAJO PARA EL MANEJO DE RRHH
CLASE 4.pdfkjljbjkbkjbihviuvvuuuuuuuuuuuu
1. ANATOMIA CLINICA DEL CORAZON.....pptx
CALIDAD TOTAL TRABAJO FULL DE LINA MARTINEZ
Elementos del Entorno-Elementos del Entorno
_Service and Sales 2 Cloud Intro Mar 2022 español.pptx
S13 CREATIVIDAD E INNOVACIÓN 2025-I.pptx

Rendimiento del sistema Tryton

  • 3. 1.1/Operaciones en batch: create() ● Listas de registros: @classmethod def create(cls, vlist): pass
  • 4. 1.2/Operaciones en batch: create() parties = [] for x in xrange(1000): party = Party() Party.code = random() Party.create([x._save_values for x in parties]) o Party.save(parties)
  • 5. 1.3/Operaciones en batch: save() for party in parties: party.code = random() party.save() for party in parties: party.code = random() Party.save(parties)
  • 6. 1.4/Cache ● Pre-carga de 2000 registros (configurable) ● Anti-patrón: acceso aleatorio a los datos cargados mediante search/browse Party = Pool().get('party.party') parties = Party.search([]) for party in parties: for address in party.addresses: pass
  • 7. 1.4/Adjuntos ● Problema con python a nivel de comunicación. Introducido workaround en Tryton. Muy lento para ficheros de algunos MB ● Se guardan en el sistema de ficheros
  • 8. 1.5/Campos funcionales ● Trabajar en batch si no se puede hacer uso de la cache: @classmethod def get_value(cls, names, records): pass def get_value(self): pass
  • 10. 2.1/Múltiples procesos ● Reverse proxy con NGINX o bien WSGI a partir de la 4.0 ● Cron integrado: lanzado en un proceso independiente del que recibe las peticiones RPC ● celery_tryton ● Jasper server
  • 12. 3.1/PostgreSQL ● MVCC ● Isolation Level: Repeatable read – No serializable ● Actualizar versiones: 9.4 vs 9.5 24s vs 18→
  • 13. 3.2/Fichero de configuración ● Fichero de configuración ● shared_buffers ● work_mem ● maintenance_work_mem ● asynchronous_commit ● fsync ¡¡On!!→ ● ¿¿ huge_pages ??
  • 15. 4.1/Soft & hard ● PyPy vs cPython ● Pyhon no libera memoria una vez consumida ● Un proceso python podemos esperar que consuma entre 400MB y 1GB – si excede debería ser un problema ● SSD está muy bien, ¿lo necesitas?
  • 17. ● PosgreSQL 9.6 – varios procesos para ejecutar una consulta – excelente escalabilidad hasta 4 procesos ● Mecanismo estándar para guardar binarios en el sistema de ficheros ● Desaparición de los Properties ● ¿Ejecución asíncrona de consultas SQL? ● ¿Utilizar C en python-sql? ● Mejorar gestión de las jerarquías – Adjancency list 5.1/Futuro
  • 18. http://www.NaN-tic.com Albert Cervera i Areny albert@nan-tic.com @albertnan linkedin.com/in/albertca