Subject Slooooowing down...
Author Aage Johansen
Firebird 1.5.4 SS
Windows 2000 SP4
The database is about 1.5GB, and the backup file is around 700MB.

I have an installation where there is something strange. Two observations:
1. One particular client is hardly ever really properly
disconnected. I can sometimes see 200+ connections from this client
(when it should be one or none). The client connects over the
internet. And I don't know what tools he uses.
2. Backups - gbak - sometimes takes forever.

Today, the backup proceeded at less than 1MB per minute, and there
were (seemingly) about 20 connections from that particular user
(should have been zero such connections).
Firebird runs at CPU 0, and this CPU was constantly at 100%. The
other CPU around 0%.
gbak -b -z -t -v -user sysdba -password * -y <logfile>
localhost:SL1 <backupfile>

OK, I thought - a classic example of stuck transactions and
(possible) garbage collection activity. However, this is the
statistics (before stopping the firebird process):
Database "D:\FILMINFO\DB\sl1b3.gdb"
Database header page information:
Flags 0
Checksum 12345
Generation 2829628
Page size 8192
ODS version 10.1
Oldest transaction 2826929
Oldest active 2826930
Oldest snapshot 2826930
Next transaction 2829611
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 16
Shadow count 0
Page buffers 8192
Next header page 0
Database dialect 3
Creation date Jun 10, 2007 16:42:01
Attributes force write

Variable header data:
Sweep interval: 0
I would say that this looks ok, at least not too bad.

What was keeping Firebird so busy ??

Recent messages in firebird log included:
1. Two of these:
internal gds software consistency check (Too many savepoints (287))
2. Three of these:
Control services error 1061
3. A number of these:
INET/inet_error: send errno = 10054

Not too alarming(?).

I stopped firebird via the ControlPanel applet (before the backup job
finished) (no actual users to any database).

After the restart, I launched the backup job and it proceeded
normally (as it is supposed to!). Also, a restore (to another
database) seemed to work fine (I didn't wait for it to finish, but I
can now connect to it remotely (internet connection)).

Aage J.