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 (fbserver vs one or many fb_inet_server / firebird processes)
  • 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.

  1. firebird.conf
  2. firebird.log (zipped)
  3. 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
  4. gstat -h at peak (around noon) and at idle (early morning or late evening) - save as text or a screenshot
  5. At peak: gstat -a -r > stat.txt