sql server 2008 resource governor

Download Sql Server 2008  Resource Governor

Post on 21-Jan-2016

28 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Francesco Diaz http://blogs.technet.com/francesco_diaz Partner Technical Consultant - Microsoft. Sql Server 2008 Resource Governor. Agenda. Introduzione I componenti di Sql Server Resource Governor Come funziona Sql Server Resource Governor Monitorare Sql Server Resource Governor - PowerPoint PPT Presentation

TRANSCRIPT

Sql Server 2008 Resource GovernorFrancesco Diaz http://blogs.technet.com/francesco_diaz Partner Technical Consultant - Microsoft3/8/2010 11:13 AM 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.1AgendaIntroduzioneI componenti di Sql Server Resource Governor Come funziona Sql Server Resource GovernorMonitorare Sql Server Resource Governor Utilizzo di Sql Server Resource GovernorDEMO2Effectively using the Resource Governor in SQL Server 20082IntroduzioneCosa Resource Governor?Un modo per segmentare i carichi di lavoro di SQL ServerUn modo per gestire le risorse di una istanza Sql Server

3Effectively using the Resource Governor in SQL Server 20083IntroduzionePerch siamo interessati a Resource Governor ?Vogliamo scegliere quali devono essere I carichi di lavoro a dover ricevere una migliore qualit del servizioVogliamo maggiore granularit nella gestione dei carichi di lavoroVogliamo monitorare i carichi di lavoro del nostro RDBMSAbbiamo la necessit di gestire in tempo reale il carico di lavoro

4Effectively using the Resource Governor in SQL Server 20084IntroduzioneQuando utile ?Quando un singolo server condivide pi workload e applicazioniQuando I carichi di lavoro sono in qualche modo uniformi e predicibiliQuando vogliamo ridurre il numero di istanze di SQL

5Effectively using the Resource Governor in SQL Server 20085IntroduzioneScenari di esempioApplicazioni che devono sempre funzionare anche quando il server sotto stressLimitare le query run-awayDare precedenza ai processi di alcuni utenti/gruppi

6Effectively using the Resource Governor in SQL Server 20086I componenti di Resource GovernorComponenti e terminologiaResource PoolsWorkload GroupsSessioni utenteFunzione di classificazione delle sessioni

7Effectively using the Resource Governor in SQL Server 20087I componenti di Resource GovernorResource PoolsUn pool pu essere definito come un server virtuale allinterno dellistanza di SQLUn modo per segmentare le risorse fisiche di Sql Server (CPU e memoria)Fino a 18 user defined pools per instanza (+ 2 system pools)internal pool utilizzato da SQL Server richiesto, non modificabile, pu accedere se necessario a tutte le risorsedefault pool il gruppo predefinito richiesto, modificabile8Effectively using the Resource Governor in SQL Server 20088I componenti di Resource GovernorResource PoolsComposti da :Gestione delle risorse MIN : il totale delle risorse minime di tutti I pools non pu superare 100Gestione delle risorse MAX : il totale pu anche essere 100, ma il valore MAX viene riconfigurato sulla base dei MIN degli altri poolOgni resource group pu avere + workload group, eccetto internal

9Effectively using the Resource Governor in SQL Server 20089I componenti di Resource GovernorWorkload GroupRappresenta il contenitore per le sessioni simili, secondo le classificazioni applicate a ciascuna richiesta2 di sistema (internal, default) + un numero illimitato customUsato per segmentare I resource poolOgni workload group pu esistere solo in un resource poolPosso fare modifiche al volo ma con alcune limitazioniRiclassificazione connessioni esistenti10Effectively using the Resource Governor in SQL Server 200810Come funziona Resource GovernorWorkload Groups di sistemaDefaultOgni sessione che non viene assegnata ad un gruppo finisce qui (catch-all)Pu essere modificatoInternalOperazioni di sistema girano in questo gruppoDAC gira in questo gruppoNON modificabile

11Effectively using the Resource Governor in SQL Server 200811I componenti di Resource GovernorSessioniUna connessione utente a Sql ServerVerificata ogni volta che lutente si connette(anche se il connection pooling abilitato)Collegato ad un gruppo finch la sessione esistePu esistere in un solo gruppo alla volta12Effectively using the Resource Governor in SQL Server 200812

Separa le sessioni in gruppiUna funzione di classificazione per istanzaViene salvata come UDF scalare nel MASTERNon accetta parametriPu impattare negativamente sulle prestazioni del server13Funzione di classificazione

Effectively using the Resource Governor in SQL Server 200813Funzione di classificazioneViene eseguita su ogni nuova connessione dopo i LOGON TRIGGERViene eseguita per ogni connessione anche in presenza di connection poolingSchemabindingSalvata nel masterNon modificabile n cancellabile quando viene usata come funzione di classificazioneRestituisce un sysname con il workload groupNon pu restituire internal

Funzione di classificazione

Possono essere usate funzioni esistentiHOST_NAME(), APP_NAME(), SUSER_NAME(), SUSER_SNAME(), IS_SRVROLEMEMBER(), IS_MEMBER()Nuove funzioni e nuove opzioniCONNECTIONPROPERTY (option)Opzioni: NET_TRANSPORT, PROTOCOL_TYPE, AUTH_SCHEME, LOCAL_NET_ADDRESS, LOCAL_TCP_PORT, CLIENT_NET_ADDRESSORIGINAL_DB_NAME()Nuove opzioni per LOGINPROPERTY()DefaultDatabase, DefaultLanguage

