Índice do fórum Treinamentos Avançados Treinamento Oracle Performance Diagnostics & Tuning SQL*Net message from client

SQL*Net message from client

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.

Mensagem Sex Ago 25, 2017 1:24 pm

Mensagens: 0
Portilho, bom dia!

Estou com um processo que está extremamente lento, gerei um tracer da sessão do usuário e o maior evento de espera foi SQL*Net message from client. Segue abaixo:

OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 97248 1.68 1.99 0 0 0 0
Execute 98045 13.62 21.78 5 2030 1466 459
Fetch 121008 27.52 29.19 3 8551363 1 70805
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 316301 42.83 52.98 8 8553393 1467 71264

Misses in library cache during parse: 162
Misses in library cache during execute: 26

Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message from client 130482 42.10 982.57
SQL*Net message to client 130482 0.00 0.13
SQL*Net break/reset to client 17994 0.02 7.87
Disk file operations I/O 2 0.00 0.00
db file sequential read 8 0.00 0.00
SQL*Net more data to client 12655 0.00 3.74

Porem tem uma quantidade de Parse grande também? Vi em um artigo antigo que normalmente o from client não é problema, pois é o client esperando por alguma coisa.

Desde já agradeço.

Mensagem Seg Ago 28, 2017 5:12 pm
portilho Site Admin

Mensagens: 482
Oi.
O evento "SQL*Net message from client" geralmente é "nada": enquanto uma sessão está sem fazer nada, ela estará incrementando o tempo deste evento. Mas vamos seguir na análise, pois parece que este não é o caso.

Veja que a quantidade de vezes que este evento ocorre é grande (130482) e é EXATAMENTE igual ao evento "SQL*Net message to client". Isto pode significar que o tempo está sendo perdido "indo e voltando" do Oracle. Se for isto, tem que ser pensando um modo de executar a operação "de uma vez", e não neste "vai e vem".

Outro ponto é a ocorrência do evento "SQL*Net break/reset to client" que é um maior indicador de que há um problema de rede ou de processamento no client.

O parse é grande em quantidade (ocorreu 97248 vezes), mas baixo em tempo: 1.99 segundos. O que importa é o tempo. Além disso os "Misses" são baixos em relação à quantidade, o que indica que não são Hard Parses.


Voltar para Treinamento Oracle Performance Diagnostics & Tuning

cron