Hi again!
Here is some information from a project I attended a couple of years ago. We operated on a
Sun Starfire (Sun Enterprise 10000), totally 32 cpus and 32GB RAM, our domain had 12 cpus
and 12 GB RAM. A lot has hapend since then, but still, such computers are not fast when it
comes to simple things like database inserts. They are used for extreme load and may
calulate a lot of complex stuff.
We hade Oracle on the starfire. On another server we had a Java program doing import stuff
to the database.
In our case, on the Starfire, the application perfomed much better when using 5-10 threads
than using 20 or 30 of them. (I've read about other persons complaining about how Java
1.4.x scales on multi cpu machines). Note that we used Java 1.4.x here. I don't know
about how Java 1.5 or Java 1.6 behave on multi cpu machines.
When we changed the environment to a normal Compaq D180 server (the pizza box) with only 2
Intel Xeon, 1GB RAM having better clock frequency, we got much better performance. I
can't remember exactly how much better, but I know we are talking about several 100
percents. We had Java on one server and Oracle on antoher server (also a pizza box, but
4GB RAM). These machines used Windows 2000 Server Std. Edition.
Then we tried to seutp Oracle on a 8 Xeon cpu Dell server 8GB RAM, with Windows 2000
Server Ent. Ed (you had to have ent. ed. to be able to use all processors and all memory).
This machine had lower processor speed than the piza box. This configuration gave us worse
performance compared to the 2 pizza boxes.
On all machines we were in contact with Oracle about how to setup the Oracle to get the
best performance. One thing Otracle learned me, but this was version 8.1.6, was to setup
the chunk size of the disks. When you raid your disks, you shall have as specific chunk
size. At least on windows. You shall also have a special raid configuration. From the
beginning we had raid 10, but as I can remember you shall use something else.
Best insert performance:
1. import of flat file
2. creating a stored procedure wher you sent a kind of comma separated string.
3. Java - Oracle simple sql prepared statements
4. Java - using simple statements.
...
What about the network between database and java. Are they running on separate machines.
If not you will have a slower system.
Finally, Yes, the OCI drivers are much faster. Ther are communicating directly with the
Oracle DB. The non OCI drivers are normally working with the PL/SQL in Oracle - an extra
layer on top of the database.
Regards
Oskar
PS...
From Java, rember to turn off auto commit. Ds.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4039259#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...