Reporte lento. Velocidad de Diamante Contador 2. Consideraciones de rendimiento

El usuario Carlos Franco (@carlos) a través de un correo privado, me ha hecho llegar la siguiente consulta

A veces con algunas empresas al pedir el libro de ventas me aparece un mensaje que dice que el programa no responde.

No sé si es porque tiene demasiados datos ingresados o si hay otra otra razón para el mismo.

Después de un momento desaparece, y logro visualizar el reporte que solicité.

Gracias Ing. por atender a mi solicitud.

Porque considero muy importante la consulta de Carlos para todos los usuarios, he decidido responderla a través del foro y no como mensaje privado.

La base de datos

La responsable de los tiempos de respuesta y esos periodos en los que parece que el programa no responde es el programa administrador de base de datos o DBMS por sus siglas en inglés (Database Management System)

Diamante Contador 2 usa Firebird SQL como administrador de base de datos. Específicamente la versión 2.5. Esta es un programa de código abierto (open source ) que tiene facilidades para una versión incrustada (embedded) dentro de nuestro instalador.

Explico

  • open source es un movimiento en el que los programadores donan su tiempo y esfuerzo para crear programas que están disponibles para todo el mundo, sin costo o con arreglos especiales para que el costo siempre sea mínimo. Un programa open source tiene el código fuente disponible para que, dependiendo de la licencia, otros programadores puedan modificarlo y usarlo en sus organizaciones. Sin pago. Algunas licencias de código abierto, no permiten que el software sea usado en programas de tipo comercial y otras si.

  • embedded es un programa que podemos incorporar dentro de los instaladores de Diamante Contador, sin forzar a los usuarios a ejecutar un instalador adicional.

Antes de escoger FirebirdSQL le dimos vuelta a todas las opciones:

  • Programas de pago SQL Server de Microsoft tiene una versión gratuita para bases de menos de 4 GB. Oracle tiene versión gratuita para bases de datos de menos de 4GB. El problema con ellos era que había que correr un instalador separado y hacer configuraciones manuales. Por eso no los usamos.

  • Programas open source: PostgreSQL y Firebird. El mismo problema con Postgre y muy fácil de manejar con FirebirdSQL. Así que estudiamos y nos adecuamos a FirebirdSQL.

Firebird SQL

La versión que va con el instalador es la más sencilla. Es monousuario. No es una versión de servidor sino un sistema para acceder a la base de datos. Usamos un archivo DLL (fbclient.dll) para acceder a la base de datos.

Del sitio de http://www.firebirdsql.org se puede obtener el instalador del software de servidor. En computadoras Windows el mismo se instala como servicio y sus tiempos de respuesta son mejores. Hace mejor uso de la memoria de la computadora.

Opciones para mejorar el rendimiento de Diamante Contador

  1. Aprender a instalar y configurar Firebird SQL

  2. Pedir a ISA que destine personal de soporte (Con costo) para configurar un servidor de red. Aunque solo tenga un usuario, la configuración es mas o menos la misma.

El software de servidor debe instalarse en una computadora que tenga un rendimiento bueno: buen procesador y suficiente memoria. Que los usuarios no la usen para bajar torrents, ver Netflix o YouTube de la Internet.:joy: Si se accede en red, debe tener un router de buen rendimiento. Si usa cableado debe ser Cat5e, Cat6 o Cat7. Todo eso y otras cosas mas impactan el rendimiento

Mi caso particular

Yo uso lo que hasta hace dos años era una computadora top (i7 de 5a generación con 16 Gigas de RAM) PERO no tengo instalado el software de servidor de FirebirdSQL. No lo instalo porque no vivo conectado a Diamante Contador. Sin embargo cuando ejecuto pruebas de Diamante Contador, a veces se me pone igual que a ustedes: Windows 10 me dice que el programa no responde. Y es porque la base de datos está haciendo procesos de mantenimiento

Nota: Diamante Contador usa FIREBIRD SQL 2.5. Esto es importante porque ya hay versión 3.x pero no es la que usamos en ISA.

FirebirdSQL es una base de buena calidad que refuerza los principios de SQL y que tiene un buen rendimiento, pero que debe estar configurada de manera adecuada sobre un equipo de capacidades razonables.

Conclusiones

En el rendimiento de Diamante Contador, el administrador de base de datos es el factor más relevante y por las características del mismo:

  1. Tiene impacto la computadora
  2. Tiene impacto la red
  3. Tiene impacto la versión de Firebird que se usa: embedded o servidor.

Soluciones

  1. Con dinero: pagando a un experto en Firebird y Diamante Contador el análisis y la configuración

  2. Con tiempo: estudiando cómo se instala Firebird Server y cómo hay que cambiar las configuraciones para que Diamante Contador funcione adecuadamente en ese ambiente.

1 me gusta

Que interesante Ing. @rtusher . Este problema se replica en mi caso, pero andando a ciegas pensaba que era porque el sistema operativo que tiene la máquina es Windows XP y que añadido a esto la carga de información era muy alta pues manejo empresas con ventas de hasta 700 documentos.

Gracias por instruirnos.

Saludos.

Diego (@auxiliaraff)

La cantidad de datos por supuesto que si tienen impacto pero es manejable a través de mejorar la configuración de la instalación.

Más aún:

Firebird permite instalar dos tipos de servidores:

  1. Classic Server

  2. SuperServer

Cada uno con sus ventajas y desventajas.

Recomendaciones

Hacé un estudio del tiempo que se pierde por espera de procesos de la base de datos.
(A veces lo hace una sola vez en toda la sesión y no hay que preocuparse mucho)

Si realmente se pierde suficiente tiempo, hay que estudiar la forma de solucionarlo: memoria, sistema operativo, red, forma del servidor de Firebird, etc.

2 Me gusta