We've got a setup that we're using for different clients : a program connecting to a Firebird server on a local network.
So far we mostly used 32bit processors running Ubuntu LTS (recently upgraded to 10.04).
Now we introduced servers running on 64bit processors, running Ubuntu 10.04 64bit.
Suddenly some queries run slower than they used to.
In short: running the query locally works fine on both 64bit and 32bit servers, but when running the same queries over the network the 64bit server is suddenly much slower.
We did a few checks with both local and remote connections to both 64bit and 32bit servers, using identical databases and identical queries, running in Flamerobin.
Running the query locally takes a negligible amount of time: 0.008s on the 64bit server, 0.014s on the 32bit servers. So the servers themselves are running fine.
Running the queries over the network, the 64bit server suddenly needs up to 0.160s to respond, while the 32bit server responds in 0.055s.
So the older servers are twice as fast over the network, in spite of the newer servers being twice as fast if run locally.
Apart from that the setup is identical. All servers are running the same installation of Ubuntu 10.04, same version of Firebird and so on, the only difference is that some are 64 and some 32bit.
I tried to google it, but I couldn't find any complains that Firebird 64bit is slower than Firebird 32bit, except that the Firebird 2.1 change log mentions that there's a new network API which is twice as fast, as soon as the drivers are updated to use it.
So I could imagine that the 64bit driver is still using the old API, but that's a bit of a stretch, I guess.
Thanx in advance for any replies! :)