目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7088k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(266)
赞(0)

5、云应用开发必问,线上出现接口响应慢的情况怎么排查?

image-20230420100839803

先明确一个问题,是只有一个接口变慢,还是只有一个服务的接口变慢,还是系统里多个服务的接口都变慢?

  • 多个服务的接口都变慢

    如果系统中有多个服务的接口都变慢,那可能是系统资源不足导致的,比如数据库连接数太多、数据库有大量慢查询、一些共同依赖的下游服务性能问题等,可以查看系统中调用量激增的服务,它的调用量是否导致数据库的并发达到了瓶颈,它是不是导致共同调用的下游服务出现了性能问题,数据库中是不是有大量这个服务引起的慢查询等,做针对性的优化。

  • 一个服务的接口变慢

    那就要针对这个服务做分析,查看它的cpu占用率和gc频率是不是异常,做针对性的优化。也可能是这个服务依赖的下游服务性能出现了问题。

  • 只有一个接口变慢

    那就要针对这个接口做分析。可能是这个接口单独依赖的下游服务性能出了问题。也可能是它本身的代码写的有问题,需要优化

    • 比如在循环里获取远程数据,可以改成只调用一次,批量获取数据;
    • 比如在链路中多次调用同一个远程接口获取相同数据,可以第一次调用之后就把数据缓存起来,后续直接从缓存中获取
    • 还有如果实在无法再缩短请求处理耗时的话,也可以考虑从产品逻辑上进行优化,比如把原来的同步请求改为异步的,前端再去轮询请求处理结果

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2