Publish date: 2018-10-10

Load testing of IBProvider v3.52.1 and Firebird v3.0.4. 100% completion

For the first time, we managed to perform all IBProvider system tests applicable to Firebird v3 in one run. This took 26 days and a ten-core processor.

Our opinion

On a bigger scale, it was a load testing of Firebird and equipment rather than of IBProvider.

Taking into account the results of previous attempts, we can give two simple tips to everyone using Firebird v3 for industrial solutions:

  1. Use a 64-bit dedicated server.
  2. Always ensure you have free space on the database partition.

We still recommend IBProvider users to connect to Firebird via the provider’s own client. To do this, enter «dbclient_type=fb.direct» in the connection string.

Test environment

Hardware

  • Intel 6950X (10C/10T)
  • RAM: 128GB 2400MHz
  • Database and TMP Storage: RAM Disk (80GB)
  • System Drive: SSD
  • OS: Windows 10 x64 Pro (1709)

Software components

  • 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)

Database

  • Third dialect
  • Page size: 16KB

Forced rubbish removal in the data base was launched every hour.

Tests

The source texts of the test system can be found in the directory:

c:\Program Files\LCPI\IBProvider.3\TestCode\ActiveX\IBP\oledb_test

Testing results

Basic information from the test system log

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

Database state

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*
Database File Properties

Result of database verification:

HOME4	Mon Oct  8 09:08:27 2018
	Database: D:\DATABASE\RAM\IBP_TEST_FB30_D3_ALL.GDB
	Validation started

HOME4	Mon Oct  8 09:08:30 2018
	Database: D:\DATABASE\RAM\IBP_TEST_FB30_D3_ALL.GDB
	Warning: Page 260 is an orphan
....
HOME4	Mon Oct  8 09:08:40 2018
	Database: D:\DATABASE\RAM\IBP_TEST_FB30_D3_ALL.GDB
	Warning: Page 112395 is an orphan

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

Information on the test process state

Database File Properties

Information on the Firebird process state

Database File Properties
Database File Properties

To sum it up

Of course, here we can again write about IBProvider reliability and high-load systems working around the clock.

But we will write a different thing.

Overall, this experiment is quite expensive. And it is not only due to the cost of the HEDT system on which it was conducted but also due to associated costs.

All this was paid by the IBProvider users who had bought licenses.

If you too are interested to see how it eventually ends, join them.

You will be among those whom we say THANK YOU for giving us a chance to do «the best job in the world».


Publish date: 2018-10-10. Copyright: IBProvider. This material may be reproduced on other web sites, without written permission but link https://www.ibprovider.com/eng required.