报错信息
调用HSF服务超时,报错信息如下。
[HSF-Provider] 执行HSF服务[com.taobao.uac.client.dynamic.service.SellerDynamicService:1.0.0]的方法[queryPromotionBySellerIds~Ll]耗时[$Time]ms,接近超时时间
说明
[$Time]
表示服务端方法执行的总时间。
解决方案
当超时时间减去实际耗时时间小于100ms时,服务端将打印此报错日志,默认超时时间为3s。
- 如果超时时间很短,例如小于100ms,每次调用都会打印此日志,请忽略此日志。
- 如果超时时间已经很长,打印此日志,则说明业务执行慢,需要执行以下操作,排查和分析业务执行的性能瓶颈。
- 在服务端的/home/admin/logs/hsf/hsf.log日志文件中,查找业务执行超时的日志,定位具体的类及方法。
- 服务端出现序列化错误。业务代码、流类型、File、超大的对象等都会导致序列化错误,请勿传递这些数据。
- 代码性能较低,优化代码。
- 如果服务端设置了GC机制,系统会出现暂停或者抖动的情况。请检查GC日志,查看在问题出现时,是否存在Full GC情况。如果经常发生,则需要关注应用的内存消耗,检查不合理的数据使用情况。
- 使用jstack命令,检查线程是否存在长时间无响应的情况。如果存在,请根据实际情况进行相应的处理。
- 在服务端的/home/admin/logs/hsf/hsf.log日志文件中,查找业务执行超时的日志,定位具体的类及方法。