Tuning di SQL*Net TCP-IP su connessioni a bassa velocita'

Stanno avendo una sempre maggior diffusione connessioni a "bassa" velocita' verso l'RDBMS Oracle (connessioni su seriale, in WAN, su linee ISDN, ..). In alcuni casi possono presentarsi problemi dovuti alla lentezza del mezzo trasmissivo.

Per accessi di questo tipo e' necessario un'attenta analisi dell'architettura, sono tuttavia configurabili alcuni parametri che possono migliorare la comunicazione.

Architettura

L'architettura dell'applicazione deve essere studiata con attenzione.

Una tipica applicazione Client/Server con Oracle utilizza infatti pensantemente la connessione di rete presente. Per ogni statement SQL vengono infatti inviati parecchi messaggi (corrispondenti alle varie fasi di trattamento degli statement SQL: PREPARE, EXECUTE, FETCH, ...). Inoltre alcune sessioni di scambio dati possono richiedere pesanti trasferimenti.

E' pertanto importante conoscere sia la capacita' del canale trasmissivo che la latenza dello stesso.

L'utilizzo di Stored Procedures migliora notevolmente, in particolare dal punto di vista di numero di messaggi scambiati, il traffico di rete.

Hanno invece pesanti impatti sulla rete le funzioni di database distribuito con il TWO PHASE COMMIT.

SQL*Net v.2 vs v.1

Il traffico (ed in particolare il tipo di traffico) generato dalle due versioni di SQL*Net e' differente (eg. piu' describe di colonne su un singolo buffer, OOB, ..).

E' pertanto consigliato passare a v.2 su configurazioni di questo tipo (e' consigliabile comunque poiche' il supporto a v.1 avra' termine).

 

Stringa di connessione SQL*Net v.1

Nella stringa di connessione v.1 e' possibile specificare la dimensione del buffer utilizzato. Con basse velocita' puo' convenire variarne la dimensione (in diminuzione).

 

$ sqlplus scott/tiger@t:host[/port]:sid[,buffer]

 

Listener.ora

Possono essere modificati alcuni parametri:

Elevando tali parametri si diminuiscono i rischi di timeout dovuti alla lentezza del canale di comunicazione o al sovraccarico di rete.
SQLNET.ORA

Possono essere modificati i seguenti parametri:

 

Configurazione TCP-IP

Debbono essere controllati con attenzione i vari parametri di configurazione del software TCP-IP. Purtroppo tale configurazione dipende dal software installato (e su PC le scelte sono parecchie) e quindi non possono essere fornite indicazioni specifiche.

Una particolare attenzione deve essere rivolta nell'utilizzo del DNS per la risoluzione degli indirizzi. Infatti la risoluzione di un indirizzo con il DNS puo' richiedere parecchio tempo (e far scattare timeout) rallentando gli accessi o bloccandoli.

Debbono essere inoltre scelti con attenzione i tipi di logging e di tracing attivi.

Su linee seriali possono essere utilizzati i protocolli SLIP e PPP; il protocollo PPP e' piu' efficiente ed e' quindi consigliato per tale motivo (oltre che per le ulteriori funzionalita' di autentificazione e sicurezza).


Testo: Tuning di SQL*Net TCP-IP su connessioni a bassa velocita'
Data: 7 Febbraio 1997
Versione: 1.1.1
Autore: mail@meo.bogliolo.name