Test delle query dell'applicazione (estratto da "Guida alla migrazione a Firebird 3")
Questo è un estratto dal libro " Migration Guide To Firebird 3" di Carlos Cantu.
Il passaggio da una versione di Firebird a un’altra può causare problemi con le query esistenti, che vanno da scarse prestazioni a un completo fallimento quando le query utilizzano parole chiave appena riservate o SQL non corretto che era stato accettato.
Un’applicazione include spesso centinaia di query, dalla navigazione delle informazioni sullo schermo alla creazione di report, fino all’immissione e alla validazione dei dati. Possono esserci script esterni e generatori di query che generano query SQL al volo, quindi non è possibile controllare tutte le combinazioni di query SQL nemmeno con un controllo approfondito dei sorgenti dell’applicazione.
HQbird FBScanner di IBSurgeon è uno strumento che può aiutarti a verificare che le applicazioni esistenti funzionino con Firebird 3 e a scoprire se ci sono errori o lentezza nelle query SQL delle applicazioni in migrazione. FBScanner fa parte di HQbird Standard, il pacchetto di strumenti di analisi che monitorano e ottimizzano i server Firebird. Consente di registrare le query sulla versione corrente di Firebird e di testarle sul nuovo server Firebird.
FBScanner funziona come proxy tra i client e il server, registrando tutte le comunicazioni: connessioni, transazioni, testi delle istruzioni SQL, numero di fetch, piani SQL, errori e tempi di preparazione ed esecuzione delle query.
Puoi installare FBScanner mentre utilizzi la tua versione corrente di Firebird; configuralo per monitorare la comunicazione e per memorizzare le query in un database di log. La configurazione più comune è installare FBScanner sullo stesso server, sulla porta 3050, e cambiare la porta di Firebird ad altri valori (ad esempio 3053): in questo caso le applicazioni Firebird esistenti continueranno a funzionare con i database sul server senza alcuna modifica nella loro stringa di connessione:

Inoltre, è possibile configurare FBScanner su un computer di terze parti e instradare solo alcuni client attraverso FBScanner per catturare solo le loro comunicazioni.
Dopo alcuni giorni di monitoraggio, il database di log contiene un gran numero di query utilizzate nelle tue applicazioni. Idealmente, dovrebbe coprire tutta l’attività SQL nel database, con i dettagli sui tempi e sull’esecuzione:
FBScanner ti consente di eseguire le query che hai registrato. Utilizzando il database di log, puoi configurare un server di test Firebird 3, ripristinare il database originale su di esso e utilizzare l’Analizzatore di Log di FBScanner per eseguire le query registrate.
FBScanner visualizza il risultato in una griglia, includendo le informazioni sulle prestazioni, così puoi confrontare il tempo di esecuzione corrente con quello ottenuto sul vecchio server e confrontare il vecchio PLAN con il nuovo PLAN.
Le informazioni nella griglia possono essere esportate in un foglio di calcolo Excel.
Quando confronti i tempi di esecuzione delle query, tieni presente che fattori esterni influenzano il risultato. Una considerazione è se le cache del sistema operativo o di Firebird sono “fredde” o “calde”. Ovviamente, le query eseguite quando la maggior parte delle informazioni è già in cache sono più veloci rispetto a quando i dati vengono recuperati dal disco.
Puoi acquistare la versione completa di “Migration Guide To Firebird 3” qui.
HQbird Standard (che contiene FBScanner) può essere acquistato qui. Offriamo uno sconto del 10% su HQbird Standard per coloro che hanno acquistato “Migration Guide To Firebird 3” - contattaci per ottenere un codice coupon di sconto.
IBSurgeon offre anche un completo " Servizio di Migrazione per Firebird" - possiamo aiutarti a migrare i database con procedure memorizzate complesse, query e altra logica, dalle versioni precedenti di Firebird (1.0, 2.0, 2.1, 2.5) a quelle moderne (2.5, 3.0, o anche 4.0).