在声纳服务器MySQL数据库中存储声纳跑步者报告需要3分钟。它建立数据库连接的速度足够快,并且它说它在213ms内存储了报告,但它需要3+分钟才能完成。我似乎等待了3分钟(等待一些超时?)在它完成插入之后。有什么办法解决这个问题吗?
这是sonar-runner所说的:
...
20:30:32.973 INFO - Install JDBC driver
20:30:33.037 INFO - Create JDBC datasource for jdbc:mysql://n.n.n.n:3306/sonar?useUnicode=true&characterEncoding=utf8
20:30:36.463 INFO - Initializing Hibernate
...
20:31:13.033 INFO - Execute decorators...
20:31:20.178 INFO - Store results in database
20:34:21.505 INFO - Analysis reports generated in 64ms, dir size=47 KB
20:34:21.551 INFO - Analysis reports compressed in 46ms, zip size=36 KB
20:34:21.764 INFO - Analysis reports sent to server in 213ms
...从时间戳中可以看到,存储数据需要3分1秒,sonar-runner表示它在213ms内发送了数据。
sonar-runner.properties中唯一未注释的行是:
sonar.jdbc.url=jdbc:mysql://n.n.n.n:3306/sonar?useUnicode=true&characterEncoding=utf8客户机运行的是OS,我可以ssh到服务器,没有明显的延迟。
服务器是一个安装了普通(apt-get) MySQL 5.6的AWS Ubuntu镜像。my.cnf的唯一变化是将绑定地址从127.0.0.1更改为0.0.0.0。
发布于 2015-05-14 05:26:22
可能是数据库未关闭的连接或未提交的事务导致事务阻塞一段时间的问题吗?
检查http://www.xaprb.com/blog/2006/07/31/how-to-analyze-innodb-mysql-locks/
希望能有所帮助
https://stackoverflow.com/questions/30225320
复制相似问题