Большое тестирование IBProvider. Done

После двух «предварительных» забегов этим летом (первый, второй), возможность прогона всех тестов основной тестовой системы IBProvider стала объективно достижимой целью. Формально, второй раз она была достигнута, но как-то смазано.

В этот раз все прошло успешно.

Process ID: 3820

[TEST HEAP] Initialize ... OK

[10.09.2018 09:06:15] [ExecuteTests] CommandLine:

target\ibp_oledb_test_vc15_x64_Release.exe  /thread_count 10 /log_file_prefix fb30_fb.direct_ram_w64_d3 /log_dir ..\_log\all\ /new_db_location "inet4://localhost/d:\database\ram\" /cn_str "provider=LCPI.IBProvider.3.Private.vc15.release;location=inet4://localhost/d:\database\ram\ibp_test_fb30_d3_all.gdb;user id=GAMER;password=vermut;ctype=win1251;temp_file_dir=d:\database\ram\temp;dbclient_type=fb.direct;icu_library=icuuc52.dll;wchars_in_utf8_symbol=2" /oledb_svc_cmp "LCPI.OleDbServices.DataInitManager.Local.1.Private.vc15.release" /test *

[10.09.2018 09:06:15] [ExecuteTests] Test Mask  : [*]

[10.09.2018 09:06:15] [info] Provider DLL    :lcpi.ibprovider_v3_vc15_w64_prof_i.dll
[10.09.2018 09:06:15] [info] Provider Version:3.52.1.28912
[10.09.2018 09:06:15] [info] Server Name     :Firebird
[10.09.2018 09:06:15] [info] Server Version  :3.0.4.33047
[10.09.2018 09:06:15] [info] Client Name     :LCPI.IBProvider.RemoteFB
[10.09.2018 09:06:15] [info] Client Version  :3.52.1.28912
[10.09.2018 09:06:15] [info] Database ODS    :12.0
[10.09.2018 09:06:15] [info] Database Dialect:3
[10.09.2018 09:06:15] [info] ConnectionString:

provider=LCPI.IBProvider.3.Private.vc15.release;location=inet4://localhost/d:\database\ram\ibp_test_fb30_d3_all.gdb;user id=GAMER;password=vermut;ctype=win1251;temp_file_dir=d:\database\ram\temp;dbclient_type=fb.direct;icu_library=icuuc52.dll;wchars_in_utf8_symbol=2

[10.09.2018 09:06:15] [ExecuteTests] 
[10.09.2018 09:06:15] [ExecuteTests] Enter [cancel] for interrupt execution
[10.09.2018 09:06:15] [ExecuteTests] 
[10.09.2018 09:06:15] Creation 10 thread(s)...
.....
[06.10.2018 22:58:29] [summary] ------------------------------------------- [SUMMARY INFORMATION]
[06.10.2018 22:58:29] [summary] [TESTS]
[06.10.2018 22:58:29] [summary] EXECUTED      : 7049700
[06.10.2018 22:58:29] [summary] SUCCEEDED     : 7049644
[06.10.2018 22:58:29] [summary] FAILED        : 0
[06.10.2018 22:58:29] [summary] WITH WARNINGS : 56 [ 80 warning(s) ]
[06.10.2018 22:58:29] [summary] 
[06.10.2018 22:58:29] [summary] - - - - - - - - - - - - - - - - - - - - - -
[06.10.2018 22:58:29] [summary] [TEST TIMES]
[06.10.2018 22:58:29] [summary] REAL          : 227578381250288 [263 day(s)09:37:18.1250288]
[06.10.2018 22:58:29] [summary] USER          : 27392280625000 [31 day(s)16:53:48.0625000]
[06.10.2018 22:58:29] [summary] KERNEL        : 14525038593750 [16 day(s)19:28:23.8593750]
[06.10.2018 22:58:29] [summary] TOTAL         : 41917319218750 [48 day(s)12:22:11.9218750]
[06.10.2018 22:58:30] 
[06.10.2018 22:58:30] [TEST HEAP] Test heap is empty
[06.10.2018 22:58:30] [TEST HEAP] Validate ... OK
[06.10.2018 22:58:30] [TEST HEAP] Destroy ... OK
[06.10.2018 22:58:30] 
[06.10.2018 22:58:30] [summary] ------------------------------------------- [PROCESS INFORMATION]
[06.10.2018 22:58:30] [summary] [VIRTUAL MEMORY]
[06.10.2018 22:58:30] [summary] 
[06.10.2018 22:58:30] [summary] PRIVATE BYTES      : 13876 KB       [13MB 564KB]
[06.10.2018 22:58:30] [summary] PEAK PRIVATE BYTES : 12976404 KB    [12GB 384MB 276KB]
[06.10.2018 22:58:30] [summary] VIRTUAL SIZE       : 187184 KB      [182MB 816KB]
[06.10.2018 22:58:30] [summary] PAGE FAULT COUNT   : 1658089969
[06.10.2018 22:58:30] [summary] 
[06.10.2018 22:58:30] [summary] - - - - - - - - - - - - - - - - - - - - - -
[06.10.2018 22:58:30] [summary] [HANDLES]
[06.10.2018 22:58:30] [summary] 
[06.10.2018 22:58:30] [summary] HANDLES            : 158
[06.10.2018 22:58:30] [summary] 
[06.10.2018 22:58:30] [summary] - - - - - - - - - - - - - - - - - - - - - -
[06.10.2018 22:58:30] [summary] TOTAL ERRORS  : 0
[06.10.2018 22:58:30] [summary] TOTAL WARNINGS: 80
[06.10.2018 22:58:30] [summary] FULL PASSES   : 1
[06.10.2018 22:58:30] [summary] GEN TESTS     : 8295133

