1

我们的 Atlassian Confluence 系统存在问题。

基本上,我们有一台服务器与我们的 Confluence 和 Jira 协作系统共享我们的主要 SQL 脚本负载,该脚本在当月的生产部分进行数据转换。

值得注意的是 - 我们注意到在运行大型脚本并尝试访问 Confluence 页面时,无论对 Confluence 进行何种操作(渲染页面、编辑页面、创建页面)都会出现一些巨大的减速......它们都陷入了困境,你最终会等待几秒钟以等待某件事发生。

我们刚刚开始记录事务级别。它们如下:

在脚本运行时打开一般查询日志和慢查询日志。

在此期间注意到来自融合的过度活动:从下午 12:33:01 到下午 13:27:16 发出的 SQL 语句数量:

  1. 汇合 144,691
  2. 吉拉 6,940

对于合流,每秒 43.85 个语句。对于合流语句,顶部是:

commit 38,286
SET autocommit=1 28,519
rollback 27,809 SET autocommit=0 27,809
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED 27,809
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ 27,809

SELECT @@session.tx_isolation 712

主要问题是粗体字

所以我的问题是...... Confluence 在这么短的时间内发布这么多事务级别读取是做什么的......?

即使是回顾 DB 的内部处理也不应该多次回顾 DB,无论是安全检查还是渲染数据......

再说一遍,Confluence 在做什么?如果有人知道......这就是它的运作方式吗?我很想知道其他人的 Confluence 日志是否显示相对测量值......

为什么会慢下来?是资源共享问题吗?

4

2 回答 2

3

Confluence 可以在会话级别配置它的数据库隔离级别,或者可以依赖 mysql 的全局配置。

我的猜测是您的 Confluence 实例为每个会话设置一次隔离级别。尝试全局配置隔离级别。可以在Confluence 知识库中找到有关如何执行此操作的说明

基本上,您只需要添加

事务隔离=READ-COMMITTED

到你的 my.cnf 文件

更一般地说,您可能想查看 MySql 的 Confluence 安装指南,并确保您的数据库按照他们推荐的方式进行配置(请参阅https://confluence.atlassian.com/display/DOC/Database+Setup+For+MySQL# DatabaseSetupForMySQL-Step3.ConfigureMySQLServer)。

于 2013-04-17T06:36:30.740 回答
1

不建议添加全局设置。
请参考此链接

根据这篇文章,在3.5.6或更高版本,建议不要添加transaction-isolation=READ-COMMITTED到my.cnf

confluence.cfg.xml 在atlassian/application-data/confluence下查看,属性hibernate.connection.isolation默认为2。(confluence V5.4.4)

所以我宁愿忽略烦人的 mysql 日志,因为 confluence 可以正常工作:
110 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ<br> 108 Query SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED

于 2014-03-31T04:00:15.037 回答