Processo de solução de problemas para longo tempo de resposta da interface

Quando o tempo de resposta de uma interface é muito longo, como localizar o problema e resolvê-lo?

1. Pegue o curl primeiro. Rede do navegador -> copiar como curl Se for um aplicativo, capture o pacote e copie-o.

curl -H 'Host: xxxxxx.com' -H 'Cookie: uid = CgoUFF / J3UVXIkMEB0 // Ag ==' -H 'apptype: 3' -H 'user-agent: ling zhi wen zhen ce shi / 2.1.2 (iPhone; iOS 14.0; Scale / 2.00) storeid '-H': '-H' deviceuuid: 6E47AC24-5477-4CB3-9E97-F0689776DFBA '-H' accountid: 1293541453032587288 '-H' appversion: 2.1.2 '-H 'cliente: ios' -H 'versão: 2.1.2' -H 'tipo de usuário: GROUPUSER' -H 'sinal: 89BEE7049DF61EFFFBA226AE076023F9 token' -H ': 9a2123abccbee8fcee1d0265a4bb3d44' -H 'carimbo de data / hora: 1677614' aceitar idioma: 1677614 ' ; q = 1 '-H' aceitar: * / * '-H' content-type: application / json; charset = utf-8 '-H' appver: 3 '--data-binary' {"token": " 9a2123abccbee8fcee1d0265a4bb3d44 "," organSign ":"ZHL0009529 "," activityType ": 1} '--compressed' https://xxxxx.com/patient/rights/verify '

2. Transformação do caracol. Adicione antes de curl e -H:

 "\ ntime_namelookup:"% {time_namelookup} "\ ntime_connect:"% {time_connect} "\ ntime_appconnect:"% {time_appconnect} "\ ntime_pretransfer:"% {time_pretransfer} "\ ntime_starttransfer:"% {time_starttransfer} % {time_redirect} "\ ntime_total:"% {time_total} "\ n"

3. O curl modificado é o seguinte:

curl -w "\ ntime_namelookup:"% {time_namelookup} "\ ntime_connect:"% {time_connect} "\ ntime_appconnect:"% {time_appconnect} "\ ntime_pretransfer:"% {time_pretransfer} "\ ntime_starttransfer:"% {time_starttransfer} \ ntime_redirect: "% {time_redirect}" \ ntime_total: "% {time_total}" \ n "-H 'Host: xxx.com' -H 'Cookie: uid = CgoUFF / J3UVXIkMEB0 // Ag ==' -H 'apptype: Agente do usuário 3 '-H': ling zhi wen zhen ce shi / 2.1.2 (iPhone; iOS 14.0; Escala / 2,00) '-H' storeid: '-H' deviceuuid: 6E47AC24-5477-4CB3-9E97-F0689776DFBA '-H' accountid: 1293541453032587288 '-H' appversion: 2.1.2 '-H' client: ios '-H' version: 2.1.2 '-H' usertype: GROUPUSER '-H' sign: 89BEE7049DF61EFFFBA226AE076023F9 '-H' símbolo:9a2123abccbee8fcee1d0265a4bb3d44 '-H' timestamp: 1608776144395 '-H' accept-language: en; q = 1 '-H' accept: * / * '-H' content-type: application / json; charset = utf-8 '-H 'appver: 3' --data-binary '{"token": "9a2123abccbee8fcee1d0265a4bb3d44", "organSign": "ZHL0009529", "activityType": 1}' --compressed 'https://xxxxxx.com/patient/rights /verificar'com / paciente / direitos / verificar 'com / paciente / direitos / verificar '

4. Execute curl. Os resultados são os seguintes:

time_namelookup: 0,253
time_connect: 0,257
time_appconnect: 0,361
time_pretransfer: 0,361
time_starttransfer: 5,618
time_redirect: 0,000
time_total: 5,618

5. Os significados relevantes são os seguintes:

parâmetro

significado

  

time_namelookup

Tempo de resolução de nome de domínio de DNS

  

time_connect

Tempo de conexão TCP, tempo de handshake de três vias

  

time_starttransfer

O tempo desde o início da solicitação até o primeiro byte ser transmitido

  

time_total

tempo total

  

speed_download

Velocidade de download, unidade-bytes por segundo

  

time_appconnect

SSL | SSH e outro tempo de estabelecimento de conexão de camada superior

  

time_pretransfer

O tempo desde o início da solicitação até o início da transmissão da resposta

  

time_redirect

O tempo desde o início até a última transação de solicitação

 

6. Se o tempo for principalmente time_starttransfer menos o valor de time_pretransfer. Isso significa que o motivo da solicitação lenta está na parte de execução do código de negócios do servidor.

7. O código de negócios é demorado e é localizado rapidamente. Use arthas para solucionar problemas.

8. Inicie o arthas.

java -jar arthas-boot.jar

9. Selecione o processo Java. Digite o número de série.

10. Nome completo da classe de execução + nome do método

trace com.xxxx.service.impl.xxxxServiceImpl xxxMethod

11. Visualize chamadas demoradas.

 

Acho que você gosta

Origin blog.csdn.net/MrBack/article/details/111624376
Recomendado
Clasificación