A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SQL SERVER, WINDOWS E CPU Rodrigo Ribeiro

Apresentações semelhantes


Apresentação em tema: "SQL SERVER, WINDOWS E CPU Rodrigo Ribeiro"— Transcrição da apresentação:

1 SQL SERVER, WINDOWS E CPU Rodrigo Ribeiro Gomes @RodrigoR0Gomes | @TheSqlTimes rodrigor.gomes@hotmail.com

2 PATROCINADORES

3 Planning on attending PASS Summit 2015? Start saving today! The world’s largest gathering of SQL Server & BI professionals Take your SQL Server skills to the next level by learning from the world’s top SQL Server experts, in over 190 technical sessions Over 5000 registrations, representing 2000 companies, from 52 countries, ready to network & learn Save $150 right now using discount code LCCOMPRX86 or LCCOMPMD54

4 ENTENDER E INTERPRETAR AS INFORMAÇÕES SOBRE O USO DE CPU, TANTO EM WINDOWS QUANTO NO SQL SERVER OBJETIVO

5 CPU SQL x

6 AGENDA 1.Definições 2.O cálculo do uso de CPU 3.Impacto da concorrência e repetições 4.Tempo de Resposta vs Tempo de CPU 5.Conclusão 1.Definições 2.O cálculo do uso de CPU 3.Impacto da concorrência e repetições 4.Tempo de Resposta vs Tempo de CPU 5.Conclusão 1 -> 2 -> 3 -> 4 -> Conclusão

7 Definindo CPU PACKAGE/PROCESSADOR CORE (FÍSICO) CORE LÓGICO VAMOS DEFINIR CPU NO CONTEXTO DESTA APRESENTAÇÃO PROPÓSITO: EXECUTAR INSTRUÇÕES! CPU

