Subject | Firebird performance |
---|---|
Author | ferry_new2004 |
Post date | 2007-06-29T08:52:15Z |
Hello everybody,
I am a newbie firebird user. I am wondering about how to tune
firebird database up. In my testing, I use two java batch programs to
do select/insert/update process repeatedly (each program will create
1000 records) just to test the response time. The testing is done with :
- FirebirdSS-2.0.1.12855-0.nptl.i686.SUPERSERVER.rpm
- LINUX mandrake 10.2
- The machine specification is Pentium IV 1,8Ghz and memory 256MB
(acting as database server, while the java programs resides on another
computer, th lan connection bandwidth is 100MBps).
- Isolation level of transaction is REPEATABLE READ
- Database record number is only about 17000 records.
- No blob (binary large object) field used
When the testing was running, I noticed that firebird consumed CPU
Time (about 90%). At this condition, if another program tried to do
the same thing, the response time dropped significantly (3-4 times
slower).
In my opinion this is because the CPU Usage of firebird.
I am wondering whether there are tips and tricks to reduced the CPU
Time so that more java batch program can concurently run ( I assumed
the condition as the busiest condition).
Confusing with the problem, I also tested the same system on different
machine (Pentium IV 2,4 GHz and memory 512MB). Unfortunately, the CPU
usage was still about 90% which was consumed by the firebird. ( I used
'top' command to monitor the CPU usage). :(
I tried to reduce the transaction isolation to be READ COMMITED (the
shallowest one of firebird) but it only reduced by about 10% - 15%, it
means the CPU usage of firebird was still about 70%-80%.
It seems to me that the better machine specification used (Pentium IV
2,4 GHz and memory 512MB) did not reduce the CPU Usage of firebird
process. :(
Does anyone have any idea to tune firebird database up ? :)
Thank you & Regards,
Ferry
I am a newbie firebird user. I am wondering about how to tune
firebird database up. In my testing, I use two java batch programs to
do select/insert/update process repeatedly (each program will create
1000 records) just to test the response time. The testing is done with :
- FirebirdSS-2.0.1.12855-0.nptl.i686.SUPERSERVER.rpm
- LINUX mandrake 10.2
- The machine specification is Pentium IV 1,8Ghz and memory 256MB
(acting as database server, while the java programs resides on another
computer, th lan connection bandwidth is 100MBps).
- Isolation level of transaction is REPEATABLE READ
- Database record number is only about 17000 records.
- No blob (binary large object) field used
When the testing was running, I noticed that firebird consumed CPU
Time (about 90%). At this condition, if another program tried to do
the same thing, the response time dropped significantly (3-4 times
slower).
In my opinion this is because the CPU Usage of firebird.
I am wondering whether there are tips and tricks to reduced the CPU
Time so that more java batch program can concurently run ( I assumed
the condition as the busiest condition).
Confusing with the problem, I also tested the same system on different
machine (Pentium IV 2,4 GHz and memory 512MB). Unfortunately, the CPU
usage was still about 90% which was consumed by the firebird. ( I used
'top' command to monitor the CPU usage). :(
I tried to reduce the transaction isolation to be READ COMMITED (the
shallowest one of firebird) but it only reduced by about 10% - 15%, it
means the CPU usage of firebird was still about 70%-80%.
It seems to me that the better machine specification used (Pentium IV
2,4 GHz and memory 512MB) did not reduce the CPU Usage of firebird
process. :(
Does anyone have any idea to tune firebird database up ? :)
Thank you & Regards,
Ferry