Hibernate 使用Google云Sql代理后响应时间增加
根据官方文档,在Google容器引擎上部署我们的应用程序并通过云Sql代理连接到Google云Sql之后,与通过Google计算引擎实例的ip白名单连接到云Sql相比,api的响应时间至少增加了100毫秒 我编写了一个简单的api,它在mysql上启动一个事务并使用hibernate提交。以下是结果Hibernate 使用Google云Sql代理后响应时间增加,hibernate,kubernetes,google-cloud-sql,dropwizard,google-kubernetes-engine,Hibernate,Kubernetes,Google Cloud Sql,Dropwizard,Google Kubernetes Engine,根据官方文档,在Google容器引擎上部署我们的应用程序并通过云Sql代理连接到Google云Sql之后,与通过Google计算引擎实例的ip白名单连接到云Sql相比,api的响应时间至少增加了100毫秒 我编写了一个简单的api,它在mysql上启动一个事务并使用hibernate提交。以下是结果 +-----------------+--------------------+-----------------+-----------------+ | App Deployed on | Nu
+-----------------+--------------------+-----------------+-----------------+
| App Deployed on | Number of Requests | 99th percentile | Connecting Via |
+-----------------+--------------------+-----------------+-----------------+
| GKE | 20140 | 113ms | Cloud Sql Proxy |
| GCE | 20895 | 13ms | IP whitelisting |
+-----------------+--------------------+-----------------+-----------------+
我的应用程序基于Dropwizard框架,我使用Dropwizard hibernate,下面是连接配置,GCE和GKE的连接配置相同:
database:
driverClass: com.mysql.jdbc.Driver
user: db_user
password: db_user_pass
url: jdbc:mysql://HOST_IP/db_name?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
maxWaitForConnection: 1s
validationQuery: "SELECT 1"
minSize: 8
maxSize: 42
properties:
charSet: UTF-8
hibernate.hbm2ddl.auto: validate
checkConnectionWhileIdle: false
maxConnectionAge : 10s
checkConnectionOnBorrow: true
运行上述实验的Api代码
@GET
@Path("/response/test")
@UnitOfWork
public LeaderBoardResp getLeaderBoardTest(){
long timeSpent = System.currentTimeMillis() - RequestThreadContext.get().getStartTimeMillis();
log.info(" Got a request on test api");
Stopwatch stopWatch = Stopwatch.createStarted();
try {
LeaderBoardResp leaderBoardResp = new LeaderBoardResp();
// fetchLeaderBoard.fetchLeaderBoard(leaderBoardReq);
return leaderBoardResp;
}finally {
stopWatch.stop();
log.info("total time in ms :: {} reqfilter time :: {} ",stopWatch.elapsed(TimeUnit.MILLISECONDS),timeSpent);
}
}
看起来你已经在@Ahmetalpbarkan讨论过了是的,但仍然没有解决。