Questa pagina è stata tradotta automaticamente. Leggi l'originale in inglese. English

Libreria IBSurgeon

Guida per l'utente di IBTransaction Monitor

Dmitry Kuzmenko, 08-Giu-2008

IBSurgeon Transaction Monitor (IBTM) è un pacchetto software progettato per monitorare, visualizzare e analizzare le transazioni dinamiche all’interno dei database InterBase e Firebird.

Sommario

Guida per l’utente di IBSurgeon Transaction Monitor. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}

Contenuto del pacchetto?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Monitor{C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Cosa viene registrato?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Assistente di configurazione{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}

Utilizzo dell’Assistente di configurazione{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Gestione del servizio Monitor. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Configurazione dei server. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Configurazione dei database. {C}{C}{C}{C}5{C}{C}{C}{C}{C}{C}{C}{C}{C}

Visualizzatore{C}{C}{C}{C}8{C}{C}{C}{C}{C}{C}{C}{C}{C}

Tipi di visualizzazione grafica. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}

Supporto tecnico{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}

Il pacchetto IBTM contiene tre moduli principali:

  • Monitor - Un piccolo programma basato su servizio Win32 per monitorare e registrare gli stati delle transazioni da uno o più database.
  • Assistente di configurazione Per configurare le impostazioni per il Monitor e il Visualizzatore.
  • Visualizzatore Progettato per visualizzare e analizzare le informazioni registrate dal Monitor.

Il Monitor è un piccolo programma basato su servizio Win32 (ibtm.exe), che funziona su Windows NT, 2000, XP e Windows Server 2003 e 2008 (sia a 32 che a 64 bit). All’avvio, il Monitor legge le impostazioni (impostate dall’Assistente di configurazione) e monitora il database specificato. Durante il monitoraggio, si connette al database ogni minuto (intervallo predefinito consigliato) e legge lo stato delle transazioni.

Se InterBase o Firebird è in esecuzione su Windows, il Monitor può essere installato sul server in cui risiede il database. Per server basati su Linux, può essere installato su qualsiasi computer Windows con accesso di rete al server InterBase o Firebird. È possibile installare il Monitor utilizzando i seguenti metodi:

  • Utilizzando l’Assistente di configurazione
  • Da una finestra della shell dei comandi

Importante! Prima di iniziare l’installazione del Monitor, è necessario assicurarsi di aver effettuato l’accesso a Windows con diritti e privilegi di Amministratore. Il Monitor verrà installato come servizio con avvio Automatico sotto l’account utente Localsystem.

Poiché il Monitor si connette solo periodicamente al database e scrive le informazioni raccolte in un file di registro di testo semplice, non è necessario applicare ulteriori regole. Tuttavia, se si desidera proteggere la configurazione del Monitor e le informazioni di accesso al database, è necessario modificare le impostazioni del servizio del Monitor e l’accesso alla sua directory (e al registro) come richiesto, tramite il Pannello di controllo dei servizi di Windows.

I parametri di configurazione del Monitor saranno discussi nell’Assistente di configurazione.

Il Monitor controlla periodicamente la pagina di intestazione del database, quindi memorizza le informazioni sulle transazioni del database nel registro, come segue:

  • Ora del registro
  • Numero della transazione più vecchia
  • Numero della transazione snapshot più vecchia
  • Numero della transazione attiva più vecchia
  • Numero della transazione successiva
  • Conteggio delle transazioni attive (dipende dalla versione del server)

Queste informazioni vengono memorizzate nel file di registro e possono essere visualizzate e analizzate utilizzando il Visualizzatore. Utilizzando le informazioni sullo stato delle transazioni visive, è possibile comprendere per quanto tempo le applicazioni mantengono aperte le transazioni, quante transazioni simultanee sono in esecuzione, per quanto tempo sono in esecuzione le transazioni snapshot, quando è il periodo di maggiore intensità in cui le applicazioni avviano transazioni, ecc.

Nota: Il Monitor registra le informazioni sullo stato delle transazioni nel file di registro locale. Non invia queste o altre informazioni attraverso la rete.

L’Assistente di configurazione (ibtmconfig.exe) viene utilizzato per impostare i parametri di configurazione per il Monitor e il Visualizzatore. Salva i parametri di configurazione nel file ibtm.ini.

! Su Windows Vista o Windows 7 è necessario eseguire l’Assistente di configurazione con privilegi amministrativi (clic con il tasto destro del mouse), altrimenti non sarà in grado di gestire il servizio IBTM (Errore 5, accesso negato).

Suggerimento! IBTM non utilizza il Registro di sistema per memorizzare i parametri di configurazione, quindi è possibile preparare una configurazione su un computer e quindi spostare ibtm.ini su un altro computer in cui è installato il Monitor (il servizio Monitor deve essere riavviato per leggere una nuova configurazione).

Il Monitor e l’Assistente di configurazione vengono posizionati dall’installer IBTM nella stessa directory, in modo che il Monitor e l’Assistente di configurazione condividano lo stesso file di configurazione (ibtm.ini).

Descrizione: E:\IBSurgeon\IBTM\ibtmconfig.gif

L’Assistente di configurazione aiuta a:

  • Gestire il servizio Monitor - installare, disinstallare, avviare, arrestare, mettere in pausa e riavviare.
  • Specificare i server InterBase o Firebird che hanno database che devono essere monitorati
  • Specificare database e opzioni di monitoraggio/pianificazione per un particolare database

Descrizione: E:\IBSurgeon\IBTM\ibtmconfig1.gif

Quando l’Assistente di configurazione si avvia, determina lo stato del servizio Monitor sul Sistema.

Installazione del Monitor - se il servizio Monitor non è installato, verrà visualizzato un messaggio “non installato” nell’etichetta di stato IBTM nell’angolo superiore sinistro. Per installare il Monitor, premere il pulsante Installa sul lato destro della finestra. Notare che il servizio Monitor utilizzerà il valore della casella di controllo Tipo di avvio (automatico o manuale). Se l’installazione del servizio Monitor è riuscita, vedrai lo stato IBTM cambiare in “arrestato” e il pulsante “Esegui servizio” sarà abilitato.

È necessario riavviare il servizio Monitor ogni volta che si modificano i parametri di configurazione del database.

IBTM utilizza il protocollo di connessione TCP/IP per accedere ai database per il monitoraggio. Quindi, se hai installato il Monitor sullo stesso computer in cui si trova il server, devi aggiungere il server come localhost o il nome host del server. Una volta fatto questo, sarai in grado di aggiungere i database che verranno monitorati su questo server.

Con questa versione di IBTM puoi monitorare solo un singolo database alla volta. Sono richieste licenze aggiuntive per il monitoraggio simultaneo di uno o più database. Contattaci per i dettagli ( www.ibphoenix.com).

Tuttavia, puoi configurare più server e database e passare da uno all’altro per selezionare il database da monitorare (il database attivo sarà evidenziato in grassetto). Con licenze aggiuntive potrai monitorare più database contemporaneamente.

Utilizza i pulsanti Aggiungi server e Aggiungi database sul lato sinistro dell’elenco Database.

Ogni record di database può essere configurato con i seguenti parametri:

Metodo di ottenimento statistiche. Questo dipende dalla versione del server e supporta diverse capacità. Ogni metodo viene descritto con i suoi pro e contro:

Services API Firebird API Tabelle TMP$
InterBase 4.x/5.x No No No
InterBase 6.0 Classic No No No
Firebird Classic -
1.0, 1.5.0, 1.5.1, 1.5.2
No No
InterBase 6.x SuperServer No No
InterBase 7.x/2007 No
Firebird Classic e SuperServer: 1.5.3, 1.5.4 /2.0 No

Differenze tra Services API, Firebird API e tabelle TMP$:

Metodo Pro Difetti
Services API
API pubblica introdotta in InterBase 6.0 SuperServer
- Metodo universale, funziona con tutte le versioni di InterBase e Firebird
- Non influisce sulla transazione successiva
- Non ha la capacità di trovare il conteggio reale delle transazioni attive
- Può mostrare informazioni obsolete se il server salva raramente la pagina di intestazione del database su disco (InterBase V7.1/V7.5)
Firebird API
Firebird dalla V1.0 ha parametri estesi per la chiamata isc_database_info, che consente la restituzione delle informazioni sullo stato delle transazioni.
Consente di ottenere le informazioni sul conteggio delle transazioni attive (non più di 4676 transazioni attive) - Non supportato da nessuna versione di InterBase
- Incrementa internamente la transazione successiva. Il Monitor incrementerà la transazione successiva di +1 ogni volta che si connette al database. Se non c’è attività di transazione nel database in questo momento, i numeri della transazione attiva più vecchia, dello snapshot più vecchio e della transazione più vecchia rimarranno invariati.


Se non c’è alcuna attività nel database, il Monitor stesso incrementerà la transazione successiva a +1440 in 24 ore, se è configurato per controllare il database ogni (1) minuto.


(La Firebird API stessa non ha questo effetto. Il comportamento descritto è specifico del metodo isc_database_info)
Tabelle TMP$
Introdotte in InterBase 7.0 per consentire il monitoraggio dello stato del server
- Consente il recupero dello stato effettivo delle transazioni da InterBase V7.x/V2007, incluso il conteggio delle transazioni attive.
- Per ottenere le informazioni sullo stato delle transazioni, il Monitor avvia una transazione con parametri read_only read_committed rec_version. Tale transazione non viene trattata come attiva ai fini della contabilità delle transazioni e non influisce sulle prestazioni del server o del database.
- Supportato solo da InterBase V7.0/V7.1/V7.5/V2007
- Come con la Firebird API, incrementa il numero della transazione successiva, perché la lettura dei dati dalle tabelle TMP$ deve essere effettuata all’interno di una transazione.
- Il tempo di accesso è leggermente più lungo rispetto all’utilizzo della Services API (< 0,5 secondi).

Se hai scelto un metodo di statistiche incompatibile con il tuo server, non verrà scritto nulla nel registro delle transazioni del Monitor. Controlla la scheda Registro errori nell’Assistente di configurazione per vedere gli errori che possono verificarsi durante il monitoraggio del database.

Intervallo di controllo. Determina la frequenza con cui il Monitor preleva le informazioni sulle transazioni da un database. 1 minuto è l’intervallo minimo. Puoi impostare intervalli di 1, 3, 5, 10, 20, 30 minuti, o anche un intervallo di 1 ora, ma l’intervallo più informativo è di 1 o 3 minuti.

Utilizzando l’intervallo di 1 minuto, il Monitor controllerà lo stato delle transazioni del database 1440 volte ogni 24 ore. La dimensione del file di registro sarà di ~150 Kilobyte.

Ora di inizio e Ora di fine. Se non impostate, il Monitor preleverà le statistiche dal database specificato per tutto il tempo in cui è in funzione. Se il limite di tempo è impostato, il Monitor opererà solo per il periodo di tempo specificato.

Nome utente e Password. Il nome utente e la password per l’account che verrà utilizzato per monitorare lo stato delle transazioni del database. Puoi utilizzare il login SYSDBA o qualsiasi altro login utente desideri. Se viene utilizzato un login non-SYSDBA, per i metodi Services API e Firebird API non è necessario concedere privilegi aggiuntivi per quell’account utente. Puoi creare un utente come ‘TM’ e il Monitor funzionerà correttamente.

Per le Tabelle di Sistema Temporanee (IB V7.1, V7.5, V2007), il login utente deve avere diritti di accesso in lettura sulle tabelle TMP$TRANSACTIONS e TMP$DATABASES. Se utilizzi l’Autenticazione Utente Incorporata nel tuo database InterBase V7.5/V2007, devi creare un login e concedere esplicitamente quei diritti di accesso per quel database.

Pulsante Test connessione server.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmconfig2.gif src=/images/ibtm/ibtmconfig2.gif

Consente di verificare il server specificato per il miglior metodo di monitoraggio delle transazioni. Puoi anche utilizzare questo pulsante per verificare se il metodo selezionato funziona per il server specificato.

Il Visualizzatore può visualizzare le informazioni sulle transazioni raccolte dal Monitor. La directory di base per i file .tmd viene presa dalle impostazioni dell’Assistente di configurazione.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv001.gif src=/images/ibtm/ibtmv001.gif

Sul lato sinistro è possibile vedere l’elenco dei file di statistiche. Per impostazione predefinita, il Viewer cerca nella cartella Log che si trova nella cartella di installazione di base. È possibile modificare questa cartella tramite l’Assistente di configurazione, oppure aprire la cartella desiderata tramite la voce di menu del Viewer.

Fare clic sul file di statistiche: verrà visualizzato immediatamente nel grafico. È possibile controllare più statistiche contemporaneamente tenendo premuto il tasto Ctrl o Shift e facendo clic sui file di statistiche:

data-cke-213- data-cke-saved-src=

Nell’angolo inferiore sinistro è possibile attivare o disattivare diverse linee del grafico (Next, Oldest…). Ad esempio, se si desidera visualizzare le dinamiche delle transazioni, attivare Next dynamic: mostrerà quante nuove transazioni sono state avviate tra le letture IBTM dal database:

data-cke-213- data-cke-saved-src=

Sui lati destro, sinistro, superiore e inferiore del grafico sono presenti linee speciali che è possibile trascinare (usando il mouse) per verificare quando si è verificato un evento e quale valore ha. Osservare la linea verticale blu al centro del grafico e la linea orizzontale marrone. Quando si spostano queste linee, le etichette corrispondenti cambiano: le linee verticali consentono di indicare un momento specifico, le linee orizzontali consentono di indicare numeri di transazione specifici:

data-cke-213- data-cke-saved-src=

È inoltre possibile ingrandire o ridurre l’intervallo orizzontalmente, verticalmente o in entrambe le direzioni. Per riportare il grafico allo stato iniziale, premere il pulsante Reset Zoom (oppure eseguire lo zoom con il mouse nella direzione opposta).

data-cke-213- data-cke-saved-src=

Importante! Se i dati delle statistiche IBTM sono stati raccolti utilizzando i metodi di accesso Firebird o InterBase 7.x, è possibile visualizzare il conteggio reale delle transazioni attive.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv008.gif src=/images/ibtm/ibtmv008.gif

Questo grafico mostra che il 10 novembre 2005 c’erano da 65 a 105 transazioni attive, aperte dalle applicazioni. Inoltre, si può notare che durante la pausa pranzo (dalle 13:00 alle 14:00) c’erano ancora circa 80 transazioni attive. Ciò significa che:

  • gli utenti non chiudono le applicazioni quando vanno a pranzo
  • le applicazioni hanno transazioni aperte e attive

Utilizzando queste informazioni è possibile prendere decisioni su cosa potrebbe non funzionare nel modo in cui le applicazioni operano. Ciò dipenderà da quante transazioni sono gestite direttamente dalle applicazioni.

Ci sono tre pulsanti che modificano la visualizzazione del grafico:

Relative (oldest). Calcolato sottraendo la transazione Oldest o lo snapshot Oldest (qualunque sia il minore) dai numeri delle transazioni Next e Oldest Active. Consente di vedere il divario delle transazioni semi-attive osservando la legenda sul lato sinistro del grafico. Ecco un esempio del grafico precedente con il pulsante Relative attivato:

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv006.gif src=/images/ibtm/ibtmv006.gif

AutoMin. Per impostazione predefinita, quando si apre un file di statistiche IBTM, il numero di transazione più basso viene automaticamente trattato come “0”. Normalmente, questa sarebbe la transazione Oldest (interessante) o lo snapshot Oldest.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv001-1.gif src=/images/ibtm/ibtmv001-1.gif

Abs. Consente di vedere il flusso dei numeri di transazione e la differenza per numeri di transazione elevati. Nelle immagini precedenti il numero di transazione più basso era di circa 7 milioni, rendendo difficile comprendere la differenza, ad esempio, tra le transazioni Oldest e Next. Qui possiamo vedere che, per queste statistiche, la differenza dei dati non era superiore a 18000 transazioni.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv007.gif src=/images/ibtm/ibtmv007.gif

Se desideri una spiegazione professionale del comportamento delle transazioni per il tuo database, potresti ordinare il nostro supporto tecnico. Per favore, leggi di più sui nostri servizi qui.

Inoltre, non esitare a contattarci per qualsiasi domanda via email a [email protected].