Subject | Strange (to me) Speed Testing Results |
---|---|
Author | Robert |
Post date | 2008-03-07T17:06:07Z |
Hi everyone,
I'm the author of an application that traditionally works with a Jet
database, but I have recently modified it so it can use a backend
database via ODBC. The application has a speed testing feature which
allows me to measure the average time it takes to perform a particular
set of database transactions. Running with Jet on a 1.8GHz Athlon XP
PC I get a time of about 30ms. With a Firebird SS server running on
the same PC as the application this rises to about 90ms. Now we come
to the part I don't understand. If I continue to run the application
on the XP machine but move the server to a 2.4GHz Intel Duo four core
machine running Vista, this time rises to a whopping 250ms. Across the
same network this falls back to 210ms if the server runs on a 1GHz
Athlon running SuSE Linux. A second 1.8GHz XP PC is also comfortably
outperformed by the Linux box when used as a server.
The LAN is 100MHz half-duplex. I thought that might be the cause of
the dramatic slowdown, but I'm not convinced, because if I run the same
test using MySQL on the Linux box as the backend, the figure is 80ms.
I also thought maybe it was the IBPhoenix ODBC driver, but changing
drivers has no significant effect.
Does anyone have any suggestions as to why Firebird slows down so much
across the (lightly loaded) network? Also, why do you think the Linux
box is the fastest of the server PCs tested, even though it has the
slowest processor (and generally feels slow to use)? There is a clue
regarding the second question, as even with ForcedWrites=Off Firebird on
Windows works the disk drive very much harder than Linux, but why is that?
I'm new to database servers, so I would be grateful for some pointers
from someone more experienced.
Regards,
Robert.
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.21.6/1317 - Release Date: 3/7/2008 08:15
I'm the author of an application that traditionally works with a Jet
database, but I have recently modified it so it can use a backend
database via ODBC. The application has a speed testing feature which
allows me to measure the average time it takes to perform a particular
set of database transactions. Running with Jet on a 1.8GHz Athlon XP
PC I get a time of about 30ms. With a Firebird SS server running on
the same PC as the application this rises to about 90ms. Now we come
to the part I don't understand. If I continue to run the application
on the XP machine but move the server to a 2.4GHz Intel Duo four core
machine running Vista, this time rises to a whopping 250ms. Across the
same network this falls back to 210ms if the server runs on a 1GHz
Athlon running SuSE Linux. A second 1.8GHz XP PC is also comfortably
outperformed by the Linux box when used as a server.
The LAN is 100MHz half-duplex. I thought that might be the cause of
the dramatic slowdown, but I'm not convinced, because if I run the same
test using MySQL on the Linux box as the backend, the figure is 80ms.
I also thought maybe it was the IBPhoenix ODBC driver, but changing
drivers has no significant effect.
Does anyone have any suggestions as to why Firebird slows down so much
across the (lightly loaded) network? Also, why do you think the Linux
box is the fastest of the server PCs tested, even though it has the
slowest processor (and generally feels slow to use)? There is a clue
regarding the second question, as even with ForcedWrites=Off Firebird on
Windows works the disk drive very much harder than Linux, but why is that?
I'm new to database servers, so I would be grateful for some pointers
from someone more experienced.
Regards,
Robert.
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.21.6/1317 - Release Date: 3/7/2008 08:15