Informazioni sui problemi di prestazioni relativi alle tabelle

Completato

Azure Synapse Analytics è un motore ad alte prestazioni di elaborazione parallela elevata (MPP, Massive Parallel Processing) creato appositamente per il caricamento e l'esecuzione di query su set di dati di grandi dimensioni. Molti miglioramenti alle prestazioni delle query sono abilitati per impostazione predefinita per l'esecuzione di query sui dati di Azure Synapse Analytics; inoltre capacità e miglioramenti aggiuntivi sono stati ereditati dalla famiglia di prodotti SQL Server e hanno funzionalità progettate appositamente per sfruttare le capacità MPP nell'architettura di pool SQL dedicata.

Vi sono momenti, però, in cui le aspettative sulle prestazioni non vengono soddisfatte ed è necessario sapere quali aspetti delle strutture e dell'architettura delle tabelle possono essere rivisti e adattati per ottimizzare le prestazioni delle query. I sintomi che indicano la presenza di problemi di prestazioni relativi alle tabelle includono:

Prestazioni delle query insufficienti

La prima indicazione di un problema di prestazioni di query insufficiente arriva in genere dagli utenti aziendali che possono segnalare tempi di query o tempi di coda a esecuzione prolungata. È improbabile un utente incontri un messaggio "impossibile connettersi", a meno che l'istanza non venga sospesa.

Prestazioni di caricamento insufficienti

Le prestazioni di caricamento insufficienti possono essere segnalate dalla telemetria dei caricamenti dei dati tramite le pipeline di Azure Synapse oppure dagli utenti che segnalano che i dati nei report non sono aggiornati.

Bassa concorrenza

Con l'implementazione dei gruppi di carico di lavoro, il concetto di slot di concorrenza non viene più applicato. Le risorse vengono allocate su base percentuale e specificate nella definizione del gruppo di carico di lavoro. Esistono ancora quantità minime di risorse necessarie per le query in base al livello di servizio con almeno 4 query simultanee a livello di servizio di DW100c e 25% REQUEST_MIN_RESOURCE_GRANT_PERCENT.

Synapse SQL continuerà a tenere traccia dell'utilizzo delle risorse usando gli slot di concorrenza e una query verrà accodata in base all'importanza e agli slot di concorrenza disponibili. La query rimarrà nella coda finché non sono disponibili slot di concorrenza sufficienti.

Nota

L'importanza e gli slot di e concorrenza determinano la classificazione in ordine di priorità. Esistono cinque livelli di importanza, tra cui low, below_normal, normal, above_normal e high. Se non si imposta la richiesta verrà usato il livello predefinito normal.

La prima risposta consisterà nel verificare che il data warehouse sia impostato sull'intervallo del livello di servizio appropriato per garantire che vi siano memoria e slot di concorrenza sufficienti disponibili per più connessioni al servizio. Il ridimensionamento del servizio all'interno del portale di Azure o di Azure Synapse Studio oppure l'esecuzione di un'istruzione Transact-SQL o dell'istruzione PowerShell seguente risolverà il problema di priorità bassa.

Set-AzSqlDatabase -ResourceGroupName "resourcegroupname" -DatabaseName "mySampleDataWarehouse" -ServerName "sqlpoolservername" -RequestedServiceObjectiveName "DW300c"

Per visualizzare le query e le relative prestazioni assegnate, usare sys.dm_pdw_exec_requests

Nota

La vista sys.dm_pdw_exec_requests non è supportata dal pool SQL serverless in Azure Synapse Analytics, usare invece sys.dm_exec_requests

Anche con queste modifiche, è possibile che il problema di prestazioni non venga risolto. Il passaggio successivo consiste nell'esplorare altre aree che verranno esaminate più avanti in questo modulo per risolvere il problema.