Сервер в кишені: розгортаємо ONLYOFFICE на Intel NUC'ах

Новий рік розпочався для нас з повернення на Хабр. Отже, daddy's home. Ми вирішили повернути наш блог до життя, щоб ділитися новинами компанії, технологічними секретами, досвідом і спілкуватися з вами, тим більше і розповісти нам є про що.

Нову сторінку нашого блогу ми почнемо, мабуть, з невеликого експерименту. Ми вирішили розгорнути наш офісний пакет ONLYOFFICE на міні-серверах. Як незвичній тестового середовища для нашого З ми використовували три різних (по вартості і, відповідно, потужності процесора) машини Intel NUC.

Що з цього всього вийшло — читайте далі.



Навіщо нам це?

Нам подобається ідея міні-серверів для невеликих команд і домашніх офісів. Нещодавно ми випустили корпоративне серверне рішення ONLYOFFICE Enterprise Edition і вирішили розвіяти міф про те, що для того, щоб воно працювало, потрібна якась масивна апаратна підтримка. Великий сервер і окреме приміщення в якості його резиденції це, звичайно, добре, але зовсім не обов'язково, особливо у випадку маленьких компаній.

Загалом, ми за компактність і мінімалізм. З такими думками ми і відправилися на пошуки відповідного заліза для втілення концепції в життя. Звичайно, свій підсумковий вибір ми вже заспойлерили на початку статті, але тепер ми ще його і обґрунтуємо.

Наші піддослідні

Загалом-то наші вимоги до заліза цілком очевидні: щось зрозуміле, надійне, помещающееся в межі розумного в плані розміру і бажано недороге. І ми зупинилися на Intel NUC'ах. Можливо, це було кілька емоційне рішення, засноване на привабливої зовнішності їх железочек, але, в результаті, наш список покупок виглядав так:

  • Intel NUC5PPYH на базі Intel Pentium N3700 з частотою 1,6 ГГц, з пам'яттю типу DDR3L і підтримкою 2,5 дюймових дисків або SSD. Вартість покупки: 14 550 рублів.
  • Intel NUC NUC5i3RYH на базі процесора Intel Core i3-5010U, з пам'яттю типу DDR3L і простором для 2,5-дюймового жорсткого диска або твердотільного накопичувача формату M. 2. Покупка обійшлася нам у 21 тисячу рублів (на момент написання статті — 24 360 рублів).
  • Intel NUC NUC5i5RYH (процесор Intel Core i5-5250U, пам'ять DDR3L, простір для 2.5" HDD або SSD M2). Ця коробочка коштувала приблизно 31 тисячу рублів (на момент написання статті — 31 720 рублів).


З такими придбаннями ми майже готові приступити до запланованих експериментів.

Параметри

Але спочатку необхідно підготувати наших «пацієнтів». Це проста і не дуже обтяжлива процедура всього в чотири кроки:

Крок 1. Ставимо Ubuntu 15.04.

Крок 2. Оновлюємо ядро до останнього (У Mono є проблеми з деякими ядрами, але на останніх все точно працює).

Крок 3. Ставимо Docker (ми поставили останню версію з їх ріпи, тобто Docker версія 1.9.1, build a34a1d5, але, насправді, підійде 1.4 або вище).

Крок 4. Використовуючи скрипт, розгортаємо docker-контейнери з ONLYOFFIC'ом, а ще точніше з останнім серверним рішенням ONLYOFFICE Enterprise Edition.

Проробивши ці маніпуляції з усіма трьома NUC'ами, ми приступаємо до найцікавішого, а саме тестуємо продуктивність нашого рішення на різному залозі.



найцікавіше

Щоб подивитися, як себе почуває наш софт в новому оточенні, ми вирішили скористатися JMeter'ом.

Відразу оговариваемся, що проводимо ні в якому разі не навантажувальне тестування, а тестування продуктивності. Ми не шукаємо вузькі місця по навантаженню в додатку, а дивимося, наскільки наші железочки гарні для такого.

Отже, ми пишемо невеликий скрипт, який смикає всі важливі частини системи і створює певне навантаження. Так як наші піддослідні NUC'і все-таки не є справжніми серверами, ми беремо тестування в 10,20,30,40 і 50 потоків. З таким навантаженням ми не впираємося в ширину каналу, і, відповідно, нам не потрібно піднімати кілька розподілених клієнтів.

Паралельно з тим, як на сервері створюється навантаження, ми відкриваємо браузер і дивимося, скільки часу загружається сторінка.

Ramp up період для всіх прогонів становив 1 секунду. Для отримання кожного результату робилося 10 вимірів. У таблицю з результатами ми включили тільки середні значення. А ось, власне, і вона: )
Number of thread group
Errors
Samples
Page Load (sec)
Speed (kB/s)
RPS
10
0.65
1394
9.94
106.53
10.56
20
0.65
3095
19.38
85.4
8.48
30
0.51
5845
20.01
97.65
9.66
40
0.75
5311
22.46
101.6
10.19
50
0.61
8143
27.70
101.26
10.05
Number of thread group
Errors
Samples
Page Load (sec)
Speed (kB/s)
RPS
10
0.37
2441
7.41
208.36
20.69
20
1.11
3516
19.52
131.31
19.12
30
0.65
4602
20.19
209
18.82
40
0.78
5251
30.69
168.23
16.83
50
0.89
10689
50.41
166.42
16.6
Number of thread group
Errors
Samples
Page Load (sec)
Speed (kB/s)
RPS
10
0.23
3536
3.96
325
29.22
20
0.55
3605
6.98
320.06
29.31
30
0.95
6625
18.98
208
28.77
40
0.55
6671
21.68
310
28.03
50
0.67
7358
24.18
309.5
28.08
Результати

Ми отримали досить непогані і, в принципі, передбачувані результати.

Правда, NUC (N3700) показав себе трохи краще, ніж ми очікували. З-за слабенького процесора ми не покладав на нього великих надій, однак тести показали, що чисто теоретично така железочка підійде для невеликої команди до 15 осіб. Втім, якщо говорити про долю нашої «пацієнтки», то вона, найімовірніше, все одно проведе залишок днів у конференц-залі.

Результати NUC5i3RYH також цілком очікувано виявилися трохи кращими, ніж у попередника. На 10 потоках ця залізниця видала 20 RPS, і тому цілком підійде для невеликого офісу в 15 чоловік.

Третя з найбільш потужним процесором очікувано показала найкращі результати і видала майже 30 запитів в секунду. За нашими спостереженнями, цього достатньо для нормальної роботи офісу 50 осіб, якщо звичайно всі ці 50 людина не кинуться одночасно конвертувати pdf-файли за 800 мегабайт.

Сухий залишок

Звичайно, такий варіант не зрівняється з повноцінною серверною версією за потужностями та надійності. Зате це відмінний варіант для тих, хто з міркувань безпеки не хоче зберігати свої дані «десь там» в публічному хмарному сервісі і при цьому не має можливості або бажання обзавестися власним сервером. Така коробочка цілком пристойно працює з нашим і може стояти в центрі невеликого офісу поруч з принтером, нікого не дратуючи.

Невеликий лайфхак: ми також використовували таке рішення як «виставкового» варіанту. «Пацієнт» номер три (NUC5i5RYH) супроводжував нас на міжнародний форум «Відкриті інновації». З його допомогою ми успішно представили на заході нашу нову серверну версію — симпатична зовнішність і цілком хороша продуктивність зробили свою справу.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.