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

Глава 38. Системные требования

Программное обеспечение ФинГрад состоит из нескольких частей:

  • система управления базами данных (СУБД);
  • веб-приложение с функциями казначейства для работы в браузере;
  • настольное приложение с функциями консолидации для компьютеров с ОС Windows;
  • транспортный сервер для обособленного обмена данными с банками.

Задайте ожидаемые объёмы данных и нагрузку для автоматического расчёта характеристик аппаратного и программного обеспечения, необходимого для установки и использования ФинГрада.

Параметры расчёта

Тип СУБД

Сервер СУБД

ХарактеристикаТребования
Процессор
3 ядра
Ядра рассчитываются из объёма данных, предела параллелизма СУБД на один запрос и числа одновременно строящих отчёты пользователей. Один OLAP-отчёт обрабатывает порядка T проводок2. Масштабирование производительности (ускорение) ограничено пределом параллелизма p, поэтому на один отчёт полезно не более p ядер, а остальные ядра одновременно обслуживают отчёты разных пользователей.
Ядер на один отчёт:
c=min(p, Twt)=min(24, 50млн510млн)=1\mathsf{c} = \min\left(\mathsf{p},\ \left\lceil \dfrac{\mathsf{T}}{\mathsf{w} \cdot \mathsf{t}} \right\rceil\right) = \min\left(\mathsf{24},\ \left\lceil \dfrac{\mathsf{50\,\text{млн}}}{\mathsf{5} \cdot \mathsf{10\,\text{млн}}} \right\rceil\right) = \mathsf{1}
Всего ядер:
C=b+cmax(1, (Uw+Ud)u)=2+1max(1, (50+10)0,02)3\mathsf{C} = \mathsf{b} + \mathsf{c} \cdot \max\left(\mathsf{1},\ (\mathsf{U_w} + \mathsf{U_d}) \cdot \mathsf{u}\right) = \mathsf{2} + \mathsf{1} \cdot \max\left(\mathsf{1},\ (\mathsf{50} + \mathsf{10}) \cdot \mathsf{0{,}02}\right) \approx \mathsf{3}
Ожидаемое время построения типового отчёта на выделенных ему ядрах:
τ=Tct=50млн110млн=5с\tau = \dfrac{\mathsf{T}}{\mathsf{c} \cdot \mathsf{t}} = \dfrac{\mathsf{50\,\text{млн}}}{\mathsf{1} \cdot \mathsf{10\,\text{млн}}} = \mathsf{5\,\text{с}}
cколичество ядер ЦП на один отчёт,
Tколичество проводок в БД,
Uwколичество единовременных пользователей web,
Udколичество единовременных пользователей desktop,
b = 2базовые ядра для ОС и самой СУБД,
p = 24предел параллелизма на один запрос (MAXDOP),
t = 10 млнпроводок, обрабатываемых одним ядром за секунду,
w = 5 сцелевое время построения отчёта,
u = 0,02доля пользователей, одновременно строящих отчёты.
2,2 ГГц
Оперативная память
11 ГБ
4ГБ+1ГБC+500БTRk+4КБRk=4ГБ+1ГБ3+500Б50млн5млн10+4КБ5млн1011ГБ\mathsf{4\,\text{ГБ}} + \mathsf{1\,\text{ГБ}} \cdot \mathsf{C} + \mathsf{500\,\text{Б}} \cdot \dfrac{\mathsf{T} - \mathsf{R}}{\mathsf{k}} + \mathsf{4\,\text{КБ}} \cdot \dfrac{\mathsf{R}}{\mathsf{k}} = \mathsf{4\,\text{ГБ}} + \mathsf{1\,\text{ГБ}} \cdot \mathsf{3} + \mathsf{500\,\text{Б}} \cdot \dfrac{\mathsf{50\,\text{млн}} - \mathsf{5\,\text{млн}}}{\mathsf{10}} + \mathsf{4\,\text{КБ}} \cdot \dfrac{\mathsf{5\,\text{млн}}}{\mathsf{10}} \approx \mathsf{11\,\text{ГБ}}
C – количество ядер ЦП,
T – количество проводок в БД,
R – количество проводок документов казначейства,
k = 10 – коэффициент сжатия в Column store.
Накопитель
27 ГБ
2ГБ+50ГБT100млн=2+5050млн100млн=27ГБ\mathsf{2\,\text{ГБ}} + \mathsf{50\,\text{ГБ}} \cdot \dfrac{\mathsf{T}}{\mathsf{100\,\text{млн}}} = \mathsf{2} + \mathsf{50} \cdot \dfrac{\mathsf{50\,\text{млн}}}{\mathsf{100\,\text{млн}}} = \mathsf{27\,\text{ГБ}}
T – количество проводок в БД.
SSD (рекомендуется NVMe),
400 тыс. IOPS на чтение,
80 тыс. IOPS на запись.
Для оптимальной работы ФинГрад рекомендуется, чтобы объём свободного места на накопителе был не менее двух размеров БД.
Система управления базами данныхMicrosoft SQL Server 2017 c последними cumulative update и выше
Операционная системаWindows Server 2016 Standard и выше;
РЕД ОС, ALT Linux, ROSA Linux, Astra Linux, Debian, Red Hat, Ubuntu и другие
БезопасностьВсе соединения ФинГрада с базами данных принудительно шифруются, поэтому дополнительного проброса VPN- или SSH-туннелей не требуется.
Скорость соединения по сети100 Мбит/с
Сетевые задержкиНе более 50 мс
Поддержка SQL AzureДа, но не рекомендуется
Поддержка SQL MirroringДа, без ограничений

