- PVSM.RU - https://www.pvsm.ru -
Новый год начался для нас с возвращения на Хабр. Итак, daddy’s home. Мы решили вернуть наш блог к жизни, чтобы делиться новостями компании, технологическими секретами, жизненным опытом и общаться c вами, тем более и рассказать нам есть о чем.
Новую страницу нашего блога мы начнем, пожалуй, с небольшого эксперимента. Мы решили развернуть наш офисный пакет ONLYOFFICE на мини-серверах. В качестве непривычной тестовой среды для нашего ПО мы использовали три разных (по стоимости и, соответственно, мощности процессора) машины Intel NUC.
Что из этого всего вышло — читайте далее.
Зачем нам это?
Нам нравится идея мини-серверов для небольших команд и домашних офисов. Недавно мы выпустили корпоративное серверное решение ONLYOFFICE Enterprise Edition и решили развеять миф о том, что для того, чтобы оно работало, нужна какая-то массивная аппаратная поддержка. Большой сервер и отдельное помещение в качестве его резиденции это, конечно, хорошо, но вовсе не обязательно, особенно в случае маленьких компаний.
В общем, мы за компактность и минимализм. С такими мыслями мы и отправились на поиски подходящего железа для претворения концепции в жизнь. Конечно, свой итоговый выбор мы уже заспойлерили в начале статьи, но теперь мы еще его и обоснуем.
Наши подопытные
В общем-то наши требования к железу вполне очевидны: что-то понятное, надежное, помещающееся в пределы разумного в плане размера и желательно недорогое. И мы остановились на Intel NUC'ах. Возможно, это было несколько эмоциональное решение, основанное на привлекательной внешности их железочек, но, в итоге, наш список покупок выглядел так:
С такими приобретениями мы почти готовы приступить к запланированным экспериментам.
Настройка
Но сначала необходимо подготовить наших «пациентов». Это простая и не слишком обременительная процедура всего в четыре шага:
Шаг 1. Ставим Ubuntu 15.04.
Шаг 2. Обновляем ядро до последнего (У Mono есть проблемы с некоторыми ядрами, но на последних все точно работает).
Шаг 3. Ставим Docker [1] (мы поставили последнюю версию из их репы, то есть Docker version 1.9.1, build a34a1d5, но, на самом деле, подойдет 1.4 или выше).
Шаг 4. Используя скрипт, разворачиваем docker-контейнеры с ONLYOFFIC’ом, а еще точнее с последним серверным решением ONLYOFFICE Enterprise Edition [2].
Проделав эти манипуляции со всеми тремя 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) сопровождал нас на международный форум «Открытые инновации». С его помощью мы успешно представили на мероприятии нашу новую серверную версию — симпатичная внешность и вполне хорошая производительность сделали своё дело.
Автор: ONLYOFFICE
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/testirovanie/108810
Ссылки в тексте:
[1] Docker: https://docs.docker.com/engine/installation/ubuntulinux/
[2] ONLYOFFICE Enterprise Edition: http://www.onlyoffice.com/download.aspx
[3] Источник: http://habrahabr.ru/post/275009/
Нажмите здесь для печати.