8 O QUE É USO DA CPU “média de uso sobre um período de tempo” (2002,IBM SYSTEM MAGAZINE, http://www.ibmsystemsmag.com/) “% de tempo gasto fazendo trabalho. Se uma CPU de 2GHz gastar 1 bilhão de ciclos em 1 segundo, ela está 50% utilizada, para aquele segundo.” (2009,Matthew Robben,Program Manager, Windows Server Perfomance Team) “Quantidade de tempo que uma CPU foi usada para processar instruções. [...] Muitas vezes é útil medir a utilização como uma porcentagem da capacidade da CPU” (WIKIPEDIA, http://en.wikipedia.org/wiki/CPU_time) 1 -> 2 -> 3 -> 4 -> Conclusão

9 1 SEG. ( 1000 ms) 250 MS TEMPO GASTOS EXECUTANDO INSTRUÇÕES ADD MOV INTERVALO DE TEMPO DEFINIÇÃO: TEMPO GASTO EXECUTANDO INSTRUÇÕES DURANTE UM INTERVALO DE TEMPO = 500/1000 = 50% / () Como seria na prática, para threads e processos? 2 instruções executadas O QUE É USO DA CPU 1 -> 2 -> 3 -> 4 -> Conclusão

10 THREADS E PROCESSOS #1 100 MS 300 MS 50 MS 450/1000= 0,45 = 45% 1 SEGUNDO (1000 ms) Podemos monitorar threads e/ou processos individualmente #2 #3 PROCESSO 1 #1 #3 PROCESSO 2 #2 + + /= 70 MS 70/1000= 0,07 = 7% 45% 450ms 7% 70ms + = E quanto ao uso de uma CPU inteira? É possível obter mais de 100%? E quanto ao uso de uma CPU inteira? É possível obter mais de 100%? 1 -> 2 -> 3 -> 4 -> Conclusão

11 CPU 0 WINDOWS E O USO DE UMA CPU IDLE THREAD #1 #3 IDLE #0 #2 1 SEGUNDO #1 #2 #3 IDLE #0 160 MS 65 MS160 MS 315 MS200 MS 100 MS IDLE: 160 + 65 + 160 = 385 = 38,5% OUTRAS: 100+ 200 + 315 = 615 = 61,5% 100 – 38,5 = 61,5% E quando há várias CPUs? 1 -> 2 -> 3 -> 4 -> Conclusão

12 MULTI-CORE e MAIS DE 100%? 1 SEGUNDO CPU 0 CPU 1 PROCESSO 1 #1 #3 #1 #3 100% 1000ms + = SELECT * FROM ComParalelismo #4 #3 #2 #1 WORKER_TIME > ELAPSED_TIME (possibilidade) Por que o gerenciador de tarefas nunca acusa mais que 100%? 1 -> 2 -> 3 -> 4 -> Conclusão

13 USO DE CPU EM MULTI-CORE CPU 0CPU 1CPU 2CPU 3 E quanto aos gráficos? 0 12345678 1 -> 2 -> 3 -> 4 -> Conclusão

14 O que as ferramentas de monitoração estão nos dizendo? REPORTANDO O USO DE CPU 0 12 345678910 1 -> 2 -> 3 -> 4 -> Conclusão

15 DEMO Nesta demo vamos usar o task manager. process explorer e perfmon para observar e entender as informações de CPU apresentadas. Iremos: Explorar algumas ferramentas e usar os valores de uso CPU total, por core, por processo e por thread! Ver a Idle Thread em ação Mudar o intervalo de coleta Informações sobre uso de CPU no SQL Server Ver 200% de uso de CPU! Observando o uso de CPU #ObservandoUsoCPU 1 -> 2 -> 3 -> 4 -> Conclusão

16 TEMPO DE CPU x QTD 1 SEGUNDO CPU 0 200 ms 50 49 87 54 140 CPU 1 200 ms SELECT AVG(id) AvgID FROM SQLSat424.dbo.dados SUFICIENTE PARA 100%? CPU 2 100 UDF 1ms x 1000 linhas = 1s QUERY 10ms x 100 sessões = 1s Outros exemplos: 1 -> 2 -> 3 -> 4 -> Conclusão

17 TEMPO DE CPU x TEMPO TOTAL TEMPO DE VIDA DA THREAD CPU 0 FILA CPU0 #1 660 MS 2.000 MS (2s) 660 MS 400 MS 130 MS TEMPO DE EXECUÇÃO TOTAL = 660 + 2000 + 660 + 400 + 130 + 130 = 4000 ms (4s) TEMPO DE CPU TOTAL = 660 + 400 + 130 = 1190 ms (~ 29% de 4s) 1 -> 2 -> 3 -> 4 -> Conclusão

18 DEMO Nesta demo iremos explorar alguns recursos disponíveis no SQL Server para obter informações úteis sobre CPU e tempo de execução. Iremos: Ver como a concorrência está relacionada com o Gasto de CPU Ver como uma simples query pode causar 100% Como o uso de funções podem facilmente onerar uma CPU Comparar total de CPU vs Delta! Tirar “deltas” do uso de CPU Analisando o uso de CPU no SQL Server #SQLAnaliseCPU 1 -> 2 -> 3 -> 4 -> Conclusão

19 CONCLUSÃO TEMPO GASTOS EXECUTANDO INSTRUÇÕES INTERVALO DE TEMPO ADD MOV JMP CMP TOTAL DE CPU = MÉDIA TOTAL DE CPU = MÉDIA GASTO DE CPU = TEMPO EXECUTANDO INSTRUÇÕES GASTO DE CPU = TEMPO EXECUTANDO INSTRUÇÕES 10 QUERIES x 100ms = PODE CAUSAR 100%

20 REFERÊNCIAS Ivan Lima www.ivanglima.com.br Inside the Machine http://ivanglima.com/inside-the-machine/ www.ivanglima.com.br http://ivanglima.com/inside-the-machine/ Benito Piropo: www.bpiropo.com.brwww.bpiropo.com.br Interpreting CPU Utilization for perfomance Analysis http://blogs.technet.com/b/winserverperformance/archive/2009/08/06/interpreting-cpu-utilization- for-performance-analysis.aspx http://blogs.technet.com/b/winserverperformance/archive/2009/08/06/interpreting-cpu-utilization- for-performance-analysis.aspx Performance Insights to Intel® Hyper-Threading Technology https://software.intel.com/en-us/articles/performance-insights-to-intel-hyper-threading-technology/ https://software.intel.com/en-us/articles/performance-insights-to-intel-hyper-threading-technology/ Treinamento On Demand Sr. Nimbus: Paralelismo no SQL Server (Em breve) http://www.srnimbus.com.br/cursos/

21 DÚVIDAS

22 OBRIGADO www.thsqltimes.com www.thsqltimes.com @TheSqlTimes @RodrigoR0Gomes


Carregar ppt "SQL SERVER, WINDOWS E CPU Rodrigo Ribeiro"

Apresentações semelhantes


Anúncios Google