1 / 30

Sql Server 2008 Resource Governor

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

janice
Download Presentation

Sql Server 2008 Resource Governor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Francesco Diaz http://blogs.technet.com/francesco_diaz Partner Technical Consultant - Microsoft Sql Server 2008 Resource Governor

  2. Agenda • Introduzione • I componentidiSql Server Resource Governor • Come funzionaSql Server Resource Governor • MonitorareSql Server Resource Governor • UtilizzodiSql Server Resource Governor • DEMO

  3. Introduzione • Cosa è Resource Governor? • Un modo per segmentareicarichidilavorodi SQL Server • Un modo per gestire le risorsediunaistanzaSql Server

  4. Introduzione • Perchèsiamointeressati a Resource Governor ? • Vogliamosceglierequalidevonoessere I carichidilavoro a doverricevereuna “migliorequalità” del servizio • Vogliamomaggioregranularitànellagestionedeicarichidilavoro • Vogliamomonitorareicarichidilavoro del nostro RDBMS • Abbiamo la necessitàdigestire in tempo realeilcaricodilavoro

  5. Introduzione • Quando è utile ? • Quando un singolo server condividepiù workload e applicazioni • Quando I carichidilavorosono in qualchemodouniformi e predicibili • Quandovogliamoridurreilnumerodiistanzedi SQL

  6. Introduzione • Scenaridiesempio • Applicazionichedevonosemprefunzionareanchequandoil server è sotto stress • Limitare le query run-away • Dare precedenzaaiprocessidialcuniutenti/gruppi

  7. I componentidi Resource Governor • Componenti e terminologia • Resource Pools • Workload Groups • Sessioniutente • Funzionediclassificazionedellesessioni

  8. I componentidi Resource Governor • Resource Pools • Un pool puòesseredefinito come un server virtualeall’internodell’istanzadi SQL • Un modo per segmentare le risorsefisichediSql Server (CPU e memoria) • Fino a 18 user defined pools per instanza (+ 2 system pools) • ‘internal’ pool è utilizzatoda SQL Server – richiesto, non modificabile, puòaccedere se necessario a tutte le risorse • ‘default’ pool è ilgruppopredefinito – richiesto, modificabile

  9. I componentidi Resource Governor • Resource Pools • Compostida : • Gestionedellerisorse MIN : iltotaledellerisorseminimeditutti I pools non puòsuperare 100 • Gestionedellerisorse MAX : iltotalepuòancheessere 100, ma ilvalore MAX vienericonfiguratosulla base dei MIN deglialtri pool • Ogni resource group puòavere + workload group, eccettointernal

  10. I componentidi Resource Governor • Workload Group • Rappresentailcontenitore per le sessionisimili, secondo le classificazioniapplicate a ciascunarichiesta • 2 disistema (internal, default) + un numeroillimitato custom • Usato per segmentare I resource pool • Ogni workload group puòesistere solo in un resource pool • Posso fare modifiche “al volo” ma con alcunelimitazioni • Riclassificazioneconnessioniesistenti

  11. Come funziona Resource Governor • Workload Groups disistema • Default • Ognisessioneche non vieneassegnata ad un gruppofinisce qui (catch-all) • Puòesseremodificato • Internal • Operazionidisistemagirano in questogruppo • DAC gira in questogruppo • NON modificabile

  12. I componentidi Resource Governor • Sessioni • Unaconnessioneutente a Sql Server • Verificataognivoltachel’utentesiconnette (anche se il connection pooling è abilitato) • Collegato ad un gruppofinchè la sessioneesiste • Puòesistere in un solo gruppoallavolta

  13. Funzionediclassificazione • Separa le sessioni in gruppi • Unafunzionediclassificazione per istanza • Vienesalvata come UDF scalarenel MASTER • Non accettaparametri • Puòimpattarenegativamentesulleprestazioni del server

  14. Funzionediclassificazione • Vieneeseguitasuogninuovaconnessionedopoi LOGON TRIGGER • Vieneeseguita per ogniconnessioneanche in presenzadi connection pooling • Schemabinding • Salvatanel master • Non è modificabilenècancellabilequandovieneusata come funzionediclassificazione • Restituisce un sysname con il workload group • Non puòrestituireinternal

  15. Funzionediclassificazione • Possonoessereusatefunzioniesistenti • HOST_NAME(), APP_NAME(), SUSER_NAME(), SUSER_SNAME(), IS_SRVROLEMEMBER(), IS_MEMBER() • Nuovefunzioni e nuoveopzioni • CONNECTIONPROPERTY (option) • Opzioni: NET_TRANSPORT, PROTOCOL_TYPE, AUTH_SCHEME, LOCAL_NET_ADDRESS, LOCAL_TCP_PORT, CLIENT_NET_ADDRESS • ORIGINAL_DB_NAME() • Nuoveopzioni per LOGINPROPERTY() • DefaultDatabase, DefaultLanguage

  16. Funzionediclassificazione • Segmentare I workload basandosisu… • Il database didestinazione • SQL\Domain user\Gruppodi AD • Applicazione client • Host • In generaletutte le informazionisullestringhediconnessione + informazionidirete

  17. Funzionediclassificazione CREATE FUNCTION dbo.fnTest() RETURNS SYSNAME WITH SCHEMABINDING AS BEGIN DECLARE @group SYSNAME --FD workload group name is CASE SENSITIVE IF suser_sname() = ‘testuser' SET @group = ‘testgroup‘ ELSE SET @group = ‘default’ RETURN @GROUP END

  18. Come funzionail Resource Governor • Si applicaallerisorsegestitedaSql Server • Le limitazionisullamemoriasiapplicano solo alla RAM assegnata a SQL • 100% della CPU è accessibile (eccetto Processor Affinity) • Percentualidi CPU… • …Sono solo unalineaguida • …Vengonoimplementate solo quando le risorsevengonocontese • Percentualidimemoria… • … Sonoassolute • …vengonoassegnatequandoil pool vienecreato • …vausato con cura

  19. Usare Resource Governor • Possocambiaredinamicamente I carichidilavoro • In risposta a stimoliesterni • Basandomisuuno schedule • Tracciarel’utilizzo del Resource Governor • I workload groups possonoesseremonitorati

  20. Suggerimenti • Test • Verificare con cura le performance della UDF • Monitorareaccuratamente in seguito ad unamodificadella UDF • Debug • Usare le viste e I performance counter disponibili

  21. Autorizzazioni • Autorizzazioni • CONTROL SERVER per la configurazionedi Resource Governor • VIEW SERVER STATE per visualizzare la configurazioneattiva

  22. Limitazioni di Resource Governor • Solo Database Engine • Analysis Services, Reporting Services, etc. non vengonogestiti • Single instance • Ogniistanzavienegestitaindividualmente • Controls per CPU e Memoria • No I/O

  23. Monitorare Resource Governor • Resource Governor – configurazionecorrente e statistiche • sys.dm_resource_governor_configuration • sys.dm_resource_governor_resource_pools • sys.dm_resource_governor_workload_groups • Resource Governor – valorimemorizzati ma non è dettochesianoancorastatiapplicati • sys.resource_governor_configuration • sys.resource_governor_resource_pools • sys.resource_governor_workload_groups

  24. Monitorare Resource Governor • DMV con informazionisu Resource Governor • sys.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_brokers • sys.dm_os_wait_stats

  25. Monitorare Resource Governor • Resource Governor - eventi • Errori e Warnings - CPU Threshold Exceeded Event • Segnalauna query che ha violato REQUEST_MAX_CPU_TIME_SEC • Sessioni - PreConnect:Starting Event • Segnalal’iniziodell’esecuzionedi un trigger di LOGON o dellafunzionediclassificazione • Sessioni - PreConnect:Completed Event • Segnala la fine dell’esecuzione del LOGON trigger o della UDF • Resource Governor - contatori • SQLServer:Resource Pool Stats • SQLServer:Workload Group Stats

  26. Resource governor : comandiutili • ALTER RESOURCE GOVERNOR RECONFIGURE • Vienefatto in automaticodalla GUI • ALTER RESOURCE GOVERNOR DISABLE • Vengonousatiivaloridi default, la UDF vieneignorata • ALTER RESOURCE GOVERNOR RESET STATISTICS

  27. Resource Governor DEMO

  28. SOMMARIO • I componentidi Resource Governor • Come funziona • Monitoraggio • Utilizzo

  29. Riferimentiutili • Resource Governor sutechnet • http://msdn.microsoft.com/en-us/library/bb933866.aspx • Blog team sviluppo • http://blogs.technet.com/sqlos/archive/2007/12/14/part-1-anatomy-of-sql-server-2008-resource-governor-cpu-demo.aspx • Sql Load Generator suCodeplex • http://sqlloadgenerator.codeplex.com/

  30. Grazie! BLOG : http://blogs.technet.com/francesco_diaz Email : francesco.diaz@microsoft.com

More Related