Funzione di classificazioneSegmentare I workload basandosi suIl database di destinazioneSQL\Domain user\Gruppo di ADApplicazione clientHostIn generale tutte le informazioni sulle stringhe di connessione + informazioni di rete16Effectively using the Resource Governor in SQL Server 200816Funzione di classificazione

CREATE FUNCTION dbo.fnTest()RETURNS SYSNAMEWITH SCHEMABINDINGASBEGINDECLARE @group SYSNAME--FD workload group name is CASE SENSITIVEIF suser_sname() = testuser'SET @group = testgroupELSESET @group = defaultRETURN @GROUPENDCome funziona il Resource GovernorSi applica alle risorse gestite da Sql ServerLe limitazioni sulla memoria si applicano solo alla RAM assegnata a SQL100% della CPU accessibile (eccetto Processor Affinity) Percentuali di CPUSono solo una linea guidaVengono implementate solo quando le risorse vengono contesePercentuali di memoria Sono assolutevengono assegnate quando il pool viene creatova usato con cura

18Effectively using the Resource Governor in SQL Server 200818Come funziona Resource GovernorSettaggi dei Resource PoolMIN_CPU_PERCENTMAX_CPU_PERCENTMIN_MEMORY_PERCENTMAX_MEMORY_PERCENT

19Pool name MIN % setting MAX % setting Calculated effective MAX % Calculated shared % Comment default01002525The effective MAX value is calculated as: min(100,100-(20+50+5)) = 25. The calculated shared % is Effective MAX - MIN = 25.Pool 1201004525The effective MAX value is calculated as: min(100,100-(50+5)) = 45. The calculated Shared % is Effective MAX - MIN = 25. Pool 250707020The effective MAX value is calculated as: min(70,100-(20+5)) = 70. The calculated Shared % is effective MAX - MIN = 20.Pool 351003025The effective MAX value is calculated as: min(100,100-(20+50)) = 30. The calculated Shared % is effective MAX - MIN = 25.Effectively using the Resource Governor in SQL Server 200819Usare Resource GovernorPosso cambiare dinamicamente I carichi di lavoroIn risposta a stimoli esterniBasandomi su uno schedule

Tracciare lutilizzo del Resource GovernorI workload groups possono essere monitorati

20Effectively using the Resource Governor in SQL Server 200820SuggerimentiTestVerificare con cura le performance della UDFMonitorare accuratamente in seguito ad una modifica della UDF

DebugUsare le viste e I performance counter disponibili21Effectively using the Resource Governor in SQL Server 200821AutorizzazioniAutorizzazioniCONTROL SERVER per la configurazione di Resource GovernorVIEW SERVER STATE per visualizzare la configurazione attiva

22Effectively using the Resource Governor in SQL Server 200822Limitazioni di Resource GovernorSolo Database EngineAnalysis Services, Reporting Services, etc. non vengono gestitiSingle instanceOgni istanza viene gestita individualmenteControls per CPU e MemoriaNo I/ODomande frequenti al supportoHo sbagliato la UDF e le sessioni vanno in timeout, come risolvo ?DAC non esegue la UDFSingle user (-m) non esegue la UDFHo fatto il restore del DB su un altra macchina ed il funzionamento non quello che mi aspettoTutte le configurazioni di RG sono nel master, il restore di un db su un altro Sql con configurazioni diverse potrebbe creare anomalieCome mai il resource pool degli utenti con limite CUP MAX 10 occupa tutta la CPU ?Il Resource Governor interviene solo in caso di risorse contese per la CPUMonitorare Resource GovernorResource Governor configurazione corrente e statistichesys.dm_resource_governor_configurationsys.dm_resource_governor_resource_poolssys.dm_resource_governor_workload_groups

Resource Governor valori memorizzati ma non detto che siano ancora stati applicatisys.resource_governor_configurationsys.resource_governor_resource_poolssys.resource_governor_workload_groups25Effectively using the Resource Governor in SQL Server 200825Monitorare Resource GovernorDMV con informazioni su Resource Governorsys.dm_exec_query_memory_grants sys.dm_exec_query_resource_semaphores sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_cached_plans sys.dm_os_memory_brokerssys.dm_os_wait_stats26Effectively using the Resource Governor in SQL Server 200826Monitorare Resource GovernorResource Governor - eventiErrori e Warnings - CPU Threshold Exceeded EventSegnala una query che ha violato REQUEST_MAX_CPU_TIME_SECSessioni - PreConnect:Starting EventSegnala linizio dellesecuzione di un trigger di LOGON o della funzione di classificazioneSessioni - PreConnect:Completed EventSegnala la fine dellesecuzione del LOGON trigger o della UDFResource Governor - contatoriSQLServer:Resource Pool StatsSQLServer:Workload Group Stats

27Effectively using the Resource Governor in SQL Server 200827Resource governor : comandi utiliALTER RESOURCE GOVERNOR RECONFIGUREViene fatto in automatico dalla GUIALTER RESOURCE GOVERNOR DISABLEVengono usati i valori di default, la UDF viene ignorataALTER RESOURCE GOVERNOR RESET STATISTICS

28Effectively using the Resource Governor in SQL Server 200828Reso

Recommended

View more >