Subject | Re: [firebird-support] Re: Firebird is slower on multicpu Window box then single cpu |
---|---|
Author | Aage Johansen |
Post date | 2005-04-04T20:13:21Z |
tsttang wrote:
What about disk systems? Fast disks will make a difference. And keeping
TEMP area separate from the db will definitely help. The same goes for the
OS files. Does the single cpu box have bigger cpu cache?
The "50 seconds" indicates that you may be measuring the java program, and
not so much the insert speed of the database. When I guessed at a timing
of about 5 secs for 20000 records on your equipment, my starting point was
a box with 2 cpus (approx. 900MHz Xeons) and 15000rpm disks - and Firebird
locked to one cpu (cpu affinity), no HT. A progam (using Win2k, Fb/0.9 SS,
Delphi+IBO) transferred 2000 records a second (2000 selects + 2000 inserts;
record length approx. 500B) from one database to another (all on the same box).
If you set the cpu affinity you may see Firebird running on one cpu and
your java program running on the other one. Assuming everything runs on
the server so that no network messes up the measuring.
--
Aage J.
>That time difference is hard to explain.
> Hi Aage,
> There are some java process to aggregate the data before they are
> being inserted. With the same data and the same java program, I
> loaded the data into Firebird on a single cpu machine and it tooks
> only 50 seconds. When I did the same thing but connect to a multicpu
> box in the same network domain, it took 3 minutes. I have tried
> switching HT off and that does not make any difference. The same
> test is done against Oracle in the two different environment and
> there is no timing degration on the multi-cpu box. I will try
> setting the cpu affinity and see if it makes a difference.
What about disk systems? Fast disks will make a difference. And keeping
TEMP area separate from the db will definitely help. The same goes for the
OS files. Does the single cpu box have bigger cpu cache?
The "50 seconds" indicates that you may be measuring the java program, and
not so much the insert speed of the database. When I guessed at a timing
of about 5 secs for 20000 records on your equipment, my starting point was
a box with 2 cpus (approx. 900MHz Xeons) and 15000rpm disks - and Firebird
locked to one cpu (cpu affinity), no HT. A progam (using Win2k, Fb/0.9 SS,
Delphi+IBO) transferred 2000 records a second (2000 selects + 2000 inserts;
record length approx. 500B) from one database to another (all on the same box).
If you set the cpu affinity you may see Firebird running on one cpu and
your java program running on the other one. Assuming everything runs on
the server so that no network messes up the measuring.
--
Aage J.