A média de um evento esconde a forma do tempo: mil esperas de 1 ms e uma espera de 1 s somam o mesmo. A distribuição de latência separa as ocorrências por faixa de duração e mostra qual dos dois casos você tem.
O que a seção mostra
A seção Distribuição de latência (no índice, Latência) tem uma tabela para cada um dos eventos de espera com mais tempo e uma para cada tipo de chamada, com o nome do tipo seguido de (duração e da chamada), como FETCH (duração e da chamada). A tabela da chamada usa a duração (e=) de todas as chamadas daquele tipo, as da aplicação e as do SQL recursivo.
Cada tabela abre com um clique. A linha de cada uma mostra o nome, as ocorrências e os segundos, como 2 ocorrências · 0,001 s.
Como ler
As faixas crescem em potências de 10: de 0 a 1 µs, de 1 a 10 µs, de 10 a 100 µs, de 100 µs a 1 ms e assim por diante, até 1.000 s ou mais. Na tela, cada faixa aparece como 1 ms ≤ e < 10 ms, em que e é a duração de cada ocorrência.
| Coluna | O que diz |
|---|---|
| Faixa da duração | O intervalo de duração da faixa. |
| Ocorrências | Quantas ocorrências caíram na faixa. |
| % ocorr. | A parte das ocorrências do evento ou da chamada que caiu na faixa. |
| Duração (s) | A soma da duração das ocorrências da faixa. |
| % duração | A parte do tempo do evento ou da chamada que caiu na faixa, com a barra ao lado. |
Compare as duas porcentagens. Com % ocorr. e % duração altas na mesma faixa, o tempo vem do volume: para reduzir, diminua o número de ocorrências. Com a maior parte das ocorrências numa faixa rápida e a maior parte da duração numa faixa lenta, poucas ocorrências lentas dominam: procure as chamadas em que elas caíram (chamadas mais longas).
No relatório de exemplo, db file sequential read tem 2 leituras: uma na faixa de 100 µs a 1 ms, com 23,1% da duração, e uma na de 1 a 10 ms, com 76,9%.
Quando preocupa
- Leituras de um bloco com boa parte da duração nas faixas de 10 ms ou mais: o armazenamento está lento. O achado leitura lenta leva direto à tabela do evento, com o link Ver distribuição de latência.
SQL*Net message from clientcom muitas esperas nas faixas de microssegundos e de poucos milissegundos: a aplicação conversa demais com o banco. Poucas esperas longas apontam para a demora na própria aplicação (sessão esperando a aplicação).log file synccom a duração nas faixas de vários milissegundos: o redo grava devagar; com muitas esperas curtas, são commits demais (espera no commit).- Uma tabela de chamada com poucas ocorrências nas faixas de segundos: são chamadas longas, e as de nível 0 aparecem uma a uma em chamadas mais longas.
Para onde ir depois
- Latência do relatório de exemplo e a tabela de db file sequential read.
- Leituras, com faixas pensadas para disco e para SSD.
- Perfil do tempo de resposta, onde estão a média, o mínimo e o máximo de cada evento.