使用JDBC时,MySQL在Ubuntu上运行缓慢

时间:2017-04-22 17:02:04

标签: java mysql ubuntu jdbc

我有一个带有以下conf的生产服务器:

  • Ubuntu 14.04
  • jdk 8u111
  • 的MyBatis-3.4.1.jar
  • MySQL 5.7.18
  • MySQL的连接器的Java-5.1.41-bin.jar
  • 连接字符串:jdbc:mysql:// localhost:3306 / MyDB?autoReconnect = true& characterEncoding = utf8& useSSL = false

问题是抛出JDBC的每个查询都有一些奇怪的延迟大约0.2秒(无论哪个查询)。可以从Java端和DbVis等远程工具中观察到它。同时mysql控制台执行查询没有这样的延迟。我在Windows上的开发服务器(使用MySQL)运行正常。几个星期以来,我一直在搜索问题的根源而没有成功......

我已经尝试了以下步骤:

  1. 从5.5升级MySQL - > 5.7.18
  2. 安装了最后一个JDBC驱动程序mysql-connector-java-5.1.41-bin.jar
  3. 配置的UTF-8 character_sets

    [mysql]
    default-character-set=utf8
    [mysqld]
    collation-server = utf8_general_ci
    character-set-server = utf8
    
  4. 已禁用DNS主机名查找

    [mysqld]
    skip-name-resolve
    
  5. 所有人都没有帮助

    更新

    我通过

    分析了一个查询
    SET SESSION profiling = 1;
    SELECT * FROM ... LIMIT 0, 50;
    SHOW PROFILES;
    

    并看到查询耗时0.00121975秒。听起来很合理,但DbVis说执行时间是0.156秒。 java中的时间测量表明查询也花了大约0.2秒。所以我认为在数据传输或连接阶段有一些时间泄漏

0 个答案:

没有答案