Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Масштабування Jira: Понад 10 мільйонів запитів з Jira Data Center (Частина 1)

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Ви, як і багато інших користувачів Jira Software, можете зіткнутися з екземпляром або декількома екземплярами
Jira, які розрослися до величезних розмірів. Адміністрування такої інфраструктури займає все більше часу, так як
Вашим завданням стає постійна підтримка працездатності системи. Вам необхідно рішення, яке полегшить Вашу роботу
і зможе рости разом з організацією. У цій статті ми обговоримо проблеми зростаючого інстансу Jira Software, і
того, як Atlassian Data Center вирішує дану проблему та надає організаціям стабільну і масштабовану платформу.
Ця стаття є перекладом із англійської документу «Performance at Scale: 10M issues and beyond with
Jira Data Center»
компанії Atlassian.

Що таке DATA CENTER?

Data Center — це варіант розгортання на власних ресурсах, який доступний для багатьох продуктів Atlassian. Data
Center забезпечує високу доступність, стабільну продуктивність, а також адміністративний контроль та гнучкість. Ключ
до цих функцій полягає в архітектурі Data Center. За допомогою Data Center адміністратори можуть розгортати продукти
Atlassian на active-active кластері серверів, на відміну від традиційного розгортання на єдиній ноді. Ця технологія
кластеризації надає системі завадостійкості та можливості масштабуватися. При зростанні навантаження на інстанс,
кластер серверів може розширитися для підтримки швидкості обробки запитів. Крім того, якщо один сервер перестає
функціонувати, інші ноди переймають навантаження. І, нарешті, Data Center надає адміністраторам можливість гнучкого
розгортання незалежно від того, чи це власний ресурс чи хостинг у хмарі (IaaS).


Трафік користувачів надходить в систему через балансувальник навантаження (load balancer) та розподіляється відповідно до активних нод у кластері. Перед тим, як повернути відповідь на запит, інстанс отримає необхідні дані з бази даних і з спільної файлової системи

Масштабування Jira Software

Ви, напевно, чули історії про те, як Jira, що спочатку використовувалася для невеликої команди, набувала великих
розмірів. Як правило, розробник встановлює Jira на сервер і починає використовувати її для своїх проектів. Потім іі
починають використовувати і інші команди. Jira стає важливим елементом, який впливає на їх роботу. Cаме на цьому
етапі Jira вважається критично важливою програмою для організації, і тому відмовостійкість і продуктивність стають
основними вимогами.

Ми змоделювали ситуації, щоб показати, як Data Center вирішує реальні проблеми високого навантаження. Наші
стрес-тести довели архітектуру до меж, при яких клієнти можуть зіткнутися під час масштабування. Розглянемо деякі з
найпоширеніших проблем, що призводять до досягнення лімітів ресурсів вашого інстансу.

№ 1: ДОСЯГНЕННЯ ЛІМІТІВ АПАРАТНОГО ЗАБЕЗПЕЧЕННЯ

Коли адміністратори помічають неоптимальну продуктивність системи, її усунення починається на програмному рівні. Якщо
немає жодної іншої очевидної проблеми (наприклад, програмної помилки), що спричиняє зниження продуктивності, то,
ймовірно, вам потрібно буде виділити більше ресурсів для системи. Надання додаткових ресурсів відносно легко на
віртуальній машині, але системні адміністратори в кінці кінців дійдуть до апаратних лімітів одного сервера. Крім
того, у багатьох організаціях запит на додаткове обладнання може бути довготривалою та бюрократичною процедурою.
Давайте розглянемо ознаки, які вказують на досягнення обмежень апаратного забезпечення.

Обмеження апаратного забезпечення

На прикладному рівні Jira необхідно стежити за 3 ресурсами:

  • Розподіл CPU (кількість ядер процесора та обчислювана потужність);
  • RAM (пам’ять, що виділяється на середовище сервера та на JAVA heap);
  • Фізична ємність файлової системи, що використовується системою (паралельна пропускна здатність вводу / виводу та
    затримка).