Веб-сервер

ХарактеристикаТребования
Процессор
15 ядер
10+Uw10=10+5010=15\mathsf{10} + \dfrac{\mathsf{U_w}}{\mathsf{10}} = \mathsf{10} + \dfrac{\mathsf{50}}{\mathsf{10}} = \mathsf{15}
Uw – количество единовременных пользователей web.
2,2 ГГц
Оперативная память
20 ГБ
10ГБ+2ГБUw10=10+25010=20ГБ\mathsf{10\,\text{ГБ}} + \mathsf{2\,\text{ГБ}} \cdot \dfrac{\mathsf{U_w}}{\mathsf{10}} = \mathsf{10} + \mathsf{2} \cdot \dfrac{\mathsf{50}}{\mathsf{10}} = \mathsf{20\,\text{ГБ}}
Uw – количество единовременных пользователей web.
Накопитель50 ГБ
8 тыс. IOPS на чтение,
5 тыс. IOPS на запись
Операционная системаWindows Server 2016 Standard и выше
Операционная система, клиентДля использования веб-приложения ФинГрада подойдёт любая современная операционная система, поддерживающая актуальные версии браузеров: например, Яндекс Браузер или Google Chrome

Терминальный сервер для настольного приложения

ХарактеристикаТребования
Процессор
16 ядер
6+1Ud=6+110=16\mathsf{6} + \mathsf{1} \cdot \mathsf{U_d} = \mathsf{6} + \mathsf{1} \cdot \mathsf{10} = \mathsf{16}
Ud – количество запущенных экземпляров настольного приложения (единовременных пользователей desktop).
2,0 ГГц
Оперативная память
36 ГБ
6ГБ+3ГБUd=6+310=36ГБ\mathsf{6\,\text{ГБ}} + \mathsf{3\,\text{ГБ}} \cdot \mathsf{U_d} = \mathsf{6} + \mathsf{3} \cdot \mathsf{10} = \mathsf{36\,\text{ГБ}}
Ud – количество запущенных экземпляров настольного приложения (единовременных пользователей desktop).
При наличии объёмных справочников памяти может требоваться больше.
Накопитель50 ГБ
8 тыс. IOPS на чтение,
5 тыс. IOPS на запись
Операционная системаWindows Server 2016 Standard и выше

Транспортный сервер

Транспортный сервер используется при необходимости выделить в инфраструктуре единую защищённую точку обмена данными между ФинГрадом и банками.

ХарактеристикаТребования
Процессор8 ядер
2,0 ГГц
Оперативная память8 ГБ
Накопитель50 ГБ
8 тыс. IOPS на чтение,
5 тыс. IOPS на запись
Операционная системаWindows Server 2016 Standard и выше


Примечания

1 Учитывается количество основных проводок и количество зависимых проводок.

2 Без учёта использования детализации по справочникам.