Insights
Insights são instruções sobre padrões observados em dados históricos de desempenho de SQL que são consistentes com certos tipos de problemas ou eventos interessantes. Esses Insights são calculados diariamente e, em particular, não são declarações de fatos, mas sinais indiretos que são consistentes com certos tipos de fatos.
Por exemplo, o insight de alteração do plano procura uma sequência de observações com um hash de plano seguido por uma sequência de observações com outro hash de plano, para um determinado SQL_ID diariamente. Isso é consistente com o caso comum do otimizador de consulta usando um único plano para SQL_ID e, em seguida, alternando para outro plano. É imperfeito porque os dados coletados registram apenas o plano em uso no momento da coleta, a cada 30 minutos. Muitos planos podem ter sido usados que não foram registrados, mas esse não é o caso comum.
- Insights no nível da frota
- Insights no nível do banco de dados
- Insights de nível de SQL
Essas regiões de widget permitem verificar e verificar rapidamente insights em um único lugar, com um widget de comunicação visual padronizado simples. Dentro desses insights, os indicadores de cores mostram os seguintes status:
- Cinza: Insight não detectado.
- Azul: Insight detectado, provavelmente não problemático.
- Laranja: Insight detectado, pode ser problemático.
| Insight | Caso de uso | Análise e saída | Observações |
|---|---|---|---|
| Alterações do plano | Algum banco de dados está tendo mais de algumas alterações de plano?
Qual é? |
Contagem de bancos de dados com insights de alteração de plano durante o período. | Indicador de status do mosaico de informações:
A ausência de alterações no plano deve indicar estabilidade na carga de trabalho se as taxas de execução permanecerem semelhantes. |
| Storms de invalidação | Algum banco de dados sofreu uma recompilação extensa de SQL/PLSQL devido à invalidação do objeto?
Qual é? |
Contagem de bancos de dados com pelo menos um dia no período em que o insight de tempestade de invalidação era verdadeiro. | Indicador de status do mosaico de informações:
Níveis excessivos e inesperados de invalidações de SQL podem estar relacionados a eventos e podem consumir muita CPU. Níveis cronicamente elevados de invalidações podem induzir carga desnecessária na base de dados, |
| Duplicações de compartilhamento de cursor | Algum banco de dados tem aplicativos que não compartilham cursores e desperdiçam CPU?
Qual é? |
Contagem de bancos de dados nos quais o insight de compartilhamento do cursor foi verdadeiro durante o período. | Indicador de status do mosaico de informações:
|
| Degradação de SQL |
Algum banco de dados tem SQL que pode estar degradando com o tempo? Qual é? |
Contagem de bancos de dados que têm pelo menos um SQL_ID em que o insight SQL degradante foi verdadeiro durante o período. | Indicador de status do mosaico de informações:
|
Insights no Nível do Banco de Dados
| Insight | Casos de uso | Análise e saída | Observações |
|---|---|---|---|
| Tendência degradante | O banco de dados tem algum SQL que mostre desempenho degradante durante o período?
Qual é? |
Contagem do número de SQL_ID com insight de tendência de desempenho degradante durante o período. | Calculado por banco de dados (todas as instâncias combinadas)
Indicador de status do mosaico de informações:
|
| Melhorando a tendência | A instância do banco de dados tem algum SQL que mostre melhor desempenho ao longo do período?
Qual é? |
Contagem do número de SQL_ID com melhoria do insight de tendência de desempenho ao longo do período. |
Calculado por banco de dados (todas as instâncias combinadas) Indicador de status do mosaico de informações:
|
| Alterações de plano degradado | As instâncias do banco de dados viram alguma alteração no plano que prejudicou o desempenho no período?
Qual é? |
Contagem do número de SQL_ID com insight de alteração de plano único julgado degradado ao longo do período | O total estimado de segundos extras por dia salvos é calculado para classificar este banco de dados em relação a outros.
Indicador de status do mosaico de informações:
OBSERVAÇÃO: as alterações do plano são por instância |
| Alterações de plano melhorado | As instâncias do banco de dados viram alguma alteração no plano que melhorou o desempenho no período?
Qual é? |
Contagem do número de SQL_ID com insight de alteração de plano único julgado para ser aprimorado ao longo do período | O total de segundos estimados salvos por dia é calculado para classificar este banco de dados em relação a outros.
Indicador de status do mosaico de informações:
OBSERVAÇÃO: as alterações do plano são por instância |
| Storm de invalidação | Houve invalidação e recompilação generalizadas de SQL na instância do banco de dados durante o período? | A contagem do número de dias em que pelo menos 20% do SQL total coletado também foi invalidada nesse dia. | Este é um verdadeiro insight no nível do banco de dados, pois diz respeito a todas as SQL coletadas das instâncias do banco de dados por dia.
Indicador de status do mosaico de informações:
|
| Novo SQL | O banco de dados fez algum novo trabalho no período?
Que SQL e quanto trabalho? |
Contagem do número de SQL_ID com timestamp de coleta inicial no período. | O SQL pode não ser realmente novo no banco de dados, apenas novo no Ops Insights.
Indicador de status do mosaico de informações:
|
Insights em Nível de SQL
| Insight | Caso de uso | Análise e saída | Observações |
|---|---|---|---|
| Tendência de desempenho | A latência de execução de SQL variou consistentemente para cima ou para baixo ao longo do tempo durante o período?
Os planos de execução podem ser sensíveis à expansão ou à contratação de tamanhos de dados. |
Sinais verdadeiros para qualquer SQL_ID em que a regressão linear sobre as latências médias agregadas observadas no período explica pelo menos 1⁄2 da variação (R2 >0,5) na latência média agregada, E a alteração percentual na linha de regressão linear excede +/- 20% | Mínimo de 5 observações por SQL_ID necessárias para a regressão.
Indicador de status do mosaico de informações:
O limite de 20% precisa ser considerado no contexto do período selecionado. Calculado por banco de dados (instâncias combinadas). |
| Variação de desempenho | A SQL mostrou grande variação nas latências médias agregadas? | Sinais verdadeiros para um SQL_ID quando o intervalo em latências médias agregadas dividido pela latência média agregada geral é maior que 25%. | Mínimo de 5 observações necessárias.
Indicador de status do mosaico de informações:
Mais significativo para SQL de execução mais longa e executada com menos frequência.
|
| Alteração de plano única | O SQL mostrou uma alteração de plano no banco de dados durante o período?
A mudança do plano afetou o desempenho? Quanto? |
Indicador de que o ID SQL selecionado incorreu em uma única alteração de plano diário durante o período. A última alteração do plano é usada para determinar a degradação ou melhoria. | Mínimo de 5 observações necessárias.
Indicador de status do mosaico de informações:
As informações do plano são amostradas e não estão completas. Calculado por instância, pois instâncias diferentes podem ter planos diferentes. |
| Diversos planos | O SQL foi executado em vários planos no banco de dados durante o período? | Sinais verdadeiros quando a contagem do número de valores de hash de plano distintos para SQL_ID excede 1. | As informações do plano são amostradas e não estão completas, portanto, pode haver mais planos do que os coletados.
Sinalizará com uma única mudança de plano. Indicador de status do mosaico de informações:
Calculado por banco de dados (instâncias combinadas). |
| Duplicações de compartilhamento de cursor |
Existem SQL que podem compartilhar parsing e otimização salvos para a não utilização de variáveis de bind?
Quanto excesso de CPU é desperdiçado? |
Sinais verdadeiros quando a contagem de SQL_ID distintos que compartilham a mesma assinatura de correspondência de força é > 1. | Calculado por instância de banco de dados.
Indicador de status do mosaico de informações:
Inclui somente SQL_ID com execuções = 1.
A CPU de análise em excesso estimada é calculada como SUM (tempo médio de análise em disco) – AVG (tempo médio de análise em disco) com base no fato de que a análise em disco rígido é toda a CPU e o tempo médio de análise em disco não é uma média, pois as execuções são 1 para todo o SQL. O acima é provavelmente uma estimativa muito baixa do total de CPU perdido porque muitas duplicatas executadas não serão coletadas. |