我有一个Spring 4.3.6应用程序在后端运行,前端有Angular 2。每次初始化服务器后,服务器响应的第一个请求与后续请求相比具有高TTFB(第一个字节的时间)。TTFB delay on the first request
我在第一次请求时验证了我在计算机处理器中获得了高峰。下面是我在UserController中的登录方法:
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@RequestBody Map<String, String> json) throws ServletException {
if (json.get("stUserLogin") == null || json.get("stUserPassword") == null) {
throw new ServletException("...");
}
String userLogin = json.get("stUserLogin");
String userPassword = json.get("stUserPassword");
UserBean userBean = userService.findByUserLogin(userLogin);
if (userBean == null) {
throw new ServletException("...");
}
if (!userPassword.equals(userBean.getStUserPassword())) {
throw new ServletException("...");
}
return Jwts.builder().setSubject(userLogin).claim("roles", "user").setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS256, "secretkey").compact();
}
这是我的UserService的查找用户方法:
@Override
public UserBean findByUserLogin(String stUserLogin) {
return userDAO.findByStUserLogin(stUserLogin);
}
最后我的DAO方法:
UserBean findByStUserLogin(String stUserLogin);
在第一次请求时,我验证了服务方法中花费了大量的毫秒数,但我仍然不清楚所有这些背后的原因。
值得一提的是,每种映射方法都会发生这种情况,但会有不同的尺度。
我不知道我是否提供了有关此问题的足够信息。任何帮助都会很受欢迎,请提前感谢。