High-load performance testing:
Firebird 2.5, 3.0, 4.0
Alex Koviazin, IBSurgeon
www.ib-aid.com
OLTP-EMUL:
Official Firebird Performance Test
• Checkout it from Firebird repository!
• Open-source
• Easy to setup and run
How to configure test OLTP-EMUL
fbc = E:FB25.TMPINSTANCEbin
dbnm = D:OLTP-EMULoltp25-small.fdb
host = localhost
port = 3255
usr = SYSDBA
pwd = masterke
tmpdir = e:templogs.oltp25
• Run it:
1run_oltp_emul.bat 25 100 – Firebird 2.5, 100 clients
1run_oltp_emul.bat 30 100 – Firebird 3.0, 100 clients
Regular testing
• IBSurgeon runs OLTP-EMUL tests for
Firebird 2.5, 3.0, 4.0 and publishes results
• http://ib-aid.com/en/logs-2-5/
• http://ib-aid.com/en/logs-3-0/
• http://ib-aid.com/en/logs-4-0/
• Test machine: 16GB RAM, 4 CPU, SSD,
database 64Gb.
What does the OLTP-EMUL test?
• Simulates trading application with the following operations
1. Create/change/cancel order
2. Order to supplier
3. Create/change/cancel invoice
4. Invoice accept/reject
5. Reserve for customer/change/delete
6. Payment from customer
7. Payment to supplier
8. Service operations
9. etc
SuperServer
SuperClassic
Classic
0
1000
2000
3000
4000
5000
6000
Firebird 2.5
Firebird 3.0
Firebird 4.0
SuperServer
0
1000
2000
3000
4000
5000
6000
Firebird 2.5 Firebird 3.0 Firebird 4.0
SuperServer
SuperClassic and Classic
580
620
770
579
596
762
0
100
200
300
400
500
600
700
800
900
Firebird 2.5 Firebird 3.0 Firebird 4.0
SuperClassic
Classic
Performance over time: Firebird 2.5 SC
0
500
1000
1500
2000
2500
3000
1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97
101
105
109
113
117
121
125
129
133
137
141
145
149
153
157
161
165
169
173
177
181
Performance over time: Firebird 3.0 SS
0
1000
2000
3000
4000
5000
6000
1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97
101
105
109
113
117
121
125
129
133
137
141
145
149
153
157
161
165
169
173
177
181
185
189
Performance over time: Firebird 4.0 SS
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97
101
105
109
113
117
121
125
129
133
137
141
145
149
153
157
161
165
169
173
177
181
185
189
Firebird.conf settings for 2.5 SC
• TempDirectories = e:temp
• FileSystemCacheThreshold = 65536
• DefaultDbCachePages = 384
• TempBlockSize = 2048576
• TempCacheLimit = 67108864
• LockMemSize = 5048576
• LockHashSlots = 20011
Firebird.conf for 3.0
• DefaultDbCachePages = 768K
• LockHashSlots = 22111
• MaxUnflushedWrites = -1
• MaxUnflushedWriteTime = -1
• TempDirectories = e:temp
• MaxUserTraceLogSize = 99999
• FileSystemCacheThreshold = 65536K
Firebird.conf for 4.0
• DefaultDbCachePages = 768K
• LockHashSlots = 22111
• MaxUnflushedWrites = -1
• MaxUnflushedWriteTime = -1
• TempDirectories = e:temp
• MaxUserTraceLogSize = 99999
• FileSystemCacheThreshold = 65536K
Hardware Guide
• http://ib-aid.com/en/articles/firebird-
hardware-guide/
Optimized HQbird Firebird configurations
• https://ib-aid.com/en/optimized-firebird-
configuration/
• Free!

High-load performance testing: Firebird 2.5, 3.0, 4.0