la memoria massima del server sql include SSIS?


9

Ho installato 2 istanze di SQL Server più SSIS sul seguente server.

Si noti che la quantità di RAM è di quasi 384 GB

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

E queste sono le impostazioni di memoria massima e minima che ho applicato alle mie 2 istanze. Suppongo che entrambe le istanze utilizzeranno la stessa quantità di risorse, se così fosse, 184.320 MB, che è 180 GB, sarebbero un buon numero di partenza per impostare la mia memoria?

Quanta memoria dovrei allocare a SSIS?


2
Per quanto riguarda la domanda NO, la memoria per SSIS non proviene dal pool buffer in nessuna istanza di SQL Server
Shanky,

1
Avrai mai più di un pacchetto SSIS in esecuzione contemporaneamente? In tal caso, entrambi contenderanno la memoria del sistema operativo gratuita, quindi tienilo a mente.
Billinkc,

Risposte:


10

(Dallo screenshot) Vedo una configurazione insolita in cui hai impostato la stessa memoria Min e Max di SQL Server. Lasciare la memoria minima come predefinita. Vedi la mia risposta alla memoria del server minimo di SQL Server .

Per determinare la memoria ideale, consultare - Come determinare la memoria ideale, ad esempio? e configurazione massima e minima della memoria di SQL Server

Abbiamo SSIS in esecuzione pacchetti sui nostri server di produzione e difficilmente causano problemi di memoria. Lascio solo abbastanza memoria per il sistema operativo, poiché DTExec.exeè un processo esterno sqlserver.exee quindi i suoi requisiti di memoria non saranno inclusi come parte della memoria MAX. Inoltre, SSIS è progettato per elaborare grandi quantità di dati riga per riga in memoria ad alta velocità.

Se ritieni che ci siano pacchetti SSIS che funzionano per ore, ti suggerirei di monitorare i seguenti contatori delle prestazioni SSIS :

Buffers in use
Flat buffers in use
Private buffers in use
Buffers spooled
Rows read
Rows written

e dalle 10 migliori pratiche di SQL Server Integration Services - Team SQL CAT

Byte di processo / privati ​​(DTEXEC.exe): la quantità di memoria attualmente utilizzata da Integration Services. Questa memoria non può essere condivisa con altri processi.

Process / Working Set (DTEXEC.exe): la quantità totale di memoria allocata da Integration Services.

Vecchio ma ancora rilevante: Integration Services: tecniche di ottimizzazione delle prestazioni


5

Di quanta memoria ha bisogno SSIS? (La vera risposta è: dipende .)

Tuttavia, Jonathan Kehayias ha una formula che è abbastanza buona, o almeno così penso, dal momento che funziona benissimo per me.

https://www.sqlskills.com/blogs/jonathan/how-much-memory-does-my-sql-server-actually-need/

La semplice formula per riservare spazio per esigenze diverse da SQL Server in Windows è:

Inizia con 1 GB, più 1 GB per ogni 4 GB nella macchina tra 4 e 16 GB, più 1 GB per ogni 8 GB nella macchina oltre 16 GB.

Dopodiché dovresti fare un po 'di monitoraggio per determinare se hai bisogno di più o meno memoria per i tuoi pacchetti SSIS. Questa è la parte che dipende dalla pianificazione per l'uso della memoria. Se riscontri problemi con i tuoi processi SSIS, devi determinare se è necessaria più memoria.

Poiché hai due istanze sullo stesso server, ciò richiederà probabilmente un'ulteriore ottimizzazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.