Muchas veces nos interesa saber que tan rápidas son las operaciones INSERT, UPDATE, DELETE, SELECT en una computadora Cliente o mismo en el Servidor del Firebird.

Esa información puede ser muy útil para recomendar la compra de más memoria RAM, un mejor procesador, un router de mejor calidad, etc.

La mayoría de las empresas disponen de varias computadoras y las velocidades con las cuales se realizan las operaciones en ellas no son las mismas, así que puede resultarnos muy provechoso poder determinar cuales son las computadoras lentas. Esa lentitud puede estar en el Servidor, en el Cliente, o en ambos.

Por ese motivo hice un programa que me ayudará con esa tarea y ahora lo comparto con los lectores de este blog. El enlace para descargarlo es:

http://www.mediafire.com/download/eudns020fs6xf64/SQL_RENDIMIENTO.ZIP

Está desarrollado en Visual FoxPro y tiene todos los programas fuente incluidos para que quienes conozcan dicho lenguaje puedan realizarle todas las modificaciones que crean pertinentes. También podría servirles como base para crear otros programas similares.

SQL_RENDIMIENTO1

Captura 1. Si haces clic en la imagen la verás más grande

Como puedes ver en la Captura 1, es bastante auto-explicativo pero si tienes alguna duda puedes preguntarme.

Para usarlo:

  1. Copia la Base de Datos de nombre VELOCIDAD.FDB en un disco duro de la computadora donde está instalado el Servidor del Firebird
  2. Crea una carpeta en la computadora Cliente
  3. Descomprime el archivo SQL_RENDIMIENTO.ZIP en esa carpeta
  4. Ejecuta el programa SQL_RENDIMIENTO.EXE

También podrías ejecutarlo desde un pen-drive pero eso no es recomendable pues allí tendrás que controlar una variable más: la velocidad del pen-drive, pues si es USB 3.0 será mucho más rápido que USB 2.0 y este será mucho más rápido que USB 1.0, y en una computadora Cliente podrías tener USB 2.0 y en otra USB 3.0 y en otra USB 1.0 y por lo tanto la comparación no sería justa.

Mientras el programa está verificando las velocidades va mostrando unos mensajes en el campo de edición “Comentarios” y al finalizar la verificación muestra un resúmen que puede servirte de guía para encontrar las fallas. Ese resúmen puede ser guardado en un archivo de texto (cuya ubicación y nombre debes colocar a continuación de: “Grabar en el archivo”).

Las demoras en el Cliente típicamente son mayores que las demoras en el Servidor porque el primero necesita que los datos vayan al Servidor y regresen y eso toma su tiempo. Es por eso que se muestran ambas demoras.

El programa califica con una nota (EXCELENTE, MUY BUENO, BUENO, ACEPTABLE, REGULAR, MALO, MUY MALO, PÉSIMO) a ambas computadoras, dependiendo del tiempo total con la cual se realizaron todas las operaciones. También da unos consejos (que en versiones posteriores podrían ampliarse) para mejorar esas velocidades. Debes tener en mente que esa calificación está basada en el procesamiento de 1.000.000 de filas y que si varías dicha cantidad de filas la calificación podría variar ya que cuantas más filas proceses el rendimiento mejorará (si multiplicas por 10 la cantidad de filas el tiempo que se demora en procesarlas el Firebird no se multiplica por 10, sino quizás por 2).

Otro punto muy importante a considerar es el siguiente: una Base de Datos totalmente vacía es mucho más rápida que una Base de Datos en la cual ya se realizaron operaciones aunque se hayan eliminado luego todas esas operaciones. ¿Qué significa esto? que siempre antes de ejecutar el programa SQL_RENDIMIENTO.EXE debes hacer un ciclo backup/restore en la Base de Datos VELOCIDAD.FDB y usar la Base de Datos restaurada para la verificación (o aún más rápido, copia la Base de Datos original, la que descargaste en el archivo .ZIP, en el Servidor) . Si no haces así, entonces cada nueva ejecución de SQL_RENDIMIENTO.EXE demorará más y eso no será justo

Entonces, antes de verificar una computadora:

  1. Copia el archivo VELOCIDAD.FDB que está en tu pen-drive en el disco duro del Servidor
  2. Crea una carpeta en el disco duro de la computadora Cliente y coloca allí a SQL_RENDIMIENTO
  3. Verifica esa computadora

Haz esto siempre, no te olvides, o los resultados mostrados no serán correctos.

Artículo relacionado:

El índice del blog Firebird21