Performance optimization questionnaire
Answer as many items as you can before an optimization engagement. Leave blanks if you are unsure. Email the answers and a zip of the logs to [email protected].
Contact
- Name
- Company
- Email address
Hardware
- CPU model and number of cores
- RAM amount
- HDD/SSD models (SAS, SATA, SSD) with size, cache, RPM, or exact model
- RAID? If yes: controller model (or motherboard for software RAID)
- How many drives and RAID type (0, 1, 5, 6, 10, …)
- Battery Backup Unit on the RAID, if required?
- RAID cache mode (Write Through, Write Back)
- Stripe size
- Where OS, database, and temp files live on disk
- Block/cluster size of the database partition
- Any other hardware detail (vendor, server model)
Virtualization
- Is the OS a VM? Which hypervisor (VMware, VirtualBox, …) and instance size (CPU, RAM, disks)
- How many other VMs share the same host as Firebird?
Operating system
Windows: version, 32/64-bit, service pack (for example Windows Server 2022 64-bit). If it is a server, is it a domain controller?
Linux: distribution and version, 32/64-bit, kernel, and glibc.
Firebird
- Exact version (
isql -z, or on Windows the executable Version/Details tab) - Architecture: Embedded, SuperServer, Classic, or SuperClassic (
fbservervs one or manyfb_inet_server/firebirdprocesses) - Installation folder
Database
- Database file size
- How many databases on the same server?
Application
- Client/server (one app instance per user/PC) or middleware (few multi-tier processes, e.g. Java in Tomcat)
- 32- or 64-bit, and platform (Windows, Linux, macOS)
- Typical and peak client connections (Firebird 2.1+:
SELECT count(*) FROM MON$ATTACHMENTS) - Data access layer (JDBC, ODBC, BDE, IBX, IBO, dbExpress, …)
- Application type (CRM, ERP, accounting, …)
Background of the problem
- Recent changes in hardware, OS, or applications?
- Random peaks, or a pattern (after lunch, around 16:00, …)?
- Describe the slowdown in plain words - what do users say?
Logs and files
Zip everything into one archive and attach it to the email.
firebird.conffirebird.log(zipped)- From
Firebird\bin(or equivalent), run three times at peak (for example 11:00, 14:00, 16:00):fb_lock_print -d path_to_database > log111.txt gstat -hat peak (around noon) and at idle (early morning or late evening) - save as text or a screenshot- At peak:
gstat -a -r > stat.txt