Condividi tramite


Prestazioni

In questo argomento sono riportate informazioni per ottimizzare le prestazioni durante l'utilizzo del provider di dati.

Configurazione per le prestazioni

Per migliorare le prestazioni, configurare i provider nei modi indicati di seguito.

Risorse del pool OLE DB per ridurre i tempi di avvio della connessione

Il pool di risorse e il pool di connessioni OLE DB possono migliorare le prestazioni riducendo i tempi di avvio della connessione. Il pool di risorse viene abilitato tramite i componenti servizi OLE DB integrati nel sistema operativo Windows. È possibile abilitare il pool di risorse OLE DB configurando le impostazioni del Registro di sistema e le proprietà di inizializzazione di OLE DB. Per altre informazioni, vedere Pool di risorse OLE DB (https://go.microsoft.com/fwlink/?LinkID=180446).

Risorse del provider di pool per ridurre i tempi di avvio della connessione

Il pool di connessioni è un'ottimizzazione lato client che consente di ridurre i tempi di avvio della connessione, riducendo al tempo stesso l'utilizzo di memoria sul computer client. Il provider di dati supporta il pool di connessioni. È possibile specificare il pooling usando la stringa di inizializzazione dell'origine dati OLE DB (Connection Pooling=True). È anche possibile configurare il pooling usando la finestra di dialogo Avanzate della Creazione guidata origine dati e Tutti i collegamenti dati.

Il provider gestisce una cache di connessioni, in base alla proprietà Dimensioni massime pool. Le dimensioni predefinite del pool sono 100 connessioni (Max Pool Size=100 ), che è possibile modificare usando la finestra di dialogo All della Creazione guidata origine dati o collegamenti dati. Non esiste un limite massimo per la proprietà Dimensioni massime pool. Se si configura un valore inferiore a 0 per la proprietà Dimensioni massime pool, viene utilizzato il valore predefinito 100. Facoltativamente, è possibile specificare un numero di secondi per indicare al provider di dati il tempo di attesa per stabilire le connessioni utilizzando il pool lato client. Se tutte le connessioni di un pool sono in uso e il periodo di timeout termina, il provider di dati restituirà al consumer di dati un errore di "connessione non disponibile". Il valore predefinito è 15 secondi (Connect Timeout=15 ), che è possibile modificare usando la finestra di dialogo All della Creazione guidata origine dati o collegamenti dati. Non esiste un limite massimo per la proprietà Timeout di connessione. È possibile specificare il valore -1 per indicare al provider di dati di aspettare a tempo indefinito una connessione aperta nel pool di connessione lato client.

Ottimizzazione della cache di set di righe durante il recupero dei dati

La proprietà Dimensioni cache set di righe indica al provider di dati di recuperare preventivamente le righe da DB2 e di elaborare e restituire contemporaneamente delle righe al consumer di dati. Questa funzionalità consente di migliorare le prestazioni nelle operazioni bulk di sola lettura sui computer con più processori o processori multicore. Il valore predefinito per questa proprietà è 0 (RowsetCacheSize=0 ), che indica che la funzionalità di pre-recupero facoltativa è "disattivata". È consigliabile impostare un valore compreso tra 10 e 100, con un valore consigliato iniziale pari a 10, che è possibile modificare usando la finestra di dialogo All della Creazione guidata origine dati o collegamenti dati. Questa proprietà indica al provider di dati di recuperare preventivamente fino al numero specificato di batch di righe, archiviati nella cache dei set di righe del provider di dati. La dimensione dei batch di righe viene determinata automaticamente in base al valore di cRows nell'interfaccia OLE DB IRowset::GetNextRows specificata dal consumer.

Posticipo dei comandi prepare con parametri fino al momento dell'esecuzione

Posticipa comandi prepare indica al provider di dati di ottimizzare l'elaborazione dei comandi con parametri INSERT, UPDATE, DELETE e SELECT. È possibile specificare questa opzione usando la stringa di inizializzazione dell'origine dati ADO.NET stringa di connessione o OLE DB (Defer Prepare=True). È anche possibile configurare il pooling usando la finestra di dialogo Avanzate della Creazione guidata origine dati e Tutti i collegamenti dati. Per i comandi INSERT, UPDATE e DELETE, il provider di dati combina i comandi di preparazione, esecuzione e commit in un unico flusso di rete al database remoto. Per il comando SELECT, il provider di dati combina i comandi di preparazione ed esecuzione in un unico flusso di rete. Questa ottimizzazione ridurrà il traffico di rete e spesso migliorerà le prestazioni generali.

Recupero delle informazioni sullo schema dal catalogo shadow DB2

La proprietà Catalogo shadow indica al provider di dati di recuperare le informazioni sullo schema da un catalogo shadow DB2. L'amministratore DB2 può definire un catalogo shadow in modo che contenga le informazioni sullo schema per tabelle, colonne, chiavi primarie e indici. Queste informazioni vengono utilizzate da tutti i consumer di dati in fase di progettazione e solo da alcuni in fase di esecuzione. Il catalogo dello schema DB2 può diventare inaccessibile a causa di blocchi durante le operazioni di scrittura (creazione e modifica dell'esecuzione di istruzioni). Lo schema DB2 predefinito può inoltre avere grandi dimensioni e questo determina un aumento della latenza per le operazioni dei consumer di dati durante le fasi di progettazione e di esecuzione. L'utilizzo di un catalogo shadow consente di ridurre i problemi di contesa e di migliorare le prestazioni durante l'esecuzione delle operazioni di recupero dei dati dello schema.

