2013-04-05 4 views
1

У нас есть проблема с нашей системой Atlassian Confluence.Медленное слияние во время запуска SQL-скрипта

В основном у нас есть сервер, который разделяет нашу основную загрузку SQL-скриптов, которая преобразует данные для производственной части месяца, с нашей системой совместной работы Confluence и Jira.

Примечательно - мы заметили некоторые огромные замедления при запуске больших скриптов и попытке доступа к страницам Confluence, независимо от операции слияния (визуализировать страницу, отредактировать страницу, создать страницу) ... Все они увязли и вы в конечном итоге ожидаете несколько секунд, чтобы что-то произошло.

Мы только начали регистрировать уровни транзакций. Они заключаются в следующем:

Включил общие и медленные журналы запросов во время работы скрипта.

Заметил чрезмерную активность от впадения в это время: Количество выпусков SQL заявления рум 12:33:01 вечер до 13:27:16 часов:

  1. впадение 144.691
  2. JIRA 6940

Для слияния это 43.85 выписок в секунду. Для отчетности слияния, вершины были:

совершают 38286
SET автокоммит = 1 28519
Откат 27809 SET автокоммит = 0 27809
SET SESSION ТРАНЗАКЦИИ ВЫДЕЛЕНИЕ УРОВЕНЬ ЧТЕНИЕ COMMITTED 27809
SET СЕССИЯ ТРАНЗАКЦИИ ISOLATION УРОВЕНЬ REPEATABLE READ 27.809

SELECT @@ session.tx_isolation 712

Основные проблемы в BOLD

Итак, мой вопрос ... что такое Confluence, выполняющее выдачу этого большого количества уровней транзакций за короткий промежуток времени ...?

Даже внутренняя обработка оглядки на БД не должны смотреть назад в БД, что много раз, будь то проверка безопасности или для визуализации данных ...

Итак, еще раз, что это Confluence делать? Если кто-нибудь знает ... это так, как он работает? Мне было бы интересно узнать, показывают ли другие журналы журналов слияния с относительными измерениями ...

Почему это должно замедляться? Это проблема обмена ресурсами?

Заранее благодарен!

ответ

3

Confluence может иметь уровень изоляции базы данных, настроенный на уровне сеанса, или может полагаться на глобальную конфигурацию mysql.

Я предполагаю, что ваш экземпляр Confluence устанавливает уровень изоляции один раз за сеанс. Попробуйте настроить уровень изоляции по всему миру.Инструкции о том, как это сделать, можно найти в Confluence knowledge base

В принципе, вам просто нужно добавить

сделки изоляция = READ-COMMITTED

В файле my.cnf

В общем, вам может потребоваться ознакомиться с руководством по установке Confluence для MySql и убедиться, что ваша база данных настроена так, как они рекомендуют (см. https://confluence.atlassian.com/display/DOC/Database+Setup+For+MySQL#DatabaseSetupForMySQL-Step3.ConfigureMySQLServer).

+0

спасибо, есть ли что-нибудь, о чем можно беспокоиться, установив это глобально? какие-то странные последствия? – Hituptony

+0

Я не гуру DBA, но вам, вероятно, нужно будет понять, какие другие транзакционные требования необходимы другим клиентам, обращающимся к вашей базе данных (если есть). Я думаю, уровень изоляции транзакций «прочитанный» довольно «нормальный». – jaysee00

1

Не рекомендуется добавлять глобальные настройки.
Пожалуйста, обратитесь к этому link

Согласно этой статье, на 3.5.6 или более поздней версии, он предложил не добавлять transaction-isolation=READ-COMMITTED в my.cnf

И я проверил confluence.cfg.xml под Atlassian/прикладном данных/стечение, свойство hibernate.connection.isolation является 2 по умолчанию (стечение V5.4.4)

Поэтому я предпочитаю игнорировать раздражает журнал MySQL, так как стечение работает отлично:.
110 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ<br> 108 Query SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED

 Смежные вопросы

  • Нет связанных вопросов^_^