Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O diagnóstico e a solução de problemas são habilidades essenciais para criar e dar suporte a aplicativos cliente com o Armazenamento do Azure.
Devido à natureza distribuída de um aplicativo do Azure, diagnosticar e solucionar problemas de desempenho e erros pode ser mais complexo do que em ambientes tradicionais.
As etapas a seguir demonstram como identificar e solucionar problemas de latência usando logs da Análise de Armazenamento do Azure e otimizar o aplicativo cliente.
Etapas recomendadas
Baixe os logs de Análise de Armazenamento.
Use o seguinte script do PowerShell para converter os logs de formato bruto em formato tabular:
$Columns = ( "version-number", "request-start-time", "operation-type", "request-status", "http-status-code", "end-to-end-latency-in-ms", "server-latency-in-ms", "authentication-type", "requester-account-name", "owner-account-name", "service-type", "request-url", "requested-object-key", "request-id-header", "operation-count", "requester-ip-address", "request-version-header", "request-header-size", "request-packet-size", "response-header-size", "response-packet-size", "request-content-length", "request-md5", "server-md5", "etag-identifier", "last-modified-time", "conditions-used", "user-agent-header", "referrer-header", "client-request-id" ) $logs = Import-Csv "REPLACE THIS WITH FILE PATH" -Delimiter ";" -Header $Columns $logs | Out-GridView -Title "Storage Analytic Log Parser"
O script iniciará uma janela de GUI na qual você pode filtrar as informações por colunas, conforme mostrado abaixo.
Restrinja as entradas de log com base no tipo de operação e procure a entrada de log criada durante o período do problema.
Durante o tempo em que o problema ocorreu, os seguintes valores são importantes:
Operation-type
=GetBlob
request-status
=SASNetworkError
End-to-End-Latency-In-Ms
= 8.453Server-Latency-In-Ms
= 391
End-to-End Latency
é calculado usando a seguinte equação:End-to-End Latency
=Server-Latency
+Client Latency
Calcule a latência do cliente usando a entrada de log:
Client Latency
=End-to-End Latency
–Server-Latency
Exemplo: 8.453 – 391 = 8.062 ms
A tabela a seguir fornece informações sobre os resultados de OperationType e RequestStatus de alta latência:
Tipo de blob RequestStatus=
ÊxitoRequestStatus=
(SAS)NetworkErrorRecomendação GetBlob Sim Não Operação GetBlob: RequestStatus = Êxito GetBlob Não Sim Operação GetBlob: RequestStatus = (SAS)NetworkError PutBlob Sim Não Operação de colocação: RequestStatus = Êxito PutBlob Não Sim Operação de colocação: RequestStatus = (SAS)NetworkError
Resultados do status
GetBlob Operation: RequestStatus = Success
Verifique os seguintes valores, conforme mencionado na etapa 5 da seção Etapas recomendadas:
End-to-End Latency
Server-Latency
Client-Latency
Em um GetBlob Operation
com RequestStatus = Success
, se Max Time
for gasto em Client-Latency
, isso indica que o Armazenamento do Azure está gastando um grande volume de tempo gravando dados no cliente. Esse atraso indica um problema do lado do cliente.
Recomendação:
- Investigue o código em seu cliente.
- Use o Wireshark, o Microsoft Mensagem Analyzer ou o Tcping para investigar os problemas de conectividade de rede do cliente.
GetBlob Operation: RequestStatus = (SAS)NetworkError
Verifique os seguintes valores, conforme mencionado na etapa 5 da seção Etapas recomendadas:
End-to-End Latency
Server-Latency
Client-Latency
Em um GetBlob Operation
com RequestStatus = (SAS)NetworkError
, se Max Time
for gasto em Client-Latency
, o problema mais comum é que o cliente está se desconectando antes que um tempo limite expire no serviço de armazenamento.
Recomendação:
- Investigue o código no cliente para entender porque e quando o cliente desconecta do serviço de armazenamento.
- Use o Wireshark, o Microsoft Mensagem Analyzer ou o Tcping para investigar os problemas de conectividade de rede do cliente.
Put Operation: RequestStatus = Success
Verifique os seguintes valores, conforme mencionado na etapa 5 da seção Etapas recomendadas:
End-to-End Latency
Server-Latency
Client-Latency
Em um Put Operation
com RequestStatus = Success
, se Max Time
for gasto em Client-Latency
, isso indica que o Cliente está demorando mais para enviar dados para o Armazenamento do Azure. Esse atraso indica um problema no Client-Side.
Recomendação:
- Investigue o código em seu cliente.
- Use o Wireshark, o Microsoft Mensagem Analyzer ou o Tcping para investigar os problemas de conectividade de rede do cliente.
Put Operation: RequestStatus = (SAS)NetworkError
Verifique os seguintes valores, conforme mencionado na etapa 5 da seção "Etapas recomendadas":
End-to-End Latency
Server-Latency
Client-Latency
Em um PutBlob Operation
com RequestStatus = (SAS)NetworkError
, se Max Time
for gasto em Client-Latency
, o problema mais comum é que o cliente está se desconectando antes que um tempo limite expire no serviço de armazenamento.
Recomendação:
- Investigue o código no cliente para entender porque e quando o cliente desconecta do serviço de armazenamento.
- Use o Wireshark, o Microsoft Mensagem Analyzer ou o Tcping para investigar os problemas de conectividade de rede do cliente.
Aviso de isenção de responsabilidade para informações de terceiros
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.