Optimización del tamaño de las transacciones

Base de conocimiento de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
vBdC
vGuru
vGuru
Mensajes: 2
Registrado: 11 Oct 2005, 14:22

Optimización del tamaño de las transacciones

Mensaje por vBdC » 09 Dic 2003, 01:00

Optimización del tamaño de las transacciones

Categorías: Transacción

Palabras clave: Cliente/servidor, Optimización

Enunciado:
Cuando realizamos trabajos de importación con gran cantidad de datos, procesos largos que realizan cálculos sobre miles de registros, procesos que no escriben en disco pero que llaman a procesos que generan una transacción por cada llamada al subproceso, etc., y la aplicación se usa en el Servidor de Aplicaciones hemos de tener en cuenta ciertos aspectos de las transacciones.




Desarrollo:
Tenemos dos casos:

- Por un lado que las transacciones se realicen una por modificación y en primer plano, pues en procesos muy largos ralentizarían su funcionamiento ya que, además de tener que leer los datos y traerlos para realizar las operaciones, da de alta un registro en el historial del servidor de la operación. Debemos pues, realizar el proceso en tercer plano y agrupando operaciones.
- Que una transacción no realice demasiadas operaciones, ya que el servidor guarda la situación anterior a las modificaciones para poder deshacer la transacción en caso de fallo del sistema, con lo que si el tamaño de la transacción (número de operaciones) es muy grande puede exceder la capacidad del ordenador.

Por tanto, la optimización consiste en crear un proceso principal que no genere transacción, y cada x registros ejecutar un subproceso en tercer plano que procese esos x registros. El número de líneas a procesar de cada vez debe ser ponderado por nosotros, en función del número de operaciones. Podría ser cada 2500 ó 5000 operaciones.

Esto no siempre es posible. Debemos tener en cuenta que existen procesos que no podemos dividir, como puede ser un cierre anual o la facturación mensual de un cliente, en los que se estropearían los datos si se deshiciera parcialmente el proceso.

En la parte privada de la página web disponemos de un Manual de Cliente-Servidor, donde se explica como realizar ésta y otras optimizaciones.

Artículos relacionados
Transacciones deshechas
¿Qué es una transacción?
Sockets TCP: retardos y optimización
¿Cuando se evalúan las condiciones de visibilidad y de activo y que importancia tiene de cara a la optimización de mi aplicación?
Última edición por vBdC el 09 Dic 2003, 01:00, editado 1 vez en total.

Responder