大彬小于 1 分钟

线上接口很慢怎么办?

使用调用链跟踪,如zipkin,查看每一条路线的耗时情况,甚至包括此时 CPU 性能,然后再针对性能差的服务接口进行分析。

针对数据库性能优化问题,从设计上来说,设计表之前考虑好引擎,数据量,字段格式,索引等。

从 SQL 层面要利用好索引覆盖,尽量不回表,优化好 SQL。

从架构上来说,采用高可用的架构,如 MySQL 扩展的 MHA 架构

从业务代码层面来说,分析是不是代码问题,比如查询 SQL 过慢,返回超时,或者限流不合理等情况

如果数据量比较大的话,千万以及上亿级别,做好分表分库或者选用分布式数据库等

如果下游处理能力薄弱或者调用链路很深,考虑是否能够使用消息队列方式处理。

参考:https://youle.zhipin.com/questions/d260cce58d0333c9tnVy2tW8GFQ~.htmlopen in new window

Loading...