Spring启动 - 执行速度慢的方法

时间:2018-01-15 09:25:43

标签: java spring-boot

方法执行方面存在很大问题(我猜)。我使用的是Spring boot 2.0(也是使用1.5.x测试)+ Thymeleaf 3.

案例:

当应用程序运行超过48小时(例如)时,提交带有2个字段的简单POST表单需要appr。 15秒该方法不会调用与DB相关的任何内容。

@RequestMapping(value="/add", method=RequestMethod.POST)
public String addTile(Model model, @Valid @ModelAttribute("tile") Tile tile, BindingResult results) {

    if(results.hasErrors()){
        return "tile/add";
    }
    tileRepository.save(tile);
    return "redirect:/";
}

经过我做过的许多测试后,没有发现内存,JDBC,连接韭菜等。

从GC的角度来看,也没有什么奇怪的。

我使用jProfiler并且从方法堆栈执行,延迟来自方法本身。

当我将VPS切换到另一个托管服务提供商并将会话更改为redis时,性能得到了显着提升,可能有30%-40%,但仍然无法正常工作。

我已经使用jMeter测试了应用程序的并发性问题,但一切都很完美,响应非常好。

只有当应用程序运行时间超过24小时/ 48小时并且没有活动用户时,才会出现此问题。

JVM的版本是Java 8 OpenJDK(版本1.8.0_151-b12),没有任何自定义设置..

先谢谢了。

0 个答案:

没有答案