1

Atlassian Confluence システムに問題があります。

基本的に、月の本番部分のデータ変換を行う SQL スクリプトの主要な負荷を、Confluence および Jira コラボレーション システムと共有するサーバーがあります。

特に - 大きなスクリプトを実行し、confluence での操作 (ページのレンダリング、ページの編集、ページの作成) に関係なく、Confluence ページにアクセスしようとすると、大幅な速度低下が発生することに気付きました.何かが起こるのをかなりの数秒待ちます。

トランザクション レベルのログ記録を開始しました。それらは次のとおりです。

スクリプトの実行中に一般的な低速クエリ ログをオンにしました。

この時間帯に合流点から過剰なアクティビティが発生しました: 12:33:01pm から 13:27:16pm までの SQL ステートメントの問題の数:

  1. 合流点 144,691
  2. ジラ 6,940

合流の場合、1 秒あたり 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 インスタンスはセッションごとに 1 回分離レベルを設定しています。分離レベルをグローバルに構成してみてください。これを行う方法についての説明は、Confluence ナレッジ ベースにあります。

基本的に、追加するだけです

transaction-isolation=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-COMMITTEDmy.cnf に追加しないことが推奨されています。

そしてconfluence.cfg.xml 、atlassian/application-data/confluence の下で確認したところ、プロパティhibernate.connection.isolationはデフォルトで 2 です。(confluence V5.4.4)

したがって、合流点が正常に機能するため、煩わしい mysql ログを無視することを好みます。
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 に答える