{ On Wed, 2003-06-25 at 08:15, Damien Lecan wrote: { > Hello, { > { > I am trying to get better performances from a linux plateforme and I am { > a little bit disappointed. { > { > I am testing a full J2EE application, ie 3 physical layers { > (apache/tomcat <=> jboss <=> oracle db ; 3 servers), and this is very { > slow on linux ... compared to the same plateforme on Windows 2000 server { > (except for the db, this a HP server for both tests). { > { > Every servers are equiped with JVM SUN 1.4.1_01 and Linux is RedHat 7.3, { > not customized. { > { > I know I could try other VM, but I am wondering if the problem comes { > from the OS or from the VM (on windows, performances are twice better), { > or from both ? { > { > What should I modify on my redhat ? Should I use IBM ou Blackdown VM ? { > { > Thanks for your help, I really would like to use linux instead of { > windows for servers ...
Hi Damien, Since I've made some comparison between different JVMs and different machines and O.S., I may provide you with some figures. First, check that your machines are EXACTLY identical. A bigger cache leads to much better performances (32K -> 512K cache : ~ +30% perf) with Java benchmarks. I've used the following benchmarks: VolanoMark http://www.volano.com/report/index.html ~ 800 threads SPECjbb2000 http://www.spec.org/osg/jbb2000/ Very few threads but heavy Java work On a 2xPentiumIII (1.3 GHz with 512 KB of cache), with RedHat 7.3 : VolanoMark : - BEA JRockit 8.1 is ~10Km/s - Sun 1.4.2 beta is ~17Km/s - IBM 1.4.0 is ~21Km/s SPECjbb2000: - BEA JRockit 8.1 : hang - Sun 1.4.2 beta is ~20Kops/s - IBM 1.4.0 is ~22Kops/s So, since your application should be a mix of many threads and heavy Java run, you should try IBM JVM (1.4.1 is now available). That also means: the less threads your JVM is running, the better should be the performances. How many threads are you running ? This was done with a Linux kernel 2.4.18 SMP . Kernel 2.6 should provide better results and you should experiment with it. Take care that JVM results with mono-CPU linux are often different from results with multi-CPU. Mainly for BEA JRockit (thinthreads). I haven't experimented with BlackDown, but -based on Volano Report- it should not be as good as Sun and IBM JVMs. When running Sun JVM, the following options led to best results with VolanoMark : -server -Xbatch -XXAgressiveHeap With IBM JVM, no options gave the best results. NPTL does NOT provide better performances for Java. It only (but that's VERY valuable) provides MUCH BETTER reliability. Linux 2.4 is far from being an industrial O.S. for heavy load. Waiting for 2.6 to see how much progress has been done. When comparing Linux and AIX on the same hardware (4xPPC, same IBM JVM 1.3.1) : VolanoMark : - Linux kernel 2.4 is ~17K - AIX 5L is ~30K That means that Linux 2.4 is far to be as optimized for heavy multi-threading as old Unix O.S. (like AIX, HP-UX, Solaris) are. I think Windows also is more optimized than Linux 2.4 . That may explain (some part of) the difference you saw between Linux and Windows. Other figures from official SPECjbb2000 results show that Linux SMP on IA32 is much less scalable (88 %) than AIX/PPC (100%) or other O.S. (2xCPU -> 4xCPU). You should also experiment with JOnAS (ObjectWeb, OpenSource) instead of JBoss. Regards, Tony Reix ---------------------------------------------------------------------- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]