Firebird Performance, Pages and Buffer Size
Product line
Standard
|Expert
Operating mode
CLOUD ABO
|ON-PREMISES
Modules
Services & CRM
Budget & Phases
Purchases
Resource Planning
Business Intelligence
Firebird is the database server that comes standard with Vertec and is also used in the Vertec Cloud Suite.
The Firebird performance depends on the following parameters of the hardware used:
Sharing CPU cores is a problem especially with Cloud Servers
(but also with on-premises virtualized servers). This should be avoided. A database server should be able to handle every request, as any delay can be directly perceived. Thus, at least 4 cores should be used for a Firebird server without being shared with other VMs. In addition, the VM should have fixed resources (dedicated
) work. For more information, see Performance in the network
.
Leased cloud servers in particular tend to have poor to very poor disk performance, which has a direct impact on Vertec performance. The reason is that the disk itself is fast, but is not connected directly to the hardware used, but e.g. via IP (as with a network-attached storage (NAS)).
Disk performance is a complex issue, as it is difficult to improve on cloud servers. However, since many operations in Vertec are read-only, such as boot-up, disk performance can be improved by allowing the Firebird server to hold more information in memory. This means that the information is not read from the disk every time it is read, but directly from the memory.
Firebird saves its data in the Vertec Databases
(e.g. Vertec.fdb
) persistent. This data is saved in pages. Vertec has a size of 16KB and is applied as a whole by Firebird into the memory. If there is no space for new pages, Firebird removes the least used pages. The maximum quantity of pages that can be saved in the memory is determined by the buffer size (see below).
The performance of the Firebird database can be improved by providing the database server with more memory for its database. The total number of pages in a database can be easily calculated: the size of the pages Vertec.fdb
File divided by 16,384 (the page size). For smaller databases you should allow no less than 10,000 pages in the buffer (Vertec Default), for larger databases it is worth taking a closer look. That all possible database pages are kept in memory is probably not necessary for most Vertec installations, unless the disk performance is poor and there is enough memory on the server.
Note: Firebird reserves the entire memory resulting from the buffer size in the operating system. By default, with a buffer size of 10,000, this is about 160MB. This is e.g. in the Task Manager as Commited Size
specified – the OS has fixedly secured this memory for Firebird. However, the effective memory requirement depends on what Firebird actually uses, which can be measured e.g. by the metric Memory (private working set)
can be seen. However, if the monitoring of memory utilization of the servers is on the Commited Size
ab, the memory is, however, regarded as actually “in use”.
To increase the buffer size can be via gfix
the following command can be executed:
-b 200000 -user SYSDBA -password <password> vertec.fdb
However, this setting will be replaced by the default of 10,000 when DB convert to the next major version.
Starting with Vertec 6.5, the default Buffer Size can be overwritten in the Database Section of the Vertec.ini – file :
Here in the example, a buffer size of 200,000 is set, which corresponds to a maximum memory requirement of the Firebird server of about 3.2GB.
It is important to note that this is not a maximum value, but that Firebird Server always reserves the entire quantity in memory. The server must therefore have enough memory to handle the buffer size specified here.
If this parameter is in the Vertec.ini file, the database will be raised to this value when converting.