mybatis第一次连接mysql很慢_mybatis+mysql,第一次数据库连接很慢怎么回事?

springboot+mybatis+mysql项目

大致上的代码结构是

@RestController

class ApiClass{Logger logger = LoggerFactory.getLogger("log");

@Autowired

ApiService apiService;

@RequestMapping(value = "/api")

public String doApi{

logger.info("HTTP 请求 ");

String result = apiService.doService();

。。。

return ResponseUtil.jsonSuccess(result);

}

}

@Service

class ApiService{@Transactional

String doService(){

logger.debug("测试 1 处");

。。。

return "xxxx";

}

}

我有三个运行环境

1 本地IDE

2 测试机器

3 部署机器

其中在3的部署环境下:

第一次请求

2017-10-12 16:24:22,407 INFO - HTTP 请求

2017-10-12 16:26:02,943 DEBUG - 测试 1 处

以后的请求:

2017-10-12 17:28:48,323 INFO - HTTP 请求

2017-10-12 17:28:48,324 DEBUG - 测试 1 处

第一次请求从 controller 跳转到 service 都花了1分半多 而之后的请求没这样

打的spring日志如下:中间的线条是我加的

2017-10-13 11:28:00,825 [http-nio-8070-exec-1] DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Creating new transaction with name [com.eversec.centertool.modules.woapi.service.WoApiService.getActivityVo]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly; ''

2017-10-13 11:29:41,342 [http-nio-8070-exec-1] DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Acquired Connection [ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@5d05f6d3]]] for JDBC transaction

2017-10-13 11:29:41,347 [http-nio-8070-exec-1] DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Setting JDBC Connection [ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@5d05f6d3]]] read-only

2017-10-13 11:29:41,347 [http-nio-8070-exec-1] DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Switching JDBC Connection [ProxyConnection[PooledConnection[com.mysql.jdbc.JDBC4Connection@5d05f6d3]]] to manual commit

而在本地IDE运行的话,第一次请求正常,延时在0.3秒,之后请求正常

在测试linux机器上,第一次请求大概要花0.6秒,之后请求正常

本地IDE和linux机器用的是同一数据库

部署机用的是另一个数据库

而在部署机上,第一次请求竟然要1分半多,之后请求正常

而部署机器上的其他服务没这个问题

为何这么奇怪?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值