Ao ajustar o desempenho, o que é mais importante:
- Tempo de CPU ou tempo decorrido?
- Existem cenários em que um deles é mais importante que o outro?
Um exemplo: ao ajustar o desempenho, o tempo da CPU será reduzido em ~ 38%, mas o Tempo decorrido aumentará em ~ 22%. Isso é uma melhoria ?
sql-server
performance
performance-tuning
EnterTheCode
fonte
fonte
Respostas:
Tempo da CPU é a quantidade de tempo do processador gasto pelo processo. Isso não indica duração . "Tempo decorrido" representa a duração total da tarefa. Se uma determinada tarefa usar um paralelismo de 8 (ou seja, 8 threads), e cada thread for usado a uma taxa de 100% durante toda a duração da tarefa, o tempo da CPU poderá ser 8000ms, enquanto o Tempo decorrido será de apenas 1000ms.
Portanto, um "Tempo decorrido" mais curto indica um tempo de resposta mais rápido.
Você pode querer um tempo de CPU mais curto e um tempo decorrido mais longo, se estiver preocupado com a pressão da CPU e não se importar com a experiência do usuário.
Você pode aceitar um tempo maior da CPU se isso resultar em uma queda no tempo decorrido, pois isso pode indicar que o usuário está esperando menos, às custas de uma maior utilização da CPU.
Indiscutivelmente, a métrica mais importante para o ajuste de consultas seria o tempo de espera .
fonte
Isso depende inteiramente do que você está otimizando e por quê. No sentido mais comum - velocidade da saída da consulta - isso não é uma melhoria, como Max Vernon observou em sua resposta.
No entanto, se o seu sistema estiver ligado à CPU, isso seria uma melhoria, pois você diminuiu a carga da CPU. De fato, se esse fosse o caso, o resultado final também poderia significar um retorno mais rápido do conjunto de resultados.
E se o seu sistema estivesse ligado ao disco ou à memória, seria um resultado neutro, pois não há indicação de que tenha melhorado ou degradado essas medidas.
Então, 95% das vezes, Max está absolutamente correto - isso não é uma melhoria. Nos poucos casos restantes, pode ser uma melhoria.
fonte