Subject Re: [firebird-support] 100% CPU Usage
Author Helen Borrie
At 08:59 PM 19/08/2004 +0000, you wrote:
>Dear Friends;
>I run Firebird Superserver 1.5.1 in a Dell Server Intel Pentium
>2,4Ghz / 1.256Mb RAM. This server hosts a single database which has,
>in the main table, around 30.000 registries.
>It's an excelent machine and the number of simoultaneous users are
>quite low (average of 25 to 35 users).
>However I'm having, too frequently, CPU usage reports with peaks of
>100% CPU usage for a period of 10-20 seconds, in simple queries,
>which is affecting the system performance in the client machines. For
>your information I don't have other relevant services running in the
>same server.
>Recently I have installed a Firebird's configurator tool and did
>several changes in the database's caching parameters. These changes
>resulted in a little performance's improvement but did not solve the
>problem of the peaks.
>In my tests I rebooted the server and started uniquelly the database
>service. Then, connected from a workstation (Duron 1,2Ghz, Windows
>2000 Pro, in a LAN environment 100Mbits) and performed a simple
>query. The server responded normally (60% CPU usage, < 1 sec).
>So I conected from another workstating (Duron 1,2Ghz, Windows 2000
>Pro, LAN environment too) while I kept the first client in IDLE (not
>using the system). Once I tried to perform the same query which I did
>before, the server used 100% of the CPU and took 10 seconds to reply.
>As you can see when I have 2 simoultaneous connections the CPU
>behaves annormaly slow.
>Anyone can help me?

The first thing to look at is whether the problem client is using the
correct client library. Using the wrong client is the most common reason
for the problem you describe.

You don't say what application is being used at the client. However, most
Windows tools look for a client library named gds32.dll located in the
Windows system directory.

However, the client library for Fb 1.5 is fbclient.dll, located in
Firebird's bin directory on the server. In order for your clients to
connect safely to the Fb 1.5 server, they must use a version of this client

Check the version number of gds32.dll on **all** of the client machines by
inspecting the file's property sheet. If you are using the Fb 1.5.1
release, the version number shown at the top of the Version tab page should
be and the Product Version attribute should be For
Fb 1.5 the strings would be and,
respectively. Product Version must match the Product Version on the
property sheet of fbserver.exe (or fb_inet_server.exe) that the server is

Depending on what you selected when you installed the server, you may or
may not have a "compatibility" version of gds32.dll in this bin
directory. If it is there, copy it to the clients' system directory. If
it is not there, you can create it by running the instclient.exe program,
also in the bin directory. For instructions, see the file
README.Win32LibraryInstallation.txt in Firebird's doc directory.

If you are using a third-party tool on these client machines, also check
the directory where the tool application is installed. If you find a wrong
version of the client library there, delete or rename it and replace it
with the correct one.

Don't use the wrong version of the command-line tools from clients, either.