Моніторинг

Хоча інтерфейс адміністратора дозволяє отримати дані про
використання системних ресурсів, не слід покладатися лише на нього. У критично важливих середовищах,
системні адміністратори повинні робити власний моніторинг для всіх трьох основних компонентів. Якщо будь-який з
компонентів наближається до своїх обмежень, стандартна операційна процедура повинна викликати сповіщення. Якщо ви
помітили, що будь-які системні ресурси послідовно використовуються на 90-100%, це має бути чітким показником того,
що ви досягаєте обмежень. Зазвичай, це можна помітити по падінню
продуктивності під час пікового навантаження.

Відновлення роботи

Коли Jira розгорнута на одному сервері Вам необхідно експериментувати з виділенням системних ресурсів. Проте слід
мати на увазі, що для кожної спроби знайти и вирішити проблему необхідний деякий час, щоб нові налаштування змогли
застосуватися.

Чим Data Center зможе допомогти?

У середовищі Jira Software Data Center Ви можете швидко реагувати на нестачу ресурсів. Замість того, щоб змінювати
налаштування сервера, можна додати ноди, тим самим розширити загальну ресурсну потужність і не впливати на час
простою користувача. Виділяючи додаткові ресурси для існуючих нод, ви можете переконфігуровувати ноду за нодою,
перезавантажуючи їх по черзі для застосування нових налаштуваннь, поки інші ноди обробляють транзакції. Користувачі
не підозрюють про проведення операцій, немає часу простою та впливу на продуктивність.

Результати стрес-тестів, які ми проводили в Jira Data Center

Для кращого розуміння різниці між Jira Software server та Jira Software Data Center, ми покажемо як додаткові ноди в
кластері Data Center впливають на продуктивність.

В цьому тесті, ми навантажували систему поступовим додаванням 1000 користувачів, які одночасно робили запити до
системи. Data Center повертає більше запитів за секунду, навіть при піковому навантаженні. Як ми бачимо, при
додаванні нод у кластер, система може обробляти ще більше трафіку.

Розглянемо, скільки часу треба чекати користувачу, щоб отримати відповідь на свй запит. При збільшенні навантаження,
Data Center повертає запити швидше, ніж інстанс з одного серверу. При додаванні нод у кластер час відгуку
зменшується.

З Jira Software Data Center адміністратори можуть покращити продуктивність системи додавши
більше нод у кластер. Система може бути динамічно масштабована в залежності від кількості
активних нод.

№ 2: ОДНОЧАСНЕ ВИКОРИСТАННЯ СИСТЕМИ

Однією з основних проблем пов’язаних із масштабуванням Jira є кількість активних сеансів користувачів. При
неконтрольованому зростанні користувачів в межах організації з’являються екземпляри Jira, адміністратори яких
можуть і не знати один одного. В наслідок цього, всі інстанси об’єднують в один консолідований інстанс. Це
вигідно огранізаціям, що прагнуть вдосконалити управління і одночасно спростити технічне обслуговування. Внаслідок
злиття інстансів різко зросте кількість користувачів, що будуть одночасно користуватися системою.

Коли велика кількість сеансів користувачів стає проблемою

Чим більше користувачів буде в системі, тим більша ймовірність перевантаження сервера, збільшення часу відгуку,
погіршення роботи сервісів і навіть часу простою. Хоча не існує єдиного способу точно оцінити точку перевантаження
для конкретного випадку, одночасне використання ресурсів рано чи пізно призводить до проблем, якщо екземпляр Jira
Software розгорнутий на одному сервері.

Нижче показано, як інстанс на одному сервері обробляє запити при зростанні активних користувачів. Навіть при 500
активних сесіях обробка 1 з 5 запитів може тривати до 30 секунд. Коли кількість активних користувачів зростає до 750
і 1000, спостерігається неприйнятно повільний час відгуку. У контексті нашого тестування, ми позначили 1000
користувачів як опорну точку для подальшого дослідження.

Чим Data Center зможе допомогти?