Продублирую здесь сведения об оборудовании:

  • CPU: Intel 6950X. HT выключен.
  • RAM: 128GB 2400MHz
  • База и временные файлы на RAM диске (80GB)
  • Windows 10 x64 Pro (сборка 1709)

Тестировались:

  • IBProvider v3.52.1.28912 x64 (VS2017)
  • LCPI OLE DB Services v1.5.1.540 x64 (VS2017)
  • Firebird v3.0.4.33047 x64 SuperServer (VS2015)

Подключение к базе:

  • TCP/IP, через встроенного клиента провайдера.

База данных:

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

Тесты запускались в 10 потоков.

Каждый час запускалась сборка мусора в базе данных.

Из особенностей, на которые стоит еще раз обратить внимание:

1. В большинстве случаев выполнялось «исчерпывающее» тестирование. Например:

  • Прогон всех символов кодовых страниц WIN1251, UNICODE_FSS, BIG_5, CP943C и всех основных комбинаций с их преобразованием между разными кодовыми страницами и представлениями.
  • Есть тесты, которые проверяют чтение запись/блобов с размерами от нуля до 128KB.

2. Везде, где это имело смысл, применялась асинхронная загрузка данных.

3. Понятное дело, что на этом компьютере параллельно запускались и другие «тяжелые» задачи. В том числе — проводилось тестирование следующих выпусков IBProvider (v3.53, v3.53.1).

Статистика базы

Database header page information:
        Flags                   0
        Generation              62840501
        System Change Number    0
        Page size               16384
        ODS version             12.0
        Oldest transaction      62827202
        Oldest active           62827203
        Oldest snapshot         62827203
        Next transaction        62827203
        Sequence number         0
        Next attachment ID      136634
        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           Sep 10, 2018 8:54:47
        Attributes

    Variable header data:
        *END*

Всего было создано 136.6 тысяч подключений, через которые проехало 62.8 миллионов транзакций.

Состояние тестовой системы

Сведения о Firebird

Раз.

Два.

Выглядит неплохо.

Итого

Как это обычно бывает, сложно сразу правильно оценить такого рода результат.

Проще подсчитать адские расходы на его достижение.

Но, думаю, оно того стоило.

2 комментария

Dmitry Kovalenko  on 8 октября, 2018

Результаты проверки базы данных:

HOME4 Mon Oct 8 09:08:40 2018
Database: D:\DATABASE\RAM\IBP_TEST_FB30_D3_ALL.GDB
Validation finished: 0 errors, 2184 warnings, 2184 fixed

Orphan-ы …

Dmitry Kovalenko  on 8 октября, 2018

Кстати, оказывается на днях FB 3.0.4 был зарелизен.

Leave a Comment