Invio di più righe in una singola unità di lavoro

Il provider di dati supporta l'interfaccia OLE DB IRowsetFastLoad per consentire ai consumer, ad esempio Integration Services, di eseguire più istruzioni INSERT in batch ottimizzati. Questo consente di utilizzare al meglio i pacchetti di rete TCP/IP e di aumentare le prestazioni generali. È possibile selezionare IRowsetFastLoad durante la configurazione di destinazioni OLE DB nei flussi di dati all'interno di pacchetti di Integration Services nella finestra di progettazione dei pacchetti di Business Intelligence Development Studio. L'interfaccia IRowsetFastLoad è supportata durante l'inserimento in DB2. Per altre informazioni, vedere Modalità di accesso per Le proprietà personalizzate di destinazione OLE DB di Integration Services (https://go.microsoft.com/fwlink/?LinkId=241518).

Timeout dei comandi per interrompere query con esecuzione prolungata

Il provider di dati fornisce una proprietà di timeout dei comandi che consente di interrompere automaticamente le query con esecuzione prolungata che potrebbero compromettere le prestazioni. Il valore predefinito di DBPROP_COMMANDTIMEOUT per i set di righe OLE DB è 0, corrispondente a nessun timeout.

È possibile specificare il valore relativo al timeout dei comandi da numerosi consumer. Il provider di dati fornisce una proprietà DBPROP_COMMANDTIMEOUT per i set di righe OLE DB per consentire agli sviluppatori di interrompere automaticamente le query con esecuzione prolungata che potrebbero compromettere le prestazioni. Integration Services e Analysis Services espongono questa proprietà tramite l'opzione Timeout query dell'origine dati in Business Intelligence Development Studio. Reporting Services espone questa proprietà tramite l'opzione Timeout di Proprietà set di dati in Business Intelligence Development Studio. Replica e Processore di query espongono questa proprietà tramite l'sp_serveroption, @optname=query timeout.

Misurazione delle prestazioni

Per misurare le prestazioni, nel provider di dati sono disponibili contatori delle prestazioni. Per impostazione predefinita, i contatori delle prestazioni sono disattivati. È possibile attivarli impostando su 1 il valore della seguente chiave del Registro di sistema:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1

I contatori delle prestazioni del provider di dati acquisiscono informazioni relative a connessioni aperte, istruzioni aperte, pacchetti e byte inviati/ricevuti, tempo medio di elaborazione dell'host (server DB2), esecuzioni di comandi, recuperi di dati e commit/rollback delle transazioni. Per altre informazioni, vedere Contatori delle prestazioni (https://go.microsoft.com/fwlink/?LinkID=119211).