Subject | Firebird & Linux Slow Down Issues |
---|---|
Author | firetrackers |
Post date | 2012-07-17T04:51:32Z |
After experiencing significant slowdowns on clients upgrading to Windows Server 2008, we have decided to work on configuring a Linux server to host our Firebird databases.
The problem we are having is that our benchmarking is showing that Window 7 is outperfoming Linux (CentOS).
The same hardware is being used for both servers having been dual-booted. The client is a Delphi based Window app using the Unified Interbase components for data access calls.
The queries are simple...
(1) SELECT MAINID FROM MAIN WHERE MAINID = ?
(2) SELECT * FROM MAIN WHERE MAINID = ?
(3) SELECT FIRST 100 * FROM MAIN ORDER BY MAINID
The following configurations were tested....
(A) Windows 7 (Firebird Server 2.5-Super Classic)/Windows client on a seperate machine
(B) Linux (Firebird Server 2.5-Super Classic)/Windows client on a seperate machine
(C) Windows 7 (Firebird Embedded Engine 2.5)
(D) Linux (Firebird Embedded Engine 2.5 on WINE)
The following results are the average response time of 25 requests (in milliseconds).
(1) (2) (3)
(A) 0 64 93
(B) 47 90 104
(C) 0 58 78
(D) 0 47 69
(C) vs. (D) shows that in this configuration, Linux has a slight edge over Windows (even though the Linux test is the same Windows app under WINE).
However, (A) vs. (B) show that Windows significantly outperforms Linux. The advantage seem to be smaller when returning larger datasets.
When you fire 4-5 small queries in a row, the application appears to hang for 2-3 seconds. Any suggestions on how to optimize the Linux server would be appreciated.
Further testing has shown that using the embedded firebird engine on Linux vs. Windows yields similar results with a very slight advantage to Linux. However, using the Firebird server shows a significant speed advantage for Windows.
The problem we are having is that our benchmarking is showing that Window 7 is outperfoming Linux (CentOS).
The same hardware is being used for both servers having been dual-booted. The client is a Delphi based Window app using the Unified Interbase components for data access calls.
The queries are simple...
(1) SELECT MAINID FROM MAIN WHERE MAINID = ?
(2) SELECT * FROM MAIN WHERE MAINID = ?
(3) SELECT FIRST 100 * FROM MAIN ORDER BY MAINID
The following configurations were tested....
(A) Windows 7 (Firebird Server 2.5-Super Classic)/Windows client on a seperate machine
(B) Linux (Firebird Server 2.5-Super Classic)/Windows client on a seperate machine
(C) Windows 7 (Firebird Embedded Engine 2.5)
(D) Linux (Firebird Embedded Engine 2.5 on WINE)
The following results are the average response time of 25 requests (in milliseconds).
(1) (2) (3)
(A) 0 64 93
(B) 47 90 104
(C) 0 58 78
(D) 0 47 69
(C) vs. (D) shows that in this configuration, Linux has a slight edge over Windows (even though the Linux test is the same Windows app under WINE).
However, (A) vs. (B) show that Windows significantly outperforms Linux. The advantage seem to be smaller when returning larger datasets.
When you fire 4-5 small queries in a row, the application appears to hang for 2-3 seconds. Any suggestions on how to optimize the Linux server would be appreciated.
Further testing has shown that using the embedded firebird engine on Linux vs. Windows yields similar results with a very slight advantage to Linux. However, using the Firebird server shows a significant speed advantage for Windows.