Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 瓦丁+;长时间闲置后,Spring引导应用程序速度非常慢_Java_Performance_Spring Boot_Vaadin - Fatal编程技术网

Java 瓦丁+;长时间闲置后,Spring引导应用程序速度非常慢

Java 瓦丁+;长时间闲置后,Spring引导应用程序速度非常慢,java,performance,spring-boot,vaadin,Java,Performance,Spring Boot,Vaadin,我的Vaadin 8+Spring引导应用程序存在性能问题 当我在长时间没有使用的情况下启动应用程序时,例如在一个晚上之后,需要花费几分钟才能从数据库获得响应 我有以下应用程序设置: spring.datasource.max-active=10 spring.datasource.initial-size=5 spring.datasource.max-idle=5 spring.datasource.min-idle=1 spring.datasour

我的Vaadin 8+Spring引导应用程序存在性能问题

当我在长时间没有使用的情况下启动应用程序时,例如在一个晚上之后,需要花费几分钟才能从数据库获得响应

我有以下应用程序设置:

    spring.datasource.max-active=10
    spring.datasource.initial-size=5
    spring.datasource.max-idle=5
    spring.datasource.min-idle=1
    spring.datasource.test-while-idle=true
    spring.datasource.test-on-borrow=true
    spring.datasource.validation-query=SELECT 1
    spring.datasource.time-between-eviction-runs-millis=5000
    spring.datasource.min-evictable-idle-time-millis=60000

如果没有空闲时的
测试
验证查询
和借用时的
测试
,我甚至无法重新连接到数据库,但性能问题仍然存在。

这看起来像是一个JDBC连接,空闲时间太长,在TCP/IP级别上超时。我想知道是否有一种设置可以在JDBC连接未被使用(比如2分钟)后自动关闭它。或者一个心跳设置,该设置将在所有JDBC连接上每隔5分钟发出一次
选择1
,以使其保持活动状态。

首先,您应该隔离问题。如果您怀疑数据库调用速度慢,请在应用程序中添加有关数据库调用的计时日志。Java应用程序运行缓慢的另一个可能原因是内存泄漏,这将更频繁地调用垃圾收集,最终导致OutOfMemoryException。在这种情况下,当应用程序运行缓慢时,您可以打印GC日志或进行堆转储。