Performance en aplicaciones GeneXus. ¿Qué hacer cuando hay problemas?

Slides:



Advertisements
Presentaciones similares
Rocío Contreras Aguila Primer Semestre 2010
Advertisements

Diseño de Bases de Datos
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
integridad referencial
Procedimientos de Almacenado
Administración del estado
Supervisión del rendimiento de SQL Server
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Servicios de Internet.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Nociones de p erformance Ing. Alfonso Vicente, PMP
Optimización de aplicaciones de bases de datos OLTP Speaker: Edinson Medina SQL Server Premier Field Engineer Microsoft Corporation Blog:
Instructor :LIC. Jairo Flores de la o
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Desarrollo de Aplicaciones para Internet
BINWORKS THE BEST IS YET TO COME. BINWORKS nace a principios del 2008 con la idea de realizar sistemas informáticos a medida. A través de la experiencia.
ARIS-G: Software de Monitoreo Geomecánico de Superficies
Daniel Correa Botero.  Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno.
TECNOLOGÍA IDC Internet Database Connector Trinitario Gómez López.
Migrando VFP a .NET Tips y Sugerencias
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
Presentación del curso
GeneXus 8.0 Armin Bachmann
Presentación Técnica Gonzalo Echagüe
Reutilizando conocimiento en la versión Rocha
PL/SQL Francisco Moreno Universidad Nacional.
SQL SERVER Reporting Services
Bases de Datos II OLAP Online Analytical Processing
The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes.
Ing. Silvia Keymetlian ARTech Acompañe la evolución: Convierta sus aplicaciones !
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
SISTEMAS OPERATIVOS EN LOS QUE FUNCIONA
Bases de Datos Oracle Optimización
GXplorer & GXquery IO Soluciones de BI más integrables Fabián Bonilla – Mayda Kurdián –
EBay Inc. confidential 2009 Turbo Lister 2 – Vista general 2009.
Seguridad en Aplicaciones GeneXus Algunos consejos prácticos
ENCUESTA DE SATISFACCION USUARIOS ISP 2009 PRODUCTO COSMETICOS
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Inteligencia de Negocios Buenos Aires, mayo de 2009 U.T.N. – F.R.B.A. Prof: Ing. Pablo Cigliuti Ayud: Ing. Rafael Rizzo.
Paulina Guevara UNITA - IBARRA. Lenguaje de programación orientado a objetos y procedural. Un Sistema Gestor de Bases de datos o Database Management System.
Eloísa Orozco Bueno Alvaro Padilla Vilema
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
GXquery 2.0 Ing. Pablo Mazzilli ARTech
Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello
Después del Big Bang... Administrando entornos de desarrollo con GeneXus Ney Benavides InterGroup Consultores
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
GXplorer Hacia donde vamos Graciela Listón – Gustavo Martínez ARTech Consultores SRL
Utilización de memoria del O3 Server Caché de cubos.
Acceso y consulta a bases de datos. Base de datos Una base de datos (cuya abreviatura es BD) es una entidad(host) en la cual se pueden almacenar datos.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
 Autenticación - Autorización Autenticación : Es un modo de asegurar que los usuarios son quién ellos dicen que ellos son. Autorización: Proceso por.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Nombre: Germania Ruiz UNIVERSIDAD TECNOLOGICA AMERICA.
Introducción a la Optimización de Consultas. Francisco Moreno.
Jorge De Nova Segundo. Clientes DNS Se puede considerar que un resolver es cualquier software capaz de preguntar a un servidor DNS e interpretar sus respuestas.
Laboratorio de optimización de BD
Naime Cecilia del Toro Alvarez
Actividad 1, Parte 2 Respaldo y Restauración de la Base de Datos  Licenciatura: Tecnologías de la Información y Comunicación  Ciclo escolar:
Programación, Orquestación y Unificación: los 3 pilares del test Alejandro Blengio Alvaro Gareppe
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Ing. Pablo Mazzilli A/I Milagros Payssé ¡ GeneXus Query en acción !
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Aplicaciones en 2,3 y n capas
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
Stored Procedures vs. Programación Tradicional
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
DML Transact SQL Sesión IX Introducción a los procedimientos almacenados.
Transcripción de la presentación:

Performance en aplicaciones GeneXus. ¿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 GeneXus Certificación ISO 9000 Reconocimientos “Early Adopter of New Technology” (2001) “Mejor Betatester GeneXus” (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 GeneXus. Comentar la metodología utilizada en algunos casos.

Agenda Optimizaciones en Metodología GeneXus Lenguaje de programación Manejador de base de datos Metodología Generalidades Web panels Procesos batch

GeneXus – 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 &aux = sysdate() For each where Att = &aux endfor Cliente For each where Att = sysdate() endfor

GeneXus – Buenas Prácticas (2) For each que suman o cuentan, utilizar optimizaciones de GeneXus. No genera count() Genera count()

GeneXus – Buenas Prácticas (3) Programar para que genere joins en el servidor

GeneXus – Preferencias Delete groups / Agregate groups Cache de tablas (GX 8.0) Connect to server: At application startup Copy table groups

GeneXus – 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/PetroCSharp/hwnver03.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 GeneXus) detectar estadísticas desactualizadas

Falta de índices ( No existe índice por FacFch )

Creando un índice por FacFch..

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 FacFch 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 GeneXus 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 GeneXus. ¿Qué hacer cuando hay problemas? Alexander Wolff (awolff@concepto.com.uy) Marcos Crispino (mcrispino@concepto.com.uy) Concepto