Большое тестирование 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
Выглядит неплохо.
Итого
Как это обычно бывает, сложно сразу правильно оценить такого рода результат.
Проще подсчитать адские расходы на его достижение.
Но, думаю, оно того стоило.
Dmitry Kovalenko on 8 октября, 2018
Результаты проверки базы данных:
Orphan-ы …