Дата публикации: 05.06.2018

Нагрузочное тестирование IBProvider v3.50 и Firebird v3.0.4

В данной заметке мы хотим сообщить о прогоне 6.7 млн разных тестов для блобов. Это относительно большое тестирование. Обычно каждое обновление IBProvider проходит через ~0.7 млн тестов.

Если эти 6.7 млн тестов выполнять в один поток, то они бы работали 150 дня. Параллельное выполнение в десять потоков, сократило это время до 15 дней.

Мы не будем утомлять вас подробностями. Просто приведем ключевые сведения.

Оборудование

  • Intel 6950x
  • RAM: 128GB
  • Storage: RAM Disk
  • Windows 10 Pro x64

Тестируемые компоненты

Применялось прямое (без fbclient.dll) подключение к серверу через TCP/IP (localhost).

Пул подключений обслуживался компонентами «LCPI OLE DB Services».

База данных

  • Диалект: 3.
  • Размер страницы: 16KB.

Тесты

Стратегия: Bounded Exhaustive Testing.

Проверялась работа с текстовыми блобами. В том числе и с ICU-кодировками.

Исходные код тестов есть в дистрибутиве провайдера.

Во время работы тестов один раз запускалась принудительная сборка мусора в базе данных. Без приостановки тестов.

Результаты

Выявлено 20 тестов, которые нужно обновить.

Тесты наработали 504 часа «CPU User Time» (21 день). По ресурсам (память, дескрипторы) – все в норме, без утечек (логи).

Сервер, в общей сложности, наработал 1221 часа «CPU User Time» (50 дней). Состояние сервера перед запуском тестов. Состояние сервера после завершения тестов:

Final state of server process

Размер базы: 57.4GB. Принудительная сборка мусора помогла остановить её рост. Статистика базы данных:

Database "D:\DATABASE\RAM\IBP_TEST_FB30_D3_2.GDB"
Gstat execution time Sun Jun  3 19:44:51 2018
 
Database header page information:
        Flags                   0
        Generation              20148796
        System Change Number    0
        Page size               16384
        ODS version             12.2
        Oldest transaction      20147092
        Oldest active           20147093
        Oldest snapshot         20145317
        Next transaction        20147100
        Sequence number         0
        Next attachment ID      27215
        Implementation          HW=AMD/Intel/x64 little-endian OS=Windows CC=MSVC
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           Apr 18, 2018 23:07:38
        Attributes
 
    Variable header data:
        *END*
Gstat completion time Sun Jun  3 19:44:51 2018

Дополнительно

Загрузка системы в процессе работы.

Выводы

Проведенное тестирование подтверждает следующие ключевые характеристики IBProvider v3.50:

  • Согласованное взаимодействие с сервером баз данных Firebird.
  • Качественная реализация алгоритмов и механизмов.
  • Стабильная работа под предельной многопоточной нагрузкой.

Кроме того, проведенное тестирование можно считать предварительным подтверждением стабильности следующего обновления FB3 – v3.0.4.


Дата публикации: 05.06.2018. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.