我们最近经常出现接口不响应的问题,就是点一个按钮后没有消息返回一直转圈。 出现这种情况查日志也查不出结果,不知道为什么不响应,而且服务也运行正常,开发和运维一直定位不了问题。 这种不响应的接口集中在提交数据接口中,像查询则不会出现不响应的问题。 大家对这个问题有什么想法吗?
前端点击某个按钮提交请求,F12 看接口一直没有响应,这个通过查日志是可以找到问题的,但是你说开发查日志查不出结果就尴尬了: 1、你们是微服务吗?如果是微服务,这个流程可能涉及多个服务调用,有没有可能是日志排查方向错了; 2、接口没有响应多半是接口代码报错,比如空指针,项目日志打印级别调整一下,再不行 log.info 隔几行打印一次; 3、接口没有响应还有种可能就是,代码不报错,但是这个操作涉及大量的数据导致一直在处理,或者数据库表出现死锁; 4、项目方面没有问题,那就是服务器资源问题了; 这种问题可以针对出现未响应按钮接口,用 jmeter 压测,这个压测不要一上来就大批量,可以呈阶梯式增加,一定会在某个阈值出现这个问题的
你先抓包看下请求发出去没,如果请求都没到服务器,你怎么定位都没用
多打几个日志就看出来了吧。
不过像这种查询没出过问题,提交数据有问题来看,可以考虑以下几个方面:
仅供参考。。。
从描述看,有一种情况非常符合,就是代理,如果代理对请求放行,但是对服务端响应劫持了不放行,那么对于服务端来说已经正常处理并返回了,你从服务端是排查不到问题的,而客户端又收不到响应
是自己发现的接口没响应,还是用户反馈的没响应。 有一种可能是前端直接报错了,看下控制台有没有报错日志,可能某些情况下前端报错了然后页面就会一直是 loading 的状态; 还有一种可能就是这不是一个单一的接口,存在很多的依赖,依赖的接口报错了导致流程走不到最终这一步。
交网费