Pruebas de las consultas de la aplicación (extracto de la "Guía de migración a Firebird 3")
This is an excerpt from " Migration Guide To Firebird 3" book, by Carlos Cantu.
Cambiar de una versión de Firebird a otra puede causar problemas con las consultas existentes, que van desde un mal rendimiento hasta un fallo total cuando las consultas utilizan palabras reservadas nuevas o SQL incorrecto que antes se aceptaba.
Una aplicación a menudo incluye cientos de consultas, desde la navegación por la información en pantalla hasta la creación de informes, pasando por la entrada y validación de datos. Puede haber scripts externos y generadores de consultas que generan consultas SQL sobre la marcha, por lo que no es posible comprobar todas las combinaciones de consultas SQL ni siquiera con una revisión exhaustiva de los fuentes de la aplicación.
HQbird FBScanner de IBSurgeon es una herramienta que puede ayudarle a comprobar que las aplicaciones existentes funcionan con Firebird 3 y a detectar si hay errores o lentitud en las consultas SQL de las aplicaciones en migración. FBScanner es parte de HQbird Standard, el paquete de herramientas de análisis que monitoriza y optimiza servidores Firebird. Permite registrar las consultas en su versión actual de Firebird y probarlas en el nuevo servidor Firebird.
FBScanner funciona como un proxy entre los clientes y el servidor, registrando todas las comunicaciones: conexiones, transacciones, textos de sentencias SQL, número de fetches, planes SQL, errores y tiempos de preparación y ejecución de las consultas.
Puede instalar FBScanner mientras utiliza su versión actual de Firebird; configúrelo para monitorizar la comunicación y almacenar las consultas en una base de datos de registro. La configuración más habitual es instalar FBScanner en el mismo servidor, en el puerto 3050, y cambiar el puerto de Firebird a otros valores (3053, por ejemplo): en este caso, las aplicaciones Firebird existentes seguirán funcionando con la(s) base(s) de datos del servidor sin ningún cambio en su cadena de conexión:

También es posible configurar FBScanner en un equipo de terceros y enrutar solo algunos clientes a través de FBScanner para capturar únicamente sus comunicaciones.
Después de unos días de monitorización, la base de datos de registro contiene un gran número de consultas utilizadas en sus aplicaciones. Idealmente, debería cubrir toda la actividad SQL en la base de datos, con los detalles sobre tiempos y ejecución:
FBScanner le permite ejecutar las consultas que ha registrado. Utilizando la base de datos de registro, puede configurar un servidor de prueba Firebird 3, restaurar la base de datos original en él y usar el Analizador de Registros de FBScanner para ejecutar las consultas registradas.
FBScanner muestra el resultado en una cuadrícula, incluyendo la información de rendimiento, para que pueda comparar el tiempo de ejecución actual con el que obtuvo en el servidor antiguo, y comparar el PLAN antiguo con el nuevo PLAN.
La información de la cuadrícula se puede exportar a una hoja de cálculo de Excel.
Al comparar los tiempos de ejecución de las consultas, tenga en cuenta que factores externos influyen en el resultado. Una consideración es si las cachés del sistema operativo o de Firebird están “frías” o “calientes”. Obviamente, las consultas realizadas cuando la mayor parte de la información ya está en caché son más rápidas que cuando se recuperan datos del disco.
Puede comprar la versión completa de “Migration Guide To Firebird 3” aquí.
El HQbird Standard (que contiene FBScanner) se puede comprar aquí. Ofrecemos un 10% de descuento en HQbird Standard para aquellos que hayan comprado “Migration Guide To Firebird 3” - por favor, contáctenos para obtener un código de cupón de descuento.
IBSurgeon también ofrece un completo " Servicio de Migración para Firebird" - podemos ayudar a migrar bases de datos con procedimientos almacenados complejos, consultas y otra lógica, desde versiones antiguas de Firebird (1.0, 2.0, 2.1, 2.5) hasta versiones modernas (2.5, 3.0, o incluso 4.0).