DIRECTUM на недорогом облачном сервере. Возможно ли? 

Андрей Ардашев 4 июля 2013 в 08:39

Введение

Информационные технологии подобно моде изменяются очень быстро. Вчерашние фавориты уже пылятся на свалке истории или используются, но крайне редко. Пресловутыми облачными технологиями уже никого не удивишь, некоторые активно используют их в бизнес-процессах, некоторые боятся оторвать от себя частичку ИТ-инфраструктуры, вполне обоснованно опасаясь за безопасность данных. Интернет-блоги хостинг-провайдеров завлекают минимальными стартовыми финансовыми инвестициями в ИТ-инфраструктуру, высокой надежностью, быстрой окупаемостью и т.д.

В этой статье будет рассмотрен эксперимент, произведенный компанией DIRECTUM, по размещению одноименной системы на облачной инфраструктуре, любезно предоставленной компанией ActiveCloud. Целью эксперимента является выявление максимального числа пользователей, которые смогут комфортно работать через толстый клиент с системой DIRECTUM, находящейся на недорогом облачном сервере, подходящем для компаний малого и среднего бизнеса, которые по той или иной причине не хотели бы вкладывать большие денежные средства в собственную ИТ-инфраструктуру.

Ограничения на эксперимент

Цена вопроса

Допустим, есть компания, у которой в системе документооборота одновременно работает до 50 человек, причем бюджет на развитие ИТ-инфраструктуры у этой компании ограничен суммой в 10 тыс. рублей в месяц. Поскольку число пользователей небольшое, достаточно арендовать один виртуальный сервер (в соответствии с рекомендациями к аппаратной части http://www.directum.ru/SystemTreb.pdf), осталось выяснить, каких характеристик сервера будет достаточно.

Для нагрузочного эксперимента провайдером ActiveCloud были предоставлены виртуальные серверы со следующими характеристиками:

  • VM1 (стоимость по конфигуратору 4730,6 руб./мес): 1 vCPU, ОЗУ 2 ГБ, ПЗУ 60 ГБ ПЗУ (RAID-10 SATA для операционной системы) + 100 ГБ (RAID-10 SAS для хранения файлов БД), 1 внешний IP-адрес, общий канал провайдера 100Мб/с, ОС Microsoft Windows Server 2008 R2 Standard;
  • VM2 (стоимость по конфигуратору 6602,6 руб./мес): 2 vCPU, ОЗУ 4 ГБ, ПЗУ 60 ГБ ПЗУ (RAID-10 SATA для операционной системы) + 100 ГБ (RAID-10 SAS для хранения файлов БД), 1 внешний IP-адрес, общий канал провайдера 100Мб/с, ОС Microsoft Windows Server 2008 R2 Standard;
  • VM3 (стоимость по конфигуратору 8474,6 руб./мес): 2 vCPU, ОЗУ 8 ГБ, ПЗУ 60 ГБ ПЗУ (RAID-10 SATA для операционной системы) + 100 ГБ (RAID-10 SAS для хранения файлов БД), 1 внешний IP-адрес, общий канал провайдера 100Мб/с, ОС Microsoft Windows Server 2008 R2 Standard;
  • VM4 (стоимость по конфигуратору 9842,6 руб./мес): 4 vCPU, ОЗУ 8 ГБ, ПЗУ 60 ГБ ПЗУ (RAID-10 SATA для операционной системы) + 100 ГБ (RAID-10 SAS для хранения файлов БД), 1 внешний IP-адрес, общий канал провайдера 100Мб/с, ОС Microsoft Windows Server 2008 R2 Standard.

Требования к быстродействию виртуального «железа»

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

Метрика

Допустимый уровень

% загруженности процессора

(% Processor Time)

Не более 75%

Длина очереди процессора

(Processor Queue Length)

Не более «число процессоров» * 2

Доступно МБ

(Available Mbytes)

Не менее 10%

Обмен страниц/сек

(Pages/sec)

Не более 2500

Среднее время обращения к диску, сек

(Avg. Disk sec/Transfer)

Не более 0,015

Средняя длина очереди диска

(Avg. Disk Queue Length)

Не более 2

% активности диска

(% Disk Time)

Не более 50%

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

Профиль нагрузки

Профиль нагрузки представляет собой список основных пользовательских операций и частоту их выполнения. В данном эксперименте интенсивности выполнения операций соответствуют увеличенным в 2 раза максимальным значениям у клиентов компании DIRECTUM. Профиль нагрузки составлен таким образом, чтобы ввести виртуальную инфраструктуру в насыщение. Запланировано, что инфраструктура пробудет в насыщенном состоянии продолжительное время, это необходимо, для того, чтобы удостовериться в надежности сервиса. Либо сервис откажет, либо продолжит обрабатывать запросы.

Профиль

Нагрузка, (одно событие в час)

Количество пользователей

От 10 до 500 с шагом 10 пользователей каждые 20 сек.

Продолжительность нагрузки, ч.

0,5

Документы

Изменение прав доступа на документ

0,56

Создание документа

0,9

Экспорт версии документа

2,82

Импорт в версию документа

1,68

Открытие карточки документа

0,14

Задачи и задания 

Изменение задач

6,34

Создание задач

1,72

Выполнение заданий

2,96

Просмотр заданий

2,84

Справочники

Изменение записи справочника 

7,1

Создание записи справочника

1,96

Открытие карточки справочника

4,3

Открытие справочника

3,82

Проводник системы

Получение универсальной папки

1,66

Получение папки компонент

0,62

Получение папки задач

0,88

Получение папки заданий

4,34

Получение папки документов

1,22

Поиск

Универсальный поиск

0,12

Поиск документов

2,46

Поиск папок

0,22

Поиск заданий

0,7

Поиск задач

1,14

Вход в систему и выход из системы

Вход

0,25

Выход

0,25

Результаты эксперимента

Схематично экспериментальный стенд можно изобразить следующим образом:

Собранные данные были обработаны, но поскольку число точек измерения довольно большое (значения счетчиков производительности снимались ежесекундно), для удобства восприятия графиков ниже представлены линии тренда с линейной фильтрацией по 40 точкам. По оси абсцисс указано изменение числа пользователей в течение 1 часа, по оси ординат указано значение параметра в текущий момент времени.

1. % загруженности процессора (% Processor Time)

2. Длина очереди процессора (Processor Queue Length)

3. Доступно МБ (Available Mbytes)

4. Обмен страниц/сек (Pages/sec)

5. Среднее время обращения к диску, сек (Avg. Disk sec/Transfer)

5.1. Диск с ОС

5.2. Диск с БД

6. Средняя длина очереди диска (Avg. Disk Queue Length)

7. % активности диска (% Disk Time)

Аналитика

В результате анализа графиков, представленных выше, для каждого исследуемого параметра системы было определено число пользователей, при котором параметр не достигает порогового значения.

Параметр

VM1

VM2

VM3

VM4

% загруженности процессора

(% Processor Time)

55

90

90

170

Длина очереди процессора

(Processor Queue Length)

20

50

50

70

Доступно МБ

(Available Mbytes)

290

500

Не достигло порога

Не достигло порога

Обмен страниц/сек

(Pages/sec)

85

110

220

160

Среднее время обращения к диску, сек

(Avg. Disk sec/Transfer)

20

50

55

60

Средняя длина очереди диска

(Avg. Disk Queue Length)

55

110

215

170

% активности диска

(% Disk Time)

310

Не достигло порога

Не достигло порога

420

Число пользователей, при котором ни один параметр не достигает порогового значения.

20

50

50

60

Скорость выполнения запросов в условиях максимальной загруженности виртуальных машин представлены в следующей таблице:

Тесты

VM1

VM2

VM3

VM4

Количество пользователей, которым удалось авторизоваться в системе

51

118

190

190

Среднее время выполнения тестов

Изменение прав доступа на документ, 1 операция в сек

45,6

172

206

87,8

Изменение записи справочника, 1 операция в сек

75,1

184

175

89,7

Изменение задач, 1 операция в сек

77,7

164

164

68,5

Создание документа, 1 операция в сек

103

246

138

145

Создание записи справочника, 1 операция в сек

80

199

184

118

Создание задач, 1 операция в сек

95

211

149

144

Выполнение заданий, 1 операция в сек

86,1

187

170

108

Экспорт версии документа, 1 операция в сек

62,6

185

161

61,3

Получение универсальной папки, 1 операция в сек

38,9

149

173

91,7

Получение папки компонент, 1 операция в сек

37

190

206

36,5

Получение папки документов, 1 операция в сек

44,4

188

191

67,3

Получение папки заданий, 1 операция в сек

98,2

165

161

54,1

Получение папки задач, 1 операция в сек

106

114

175

37,9

Импорт в версию документа, 1 операция в сек

93,3

203

171

85,7

Вход в систему, 1 операция в сек

2,65

28,4

33,1

30,1

Открытие карточки документа, 1 операция в сек

0,11

202

216

16,5

Просмотр заданий, 1 операция в сек

87,2

170

165

57,7

Открытие карточки справочника, 1 операция в сек

76,9

174

189

87,2

Открытие справочника, 1 операция в сек

79,1

181

178

148

Универсальный поиск, 1 операция в сек

2,16

300

156

6,36

Поиск документов, 1 операция в сек

113

187

163

83,7

Поиск папок, 1 операция в сек

0,077

10,3

97,7

47,6

Поиск заданий, 1 операция в сек

49,9

172

129

80

Поиск задач, 1 операция в сек

30,2

158

208

65

Среднеарифметическая скорость выполнения операций, 1 операция в сек

61,84

172,48

164,95

75,74

Выводы

Итак, можно ли разместить систему DIRECTUM на облачном сервере? Утвердительно да, но с условием выполнения определенных требований.

Исходя из аналитических таблиц, представленных выше в разделе Аналитика, минимальная конфигурация виртуального сервера, которая подходит под предложенные условия – это VM2. Однако наиболее предпочтительной является конфигурация VM3, поскольку она имеет достаточный запас оперативной памяти (наиболее ценного ресурса для системы DIRECTUM и подобных систем).

Также немаловажным ресурсом для системы DIRECTUM является дисковая подсистема, а именно скорость ее работы. Если посмотреть на графики «Среднее время обращения к диску, сек», можно увидеть, что для диска, на котором находится операционная система, скоростных характеристик дисков SATA явно не достаточно, в то же время на диске с БД (SAS диски) не наблюдается каких-либо пороговых значений. Поэтому для рабочей системы желательно выбирать именно SAS диски или же SSD хранилища.

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

В данной статье были рассмотрены только нагрузочные характеристики облачных серверов, но не затрагивался вопрос защиты данных на облачном хостинге, в том числе защиты персональных данных. Этот вопрос, безусловно, интересен, и заслуживает отдельной статьи.

Отредактировал Валентина Писанова, 04.07.2013 в 13:49
Отредактировал Андрей Ардашев, 04.07.2013 в 15:51
Отредактировал Андрей Ардашев, 05.07.2013 в 15:14
понравилась 7 пользователям



Комментарии
Алексей Пестерев
3 июля 2013 в 10:54

Я давно ждал продолжения темы облаков, очень круто!

Степан Мурашов
4 июля 2013 в 09:00

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

То есть, например, для VM2, мы видим, что "Число пользователей, при котором ни один параметр не достигает порогового значения" - 50. А время выполнения основных операций в системе приведено для 118 пользователей - и времена выполнения операций там явно слишком велики для комфортной работы (сотни секунд на любую операцию). Поэтому хотелось бы видеть время выполнения операций на VM2 при 50 пользователях, чтобы понять, насколько комфортно при этом будет работать по скорости.

Степан Мурашов
4 июля 2013 в 09:04

А данные сами по себе интересные и полезные, большое спасибо за проделанную работу и публикацию данных!

Андрей Ардашев
4 июля 2013 в 12:05

Спасибо за комментарий, Степан! Очень хорошее замечание.

К сожалению данные о скорости выполнения операций при числе пользователей, при котором ни один параметр не достигает порогового значения, не были сняты специально, отчасти из-за временных ограничений, отчасти из-за того, что такая цель не была поставлена изначально. Но поскольку при таком числе пользователей система практически не загружена, то можно с уверенностью сказать, что скоростные характеристики системы DIRECTUM будут на заявленном в уровне.

Денис Архипов
4 июля 2013 в 16:57

Там было поднято VPN или терминальный доступ?

общий канал провайдера 100Мб/с это от клиентской машины до сервера? у некоторых локальные сети медленнее, а уж о стоимости такого канала для юр лица страшно подумать

Андрей Подкин
4 июля 2013 в 17:01
DIRECTUM на недорогом облачном сервере. Возможно ли?
Скорее нет, чем да. Недорогие облачные сервера обычно только под Linux бывают. 
Для справки: ActiveCloud - это очень дорогой облачный сервис по мировым меркам.
Андрей Ардашев
5 июля 2013 в 07:55
Там было поднято VPN или терминальный доступ?
Терминальный доступ.
 
общий канал провайдера 100Мб/с это от клиентской машины до сервера?
Это общий канал провайдера. Т.е. к провайдеру заходит канал 100 мб/с, и он делится между серверами, которые к нему подключены. Для тестирования был взять более дешевый вариант, без резервирования гарантированной полосы пропускания.
Денис Архипов
5 июля 2013 в 10:25
Это общий канал провайдера. Т.е. к провайдеру заходит канал 100 мб/с, и он делится между серверами, которые к нему подключены. Для тестирования был взять более дешевый вариант, без резервирования гарантированной полосы пропускания.
это общий канал со стороны облака? а с ващей стороны какой ширины канал использовался? 
Андрей Ардашев
5 июля 2013 в 11:44
это общий канал со стороны облака? а с ващей стороны какой ширины канал использовался? 

Да это канал со стороны провайдера. На стороне клиента (с нашей стороны) канал был до 3 Мб/с.
Евгений Потапов
8 июля 2013 в 13:45

А кто что думает, чем обуславливается спад показателей загрузки (видно на графиках загрузки процессора, обмена страниц - примерно в области 350 пользователей) практически для всех конфигураций?

В каком режиме работали виртуалки до начала проведения тестирования. Какой uptime, время простоя?

Операции из профиля нагрузки выполняются над одними и теми же объектами, либо объекты для каждой операции выбираются случайным образом?

Андрей Ардашев
8 июля 2013 в 15:58

Евгений, спасибо за интересные вопросы!

А кто что думает, чем обуславливается спад показателей загрузки (видно на графиках загрузки процессора, обмена страниц - примерно в области 350 пользователей) практически для всех конфигураций?

Спад показателей на графике "Обмен страниц/сек" связываю с тем, что система уже вошла в насыщение, а нагрузка, которую не может обработать сервер, все еще нарастает, следовательно все большая часть ресурсов сервера направлена на обработку запросов и на отказ. Все это осуществляется за счет памяти системы и за счет ресурсов системы. В то же время запросы в системе DIRECTUM выполняются дольше и в связи с этим медленнее происходить обмен памяти с файлом подкачки.

В каком режиме работали виртуалки до начала проведения тестирования. Какой uptime, время простоя?
 
Перед каждым тестом производилась перезагрузка системы и сразу начинался тест. Система больше ничем не была загружена, кроме подаваемой на нее тестовой нагрузки.
Операции из профиля нагрузки выполняются над одними и теми же объектами, либо объекты для каждой операции выбираются случайным образом?
Объекты выбираются случайным образом. Но по статистике должна получиться нагрузка приближенная к реальности.
Андрей Полкачев
12 июля 2013 в 20:10

Коллеги, а есть реальные клиенты, работающие в DIRECTUM на облаке?

Владимир Тараповский
19 июля 2013 в 14:44

----Коллеги, а есть реальные клиенты, работающие в DIRECTUM на облаке?----

Присоединяюсь к вопросу, я тоже хочу на них посмотреть.

Андрей Подкин
19 июля 2013 в 17:46
Коллеги, а есть реальные клиенты, работающие в DIRECTUM на облаке?
Если под "облаком" вы подразумеваете облако (например, Azure), а не банальный VPS, то такая работа невозможна ввиду технических ограничений системы.
Чтобы написать комментарий, получите доступ.