Системные требования

Система NetDB представляет собой программно-технологическую платформу для построения информационно-аналитических систем (ИАС).

Система должна быть доступна для работы в режиме 24х7 (24 часа, 7 дней в неделю). Допускается остановка для проведения плановых профилактических работ.

Требования к аппаратному обеспечению

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

Высоконагруженный режим работы

Для работы в высоконагруженном режиме Система NetDB может быть развернута в нижеописанной распределенной конфигурации с балансировкой нагрузки:

  • Сервер приложений - 3 шт. Процессор с тактовой частотой не менее 3.5GHz, 8 ядер, 64 Гб ОЗУ, не менее двух жестких дисков размером 500 Гб, объединенных в RAID1-массив.
  • Сервер СУБД - 1 шт. Процессор с тактовой частотой не менее 3.5GHz, 8 ядер, 64 Гб ОЗУ, не менее двух SSD NVMe дисков размером 1 Тб, объединенных в RAID1-массив.
  • Балансировщик нагрузки - 1 шт. Процессор с тактовой частотой не менее 3.5GHz, 2 ядра, 16 Гб ОЗУ, 200 Гб жёсткий диск.

Обычный режим работы

Для работы в обычном режиме Система NetDB может быть развернута в следующей конфигурации:

  • Сервер приложений - 1 шт. Процессор с тактовой частотой не менее 3.5GHz, 8 ядер, 64Гб ОЗУ, не менее двух жестких дисков размером 500 Гб, объединенных в RAID1-массив.
  • Сервер СУБД - 1 шт. Процессор с тактовой частотой не менее 3.5GHz, 8 ядер, 64Гб ОЗУ, не менее двух SSD дисков размером 1 Тб, объединенных в RAID1-массив.

Минимальная конфигурация серверного оборудования:

Сервер приложений и сервер СУБД располагаются на одном стенде, для которого необходимы следующие характеристики:

  • 16 Гб ОЗУ.
  • 4-ядерный процессор.
  • 2x72 Гб жестких диска, объединенных в RAID1-массив.

АРМ Пользователя

Система NetDB реализована как приложение с веб-интерфейсом. В качестве клиентов используются рабочие места пользователей. Работа с информацией осуществляется посредством программной оболочки с веб-интерфейсом с использованием веб-браузера. Технические средства (ТС), обеспечивающие функционирование АРМ Пользователя NetDB, должны иметь характеристики не ниже указанных:

  • 2 ядра.
  • 2 Гб ОЗУ.
  • 10 Гб жёсткий диск.
  • Сетевой порт (LAN): не менее 1 Mbit/сек.
  • Веб-браузер:
    • Google Chrome (не ниже версии 70);
    • Mozilla Firefox (не ниже версии 60);
    • MS Edge (не ниже версии 80);
    • Спутник (не ниже версии 4.1.х);
    • Safari (не ниже версии 11);
    • Yandex Browser (не ниже версии 17).

Требования к программному обеспечению

Для функционирования NetDB необходима установка на серверах приложения и СУБД следующего приведенного ниже системного ПО.

Рекомендуемые ОС:

  • CentOS версий 7.5 и выше;
  • Ubuntu версий 16.04 и выше;
  • Debian версий 7.0 и выше;
  • RHEL версии 6.9;
  • AstraLinux версий 1.5.

В качестве веб-сервера может использоваться:

  • Apache версий 2.4.6 и выше;
  • Nginx версий 1.4.6 и выше.

Используемый для разработки NetDB язык программирования Python 3.5.

Система управления базами данных PostgreSQL версий 9.6 и выше.

