刚开始preHandle返回true后,pushStatus能够在几ms内响应,但几天之后,响应时间能够慢到几秒种,同一controller内的其他接口都是几ms的响应,这是什么问题?有什么解决的方向?
背景:
pushStatus是一个接收状态的接口,大概有几十台机器会往这个接口发送状态数据,数据量(JSONArray)几条到几百条不等,发送频率大概是每分钟几次,也就是说每秒钟pushStatus接口都会接收到数据,而service处理时间一般在几百毫秒左右,但service的处理时间不会随着时间变化。
SpringMVC4.0.0
拦截器:
public class LoginInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
.....
logger.info(.....);
return true;
}
}
控制器:
@Controller
@RequestMapping("/deviceStatus")
public class DeviceStatusController {
@ResponseBody
@RequestMapping(value = "push", method = RequestMethod.POST)
public String pushStatus(HttpServletRequest request, @RequestBody JSONArray ja) throws Exception {
logger.info(.....);
xxx.service();
}
}