Spring Data JDBC部分查询在同一张表上非常慢

时间:2019-04-27 09:50:46

标签: java oracle spring-boot spring-data hikaricp

Hikari getConnection方法在负载下执行缓慢。在同一选择中,我得到部分记录的较晚响应。例如,一个选择同时在同一张表中返回10毫秒,而另一个返回2000毫秒。我看着dynatrace响应,并且hikari getConnection方法正在消耗sql时间。我的配置如下;

spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.maximum-pool-size=1000
spring.datasource.hikari.minimum-idle=30
spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.max-lifetime=180000
spring.datasource.hikari.connection-test-query=select 1 from dual

hikariConfig.addDataSourceProperty("cachePrepStmts", "true");
hikariConfig.addDataSourceProperty("prepStmtCacheSize", "250");
hikariConfig.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");

这些配置足以实现高并发性,因此我的应用程序每天有3000万笔交易,每笔交易都使用db来选择某些数据。我该如何解决getConnection方法响应时间问题?

环境

HikariCP version: 2.7.9
JDK version : 1.8.0_161-b14
Database : Oracle 11.2.0.4.0 - 64 bit
Driver version : ojdbc6-11.2.0.3

0 个答案:

没有答案