Методы оптимизация конфигурации Системы

  1. Система масштабируется по объему и производительности вычислений путём модернизации используемого комплекса технических средств (горизонтальное и вертикальное масштабирование) и перехода на более совершенные версии используемого системного (операционная система) и базового (СУБД) программного обеспечения.

  2. Система состоит из нескольких компонентов:

    • Веб-сервер, который занимается обработкой входящих запросов, отдает статические css-, js-, html-файлы, передает динамические запросы к серверу приложений (Apache).
    • Сервер приложений, который обрабатывает запросы пользователей, рассчитывает данные и строит отчеты, генерирует динамический контент на основе данных БД (uWSGI; многопроцессорный, многопоточный).
    • БД хранения данных в оперативной памяти: MemDB. Отвечает серверу приложений на запросы к данным, недостающие данные подгружает из БД постоянного хранения. Однопоточная.
    • БД постоянного хранения данных PostgreSQL. Многопоточная.
  3. В зависимости от условий использования Системы могут выделяться следующие типы нагрузки:

    • Количество пользователей: выражается в большом количестве запросов к серверу приложений в секунду или минуту.
    • Объем расчетов: выражается в высокой загрузке процессора сервером приложений.
    • Объем данных: выражается в высокой загрузке процессора сервером БД, большом объеме MemDB.
  4. Примерный порядок обработки запросов:

    • Веб-сервер раздает запросы нескольким (возможно, одному) серверам приложений по алгоритму «round-robin».
    • Сервер приложений обращается к одной (возможно, нескольким) БД оперативной памяти.
    • БД оперативной памяти обращается к одной БД постоянного хранения.
  5. Принципы расчета увеличения технических характеристик:

    • Один сервер приложений занимает одно ядро процессора. 2 рабочих процесса приложения («воркера») на ядро.
    • Минимум - 10 запросов в минуту, для которого необходимо 2 ядра и два экземпляра MemDB.
  6. На каждые дополнительные 10 запросов в минуту необходимо добавить 1 сервер приложений и 0.5 MemDB (с округлением вверх).

  7. На 30 млн записей в БД постоянного хранения необходимо 10Гб оперативной памяти в каждом экземпляре MemDB.

  8. На сложный расчет (обычно их 10% от запросов), запускаемый параллельно с основной работой, нужен сервер приложений и дополнительное ядро процессора.

  9. Для нормальной работы сервера приложений необходимо наличие 3Гб свободной оперативной памяти.

  10. Для нормальной работы сервера СУБД необходимо 25% свободной оперативной памяти Системы.

  11. Таким образом, в зависимости от типа нагрузки возможны разнообразные варианты настройки Системы.

  12. Оптимальную конфигурацию необходимо подобрать принимая во внимание варианты использования Системы.

  13. Ниже представлена таблица с общим сайзингом оборудования для Системы, состоящей из нескольких серверов, выдающей отчеты в «условно реальном» времени. Нагрузка от пользователей «компоненты сбора данных» в данном расчете не учитывается.

      30 млн данных 100 млн данных 200 млн данных
    10 запросов в минуту 35 Гб, 2 ядра 36 Гб, 2 ядра 97 Гб, 2 ядра 62 Гб, 2 ядра
    186 Гб, 2 ядра
    82 Гб, 2 ядра
    30 запросов в минуту 56 Гб, 4 ядра 46 Гб, 4 ядра
    150 Гб, 4 ядра
    85 Гб, 4 ядра
    287 Гб, 4 ядра 115 Гб, 4 ядра
    50 запросов в минуту 78 Гб, 6 ядер 56 Гб, 6 ядер 202 Гб, 6 ядер 108 Гб, 6 ядер 380 Гб, 6 ядер 148 Гб, 6 ядер
  14. Повышение надежности Системы обеспечивается следующими мерами:

    • Резервирование компонент серверного оборудования (дисковые массивы, блоки питания).
    • Резервирование базы данных.
  15. Обязанности администратора Системы.

Администратор Системы выполняет следующие функциональные обязанности:

  • Управление каталогом пользователей.
  • Обеспечение информационного взаимодействия с внешними системами.
  • Настройка разграничения прав доступа пользователей к объектам.
  • Ведение системных справочников.
  • Мониторинг ресурсов Системы, контроль и обеспечение работоспособности и доступности сервисов Системы.
  • Установка и перенос Системы в случае необходимости.
  • Обслуживание Системы согласно принятому регламенту обслуживания, резервное копирование данных и ПО.
  • Восстановление Системы после сбоев в случае необходимости.
  1. Режим работы службы эксплуатации - 24 часа, 7 дней в неделю.