Jira Software Data Center дозволяє завчасно масштабуватися при зростанні кількості активних користувачів без
даунтайму. При необхідності додаткової потужності для обробки запитів користувачів, інстанс може бути збільшений
шляхом додавання нод. Система може розширюватись у періоди найбільшого навантаження і зменшуватися при його
зниженні. Масштабування Jira Software Data Center непомітно для ваших кінцевих користувачів.

З цих даних можна зробити висновок, що організації можуть робити консолідацію інстансів Jira без загрози часу простою
системи, адже налаштування та доступ до неї можна регулювати набагато ефективніше. Об’єднання
в Jira Software Data Center надає управління та безпеку, яку Ви забажаєте, а також пропускну здатність
системи, яка Вам необхідна.

№ 3: ВЕЛИКА КІЛЬКІСТЬ ДАНИХ

Інстанс Jira Software зростає не лише від великої кількості користувачів, а й від додаткових даних: задач, проектів,
спеціальних полей, бізнес-процесів, додатків тощо. Як користувачі, так і пов’язані з ними дані, можуть негативно
вплинути на продуктивність у великих системах. Коли дані вашого інстансу зростають, кожен запит користувача стає
більш ресурсомістким. Рендеринг одноі задачі або дошки вимагатиме значно більше пам’яті та обчислюваної
потужності на вашому сервері. Іншими словами, якщо кількість користувачів буде залишатися сталою, зростання
складності даних буде мати наслідки для продуктивності та ресурсомісткості у Вашому інстансі Jira.

Ознаки проблем, пов’язаних зі обчислювальною складністю даних

Щоб показати, як може зростати обчислювана складність, ми створили 4 сценарії для великих інстансів. Подивіться на
таблицю нижче і визначте, який сценарій найбільш відповідає Вашим умовам.

Коли інстанс зросте до такого рівня, буде помітна втрата продуктивності. Тестування одиничних серверів на цих
масштабах показало, що середній час відгуку різко збільшується. Це може спричинити значний вплив на взаємодію з
користувачем і зробити систему непридатною для використання. На цьому етапі обчислювальна складність даних
призводить до того, що кожен запит стає ресурсоємним і вимагає більше часу для обробки.

Чим Data Center зможе допомогти?

Наведені вище сценарії ідеальні для порівняння продуктивності інстансу на одному сервері з продуктивністю Data
Center. Коли робота інстансу на одному сервері може бути неприйнятною, Data Center може підтримувати продуктивність
поширюючи додаткову обчислювальну складність на інші апаратні ресурси, щоб система не перевантажувалася.

Як видно на діаграмі вище, Data Center краще витримує великі навантаження ніж інстанси на одному сервері.

Важливо зазначити, що в нашому тестуванні ми змінили архітектуру інстансу Data Center, щоб відповідати зазначеному
масштабу. Для сценарію 1 Data Center з 3-х нод в середньому повертав запити в 20 разів швидше, ніж інстанс з одного
сервера. Сценарій 2 вимагав 4 ноди, а для масивних сценаріїв 3 і 4 ми збільшили Data Center до 6 нод. Data Center
забезпечує горизонтальну масштабованість, необхідну для збереження часу відповіді.

(Далі буде...)

===

Переклад здійснено фахівцями компанії Softlist, оригінал документу доступний за посиланням.

Softlist — партнер Atlassian на території України з найвищим статусом «Platinum Solution Partner», розробник української локалізації для сімейства продуктів Jira. З допомогою плагінів та інтеграцій від Softlist для платформи Jira, ви можете організувати ефективну командну роботу і поліпшити процес моніторингу та управління задачами або проблемами в організації.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Представляємо вашій увазі продовження матеріалу про проблеми зростаючого інстансу Jira Software, і того, як Atlassian Data Center вирішує дану проблему та надає організаціям стабільну й масштабовану платформу:

Частина 2 — Оновлення без часу простою з Jira Software Data Center
Частина 3 — Запуск підтвердження концепції (PoC)

Яка користь від цієї статті?

Підписатись на коментарі