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

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

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

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

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

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

Для работы в высоконагруженном режиме система 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/сек.

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

Для функционирования 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 2.7.

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

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

  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. Обязанности администратора Системы

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

    • управление каталогом пользователей;
    • обеспечение информационного взаимодействия с внешними системами;
    • настройка разграничения прав доступа пользователей к объектам;
    • ведение системных справочников;
    • мониторинг ресурсов Системы, контроль и обеспечение работоспособности и доступности сервисов Системы;
    • установка и перенос Системы в случае необходимости;
    • обслуживание Системы согласно принятому регламенту обслуживания, резервное копирование данных и ПО;
    • восстановление Системы после сбоев в случае необходимости.

    Повышение надежности системы обеспечивается следующими мерами:

    • резервирование компонент серверного оборудования (дисковые массивы, блоки питания);
    • резервирование базы данных.
  16. Режим работы службы эксплуатации - 24 часа 7 дней в неделю.