Performance en aplicaciones Gene Xus Qu hacer cuando
- Slides: 25
Performance en aplicaciones Gene. Xus. ¿Qué hacer cuando hay problemas? Alexander Wolff (awolff@concepto. com. uy) Marcos Crispino (mcrispino@concepto. com. uy) Concepto
¿Quiénes somos? • • Consultoría y desarrollo de software 10 años de experiencia con Gene. Xus Certificación ISO 9000 Reconocimientos – “Early Adopter of New Technology” (2001) – “Mejor Betatester Gene. Xus” (2000 y 2001) • Bases de conocimiento de más de 6000 objetos y 700 tablas
Objetivos • Presentar opciones para analizar y mejorar la performance en aplicaciones Gene. Xus. • Comentar la metodología utilizada en algunos casos.
Agenda • Optimizaciones en – Gene. Xus – Lenguaje de programación – Manejador de base de datos • Metodología – Generalidades – Web panels – Procesos batch
Gene. Xus – Buenas Prácticas (1) • Modelo de datos – Uso de Subtipos – Índices • For each con filtros – Filtros resueltos en el servidor vs en el cliente: Servidor Cliente &aux = sysdate() For each where Att = sysdate() where Att = &aux endfor
Gene. Xus – Buenas Prácticas (2) • For each que suman o cuentan, utilizar optimizaciones de Gene. Xus. No genera count() Genera count()
Gene. Xus – Buenas Prácticas (3) • Programar para que genere joins en el servidor
Gene. Xus – Preferencias • Delete groups / Agregate groups • Cache de tablas (GX 8. 0) • Connect to server: At application startup • Copy table groups
Gene. Xus – Optimizaciones • Pasaje de valores por parámetro entre los objetos • Uso de arrays o SDTs • Uso de tablas temporales para resolver consultas complejas
Lenguaje de programación • Uso de variables globales • Herramientas específicas del lenguaje – Ejemplo: Coverage logging en Visual Fox Pro – http: //www. concepto. com. uy/Petro. CSharp/ hwnver 03. aspx? 1, N, 0, 0, 208
DBMS – Plan de ejecución • Disponible en todos los DMBS • Permite – detectar “full scans” sobre tablas grandes – determinar índices que usa el DBMS (no siempre coinciden con los que dice Gene. Xus) – detectar estadísticas desactualizadas
Falta de índices ( No existe índice por Fac. Fch )
Creando un índice por Fac. Fch. .
Estadísticas del DBMS • Optimizador de consultas del DBMS usa estadísticas almacenadas para crear planes de ejecución de sentencias • Las estadísticas se deben actualizar periódicamente para asegurar planes de ejecución buenos • Hay que tener una estrategia de actualización de las estadísticas
Estadísticas desactualizadas Fac. Fch Count 2004 -06 -01 600900 2004 -06 -03 600999 2004 -06 -05 99 2004 -06 -07 299 2004 -06 -08 199700
Después de actualizar las estadísticas. .
Histogramas • Se usan para mantener disponible distribuciones no uniformes al optimizador de consultas del DBMS
Histogramas • Es necesario el uso de literales en el where del for each
SQL Server Profiler • Permite hacer trace de las sesiones • Que sentencias se envían al DBMS • Cuando empieza a ejecutarse una sentencia, cuando termina • Plan de ejecución de sentencias
Index Tunning Wizard • Dado un trace generado con Profiler y una base de datos: – Lista las consultas mas costosas – Lista los índices utilizados por cada consulta – Recomienda un conjunto de índices a crear, y estima el porcentaje de mejora para cada consulta – Permite crear el conjunto de índices recomendados
Metodología – Generalidades (1) • Revisar las navegaciones – For each varias veces a la misma tabla – For each sin filtros – Navegaciones con tabla extendida
Metodología – Generalidades (2) • Ver consultas en la base de datos – Ejecutar sentencia SQL que genera Gene. Xus – Ver el plan de ejecución – Utilizar el Index Tunning Wizard para analizar el uso de los índices
Metodología – Web • Uso de paginado para “minimizar” el tamaño de los HTML • Ver el uso de tablas HTML • Tamaño de las imágenes • Analizar log del web server
Metodología – Procesos batch • Por lo general intervienen varios procedures • Optimizar la lectura de datos, pasando valores por parametro y usando arrays • Uso de cache de tablas • Si es posible, generar con un lenguaje “más rápido”, por ejemplo C/SQL.
Performance en aplicaciones Gene. Xus. ¿Qué hacer cuando hay problemas? Alexander Wolff (awolff@concepto. com. uy) Marcos Crispino (mcrispino@concepto. com. uy) Concepto
- Max xus
- Cuando cantamos cuando rezamos cuando la fiesta es
- Gene by gene test results
- Chapter 17 gene expression from gene to protein
- No dejen que el enojo los controle
- Cuando comienza la prehistoria
- Soy amiga de la luna soy enemiga del sol
- Momento torsor unidades
- Las aplicaciones mas usadas
- Oxidacin
- Materiales compuestos aplicaciones
- Propiedades químicas del boro
- Aplicaciones de la ley de ohm
- Valor presente de un flujo continuo de ingresos
- Pila redox
- Fuerzas virtuales
- Aplicaciones de la derivada concepto
- Aplicaciones de los resortes
- Aplicaciones de la pnl
- Magnitud termodinámica
- Diodo detector o de baja señal
- Para que sirven las derivadas en la vida cotidiana
- Valor absoluto esquema
- Aplicaciones tecnologicas
- Aplicaciones de transporte privado
- Aplicaciones de la elasticidad