问题描述
客户端向服务端请求时,出现“HSFTimeOutException”报错。
问题原因
- 客户端到服务端的网络问题。
- 服务端处理耗时大于3秒。
HSF应用默认有超时时间(默认3秒),如果服务端在设置的时间内没有返回,则返回“HSFTimeOutException”。 - 客户端或服务端偶然会出现Java GC问题。
- 客户端负荷高。
客户端请求发送失败,造成超时。
解决方案
- 客户端到服务端的网络问题:
检查客户端到服务端之间的网络是否正常。在客户端侧使用ping命令测试服务端的IP,确认是否是网络问题。 - 服务端处理耗时大于3秒:
在服务端的hsf.log中查找业务执行超时的日志,定位具体的类及方法:- 如果服务端逻辑复杂,处理时间必须大于3秒,您可以修改超时时间,即clientTimeout值,详情请参见API手册。
- 服务端出现序列化错误:
请检查业务代码,流类型、File、超大的对象等都会导致序列化错误,请不要传递这些数据。 - 代码性能较低,请进行代码优化。
- 客户端或服务端偶然会出现Java GC问题:
检查服务端和客户端Java GC日志,耗时很长的Java GC会导致超时,建议您优化业务代码的Java GC问题。 - 客户端负荷高:
使用增加客户端机器等方法,减轻客户端的负荷。
适用于
- 企业级分布式应用服务EDAS
文档内容是否对您有帮助?