您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页有个服务出现了 504,你觉得这个服务可能是有哪些问题?

有个服务出现了 504,你觉得这个服务可能是有哪些问题?

来源:化拓教育网

出现状态码 504 ,可能有哪些问题?

  • 网络异常

    • 网络丢包
    • 带宽被占满
  • 死锁,比如你提供的API接口中根据id更新某条数据时,正好线上在手动执行一个批量更新数据的sql语句,该sql语句在一个事务中,并且刚好也在更新那条sql语句,可能会出现死锁的情况。由于该sql语句执行时间很长,会导致API接口的那次更新数据操作,长时间被数据库锁住,没法即使返回数据,而出现接口超时问题。

  • 慢查询 sql,看看有没有慢sql,或者有时候会走错索引甚至不走索引,可以使用 force index,强制走哪条索引

  • 接口发生死循环

    • 普通死循环 while(true) 在CAS自旋锁中常见
    • 无限递归
  • 线程池溢出,我们调用的API接口,有时候为了性能考虑,可能会使用线程池异步查询数据,最后把查询结果进行汇总,然后返回。

  • 接口超时时间设置过短,合理设置连接超时时间和读超时时间,业务并发量大的时候设置超时时间短一点,设置成秒级或者毫秒级,业务并发量小的时候设置稍长一点,连接超时时间设置为10s,读超时时间设置为20s

  • 一次性返回的数据过多,比如调用第三方API更新数据库的时候,一次性批量更新太多太多的数据,更新时间还相同

  • 传入参数过多,比如说根据id集合批量查询分类接口,传入了几千甚至几万的id

  • 服务OOM 了

  • 在 debug

参考资料:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务