Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jul 2006 10:01:22 +0300 (EEST)
From:      Achilleus Mantzios <achill@matrix.gatewaynet.com>
To:        Michael Vince <mv@thebeastie.org>
Cc:        freebsd-threads@freebsd.org, freebsd-java@freebsd.org
Subject:   Re: AMD64 Diablo 1.5 JDK and libthr
Message-ID:  <Pine.LNX.4.44.0607241000310.7626-100000@matrix.gatewaynet.com>
In-Reply-To: <44C44C46.30505@thebeastie.org>

next in thread | previous in thread | raw e-mail | index | archive | help
O Michael Vince έγραψε στις Jul 24, 2006 :

> Hi all,
> I would just like to follow up to my previous post and report my testing 
> results, as some might find it interesting.
> 
> I tested our Java servlet on libpthread for almost a week non stop on 
> the AMD64 Diablo Java and it didn't fail.
> I used a complex bot system to replicate users on the system, the test 
> was causing over 10,000 dynamic page loads per minute with a total of 
> about over 150million page loads without failure.
> Under libpthread I now consider the AMD64 Java for our servlet as 
> unkillable, but as stated below not the case for libthr.
> 
> Since I couldn't test libthr performance under AMD64 I decided to test 
> Java's speed under i386 Diablo 1.5 JDK since I have found it to be just 
> as reliable under libthr as libpthread.
> 
> Using a complex servlet that is able to replicate user typical activity 
> (user bots) on this web app I recorded its performance, loading the 
> Tomcat first under libpthread then under libthr and running the exact 
> same bot test.
> The servlet actually connects out from its self then back through 
> Apache2.2 then via the AJP module back to Tomcat http service, the 
> Apache is compiled under worker threaded mode and is also using libthr.
> 
> The tests were run for about 15mins on both threading libraries for the 
> Tomcat and then calculated an average from hits last few minutes of 
> usage, from the Apache2.2 logs.
> libpthread average hits per minute: 8,823
> libpthread session average: 4,500
> libthread transactions per minute: 2891
> 
> libthr average hits per minute:         11,581
> libthr session average: 5,573
> libthr transactions per minute: 3861
> 
> Hits are self explanatory (everything is a dynamic hit)
> The session numbers are simultaneous users.
> The transactions is the word I am using for a particular post the bots 
> hit that I am reading from the Apache logs that indicates a particular 
> hit of core usage of the webapp.
> Things that were most interesting to me was that while hits were a bit 
> higher it made an even large stretch in simultaneous sessions and 
> transactions per minute.
> 
> To me this is saying no doubt that there is faster performance from Java 
> under libthr when it is enabled in libmap.conf, compared to libpthread.
> I would really like to do the same test under AMD64 but for what ever 
> reason libthr on Java is very different behavior compared to its i386 
> counter part.

Where does libc_r fit into the picture?
Any tests with this?
Just curious.

> 
> Regards,
> Mike
> 
> Michael Vince wrote:
> 
> > Hi guys,
> >
> > Firstly just like to say its great to see AMD64 1.5 JDK released, 
> > thanks for this.
> >
> > I have started doing some testing on Diablo on AMD64 FreeBSD 
> > (currently on 6-stable).
> > I decided to enable libthr in the libmap.conf (settings below) so I 
> > could see the Javas thread usage via top and see if its any faster,
> > I was testing a servlet on Tomcat 5.5 doing about 5k to 10k gets per 
> > minute, I have found it dies quite quickly (about 4 minutes) compared 
> > to using the libpthread, which is yet to crash after 1 hour of usage.
> > Has any one had good experiences with libthr on AMD64 1.5 Java?
> >
> > [/usr/local/diablo-jdk1.5.0/]
> > libpthread.so           libthr.so
> > libpthread.so.2         libthr.so.2
> >
> > Its server server 6-STABLE Jun 16 build, with a generic kernel with 
> > just FAST_IPSEC compiled into it.
> > I am going to rebuild it to 6-stable now with SMP kernel, then also 
> > try on a 6.1-release machine.
> >
> > I have attached its crash log below.
> >
> >
> > Thanks,
> > Mike
> >
> >------------------------------------------------------------------------
> >
> >#
> ># An unexpected error has been detected by HotSpot Virtual Machine:
> >#
> >#  Internal Error (4E4D4554484F440E4350500525), pid=29088, tid=0x7ac600
> >#
> ># Java VM: Java HotSpot(TM) 64-Bit Server VM (diablo-1.5.0_07-b00 mixed mode)
> >
> >---------------  T H R E A D  ---------------
> >
> >Current thread (0x00000000007af000):  JavaThread "Thread-39" daemon [_thread_in_Java, id=8046080]
> >
> >Stack: [0x00007ffffc8cd000,0x00007ffffc9cd000),  sp=0x00007ffffc9cc270,  free space=1020k
> >Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> >V  [libjvm.so+0x7ddc49]
> >V  [libjvm.so+0x476da6]
> >V  [libjvm.so+0x6df0b8]
> >V  [libjvm.so+0x75a3a8]
> >V  [libjvm.so+0x6f4632]
> >
> >
> >---------------  P R O C E S S  ---------------
> >
> >Java Threads: ( => current thread )
> >  0x000000000061bc00 JavaThread "TP-Processor16" daemon [_thread_in_native, id=6307328]
> >  0x000000000061b800 JavaThread "TP-Processor15" daemon [_thread_blocked, id=6306816]
> >  0x000000000061b400 JavaThread "TP-Processor14" daemon [_thread_blocked, id=6306304]
> >  0x000000000061b000 JavaThread "TP-Processor13" daemon [_thread_blocked, id=15662080]
> >  0x0000000000815400 JavaThread "TP-Processor12" daemon [_thread_in_native, id=8251904]
> >  0x00000000007f2c00 JavaThread "TP-Processor11" daemon [_thread_in_native, id=8251392]
> >  0x00000000007f2400 JavaThread "TP-Processor10" daemon [_thread_in_native, id=8250880]
> >  0x00000000007e8c00 JavaThread "TP-Processor9" daemon [_thread_in_native, id=8250368]
> >  0x0000000000630000 JavaThread "TP-Processor8" daemon [_thread_in_native, id=6428160]
> >  0x00000000007e8400 JavaThread "TP-Processor7" daemon [_thread_in_native, id=6426624]
> >  0x00000000007f4000 JavaThread "TP-Processor6" daemon [_thread_in_native, id=6298112]
> >  0x0000000000c58000 JavaThread "TP-Processor5" daemon [_thread_in_native, id=6296576]
> >  0x00000000007b2000 JavaThread "Thread-42" daemon [_thread_blocked, id=8047616]
> >  0x00000000007b0400 JavaThread "Thread-41" daemon [_thread_in_vm, id=8047104]
> >  0x00000000007afc00 JavaThread "Thread-40" daemon [_thread_blocked, id=8046592]
> >=>0x00000000007af000 JavaThread "Thread-39" daemon [_thread_in_Java, id=8046080]
> >  0x00000000007ad400 JavaThread "Thread-38" daemon [_thread_blocked, id=8045568]
> >  0x00000000007ab800 JavaThread "Thread-37" daemon [_thread_blocked, id=8045056]
> >  0x0000000000717c00 JavaThread "Thread-36" daemon [_thread_blocked, id=8044544]
> >  0x0000000000717000 JavaThread "Thread-35" daemon [_thread_blocked, id=5897728]
> >  0x0000000000ed6c00 JavaThread "SessionStore" daemon [_thread_blocked, id=12662272]
> >  0x0000000000ed1400 JavaThread "TP-Monitor" daemon [_thread_blocked, id=15545344]
> >  0x0000000000ed1000 JavaThread "TP-Processor4" daemon [_thread_in_native, id=15527424]
> >  0x0000000000d9dc00 JavaThread "TP-Processor3" daemon [_thread_in_native, id=15525888]
> >  0x0000000000d9d800 JavaThread "TP-Processor2" daemon [_thread_in_native, id=15524352]
> >  0x0000000000d9d400 JavaThread "TP-Processor1" daemon [_thread_in_native, id=15661568]
> >  0x0000000000ea2000 JavaThread "http-8180-Monitor" [_thread_blocked, id=15267328]
> >  0x0000000000e90400 JavaThread "http-8180-Processor25" daemon [_thread_in_native, id=15266816]
> >  0x0000000000e8e800 JavaThread "http-8180-Processor24" daemon [_thread_blocked, id=15266304]
> >  0x0000000000e7cc00 JavaThread "http-8180-Processor23" daemon [_thread_blocked, id=15265792]
> >  0x0000000000e7c000 JavaThread "http-8180-Processor22" daemon [_thread_blocked, id=14863872]
> >  0x0000000000e5a400 JavaThread "http-8180-Processor21" daemon [_thread_blocked, id=14863360]
> >  0x0000000000e59800 JavaThread "http-8180-Processor20" daemon [_thread_blocked, id=14862848]
> >  0x0000000000e57c00 JavaThread "http-8180-Processor19" daemon [_thread_blocked, id=14862336]
> >  0x0000000000e57000 JavaThread "http-8180-Processor18" daemon [_thread_blocked, id=14861824]
> >  0x0000000000e45400 JavaThread "http-8180-Processor17" daemon [_thread_blocked, id=14861312]
> >  0x0000000000dda800 JavaThread "http-8180-Processor16" daemon [_thread_blocked, id=14860800]
> >  0x0000000000dd9c00 JavaThread "http-8180-Processor15" daemon [_thread_blocked, id=14860288]
> >  0x0000000000dd9000 JavaThread "http-8180-Processor14" daemon [_thread_blocked, id=13893120]
> >  0x0000000000dbc400 JavaThread "http-8180-Processor13" daemon [_thread_blocked, id=13892608]
> >  0x0000000000db3800 JavaThread "http-8180-Processor12" daemon [_thread_blocked, id=13892096]
> >  0x0000000000d82c00 JavaThread "http-8180-Processor11" daemon [_thread_blocked, id=13891584]
> >  0x0000000000d82000 JavaThread "http-8180-Processor10" daemon [_thread_blocked, id=13891072]
> >  0x0000000000d58400 JavaThread "http-8180-Processor9" daemon [_thread_blocked, id=13890560]
> >  0x0000000000d26800 JavaThread "http-8180-Processor8" daemon [_thread_blocked, id=13890048]
> >  0x0000000000cd1c00 JavaThread "http-8180-Processor7" daemon [_thread_blocked, id=13889536]
> >  0x0000000000cd1000 JavaThread "http-8180-Processor6" daemon [_thread_blocked, id=13168128]
> >  0x0000000000cb8400 JavaThread "http-8180-Processor5" daemon [_thread_blocked, id=13167616]
> >  0x0000000000cb8000 JavaThread "http-8180-Processor4" daemon [_thread_blocked, id=13167104]
> >  0x0000000000c58c00 JavaThread "http-8180-Processor3" daemon [_thread_blocked, id=13166592]
> >  0x0000000000c58800 JavaThread "http-8180-Processor2" daemon [_thread_blocked, id=13166080]
> >  0x0000000000c58400 JavaThread "http-8180-Processor1" daemon [_thread_blocked, id=13165568]
> >  0x0000000000bbf000 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=12661248]
> >  0x00000000006c2000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=7098368]
> >  0x00000000006be400 JavaThread "CompilerThread1" daemon [_thread_blocked, id=7052288]
> >  0x00000000006bb800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=7051264]
> >  0x00000000006b2c00 JavaThread "AdapterThread" daemon [_thread_blocked, id=7050240]
> >  0x00000000006b2000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=7049216]
> >  0x0000000000612800 JavaThread "Finalizer" daemon [_thread_blocked, id=6960128]
> >  0x0000000000612400 JavaThread "Reference Handler" daemon [_thread_blocked, id=6934016]
> >  0x0000000000516400 JavaThread "main" [_thread_in_native, id=5292032]
> >
> >Other Threads:
> >  0x0000000000600c00 VMThread [id=6295040]
> >  0x0000000000517a00 WatcherThread [id=7098880]
> >
> >VM state:synchronizing (normal execution)
> >
> >VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
> >[0x0000000000513700/0x0000000000513780] Safepoint_lock - owner thread: 0x0000000000600c00
> >[0x0000000000513880/0x0000000000513900] Threads_lock - owner thread: 0x0000000000600c00
> >
> >Heap
> > PSYoungGen      total 152896K, used 46691K [0x0000000837830000, 0x00000008422d0000, 0x000000084cd80000)
> >  eden space 131072K, 35% used [0x0000000837830000,0x000000083a5c8f80,0x000000083f830000)
> >  from space 21824K, 0% used [0x000000083f830000,0x000000083f830000,0x0000000840d80000)
> >  to   space 21824K, 0% used [0x0000000840d80000,0x0000000840d80000,0x00000008422d0000)
> > PSOldGen        total 349568K, used 21439K [0x000000080cd80000, 0x00000008222e0000, 0x0000000837830000)
> >  object space 349568K, 6% used [0x000000080cd80000,0x000000080e26ffb0,0x00000008222e0000)
> > PSPermGen       total 21248K, used 13437K [0x0000000807b80000, 0x0000000809040000, 0x000000080cd80000)
> >  object space 21248K, 63% used [0x0000000807b80000,0x000000080889f6d0,0x0000000809040000)
> >
> >Dynamic libraries:
> >0x0000000000400000 	/usr/local/diablo-jdk1.5.0/bin/java
> >0x0000000800634000 	/lib/libz.so.3
> >0x0000000800747000 	/usr/lib/libthr.so.2
> >0x000000080085e000 	/lib/libc.so.6
> >0x0000000800a5c000 	/usr/local/diablo-jdk1.5.0/jre/lib/amd64/server/libjvm.so
> >0x00000008014e9000 	/usr/lib/libstdc++.so.5
> >0x00000008016e0000 	/lib/libm.so.4
> >0x00000008017fc000 	/usr/local/diablo-jdk1.5.0/jre/lib/amd64/native_threads/libhpi.so
> >0x0000000801908000 	/usr/local/diablo-jdk1.5.0/jre/lib/amd64/libverify.so
> >0x0000000801a17000 	/usr/local/diablo-jdk1.5.0/jre/lib/amd64/libjava.so
> >0x0000000801b3f000 	/usr/local/diablo-jdk1.5.0/jre/lib/amd64/libzip.so
> >0x000000084d5f2000 	/usr/local/diablo-jdk1.5.0/jre/lib/amd64/libnet.so
> >0x000000080050a000 	/libexec/ld-elf.so.1
> >
> >VM Arguments:
> >jvm_args: -Xms512M -Xmx1024M -XX:+UseMembar -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/export/devel/devel1-tomcat/conf/logging.properties -Djava.endorsed.dirs=/export/devel/devel1-tomcat/common/endorsed -Dcatalina.base=/export/devel/devel1-tomcat -Dcatalina.home=/export/devel/devel1-tomcat -Djava.io.tmpdir=/export/devel/devel1-tomcat/temp
> >java_command: org.apache.catalina.startup.Bootstrap start
> >Launcher Type: SUN_STANDARD
> >
> >Environment Variables:
> >JAVA_HOME=/usr/local/diablo-jdk1.5.0
> >PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
> >LD_LIBRARY_PATH=/usr/local/diablo-jdk1.5.0/jre/lib/amd64/server:/usr/local/diablo-jdk1.5.0/jre/lib/amd64:/usr/local/diablo-jdk1.5.0/jre/../lib/amd64
> >SHELL=/bin/csh
> >HOSTTYPE=FreeBSD
> >OSTYPE=FreeBSD
> >MACHTYPE=unknown
> >
> >Signal Handlers:
> >SIGSEGV: [libjvm.so+0x7de650], sa_mask[0]=0xfffefeff, sa_flags=0x00000002
> >SIGBUS: [libjvm.so+0x7de650], sa_mask[0]=0xfffefeff, sa_flags=0x00000002
> >SIGFPE: [libjvm.so+0x6f3030], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
> >SIGPIPE: [libjvm.so+0x6f3030], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
> >SIGILL: [libjvm.so+0x6f3030], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
> >SIGUSR1: [libjvm.so+0x6f30c0], sa_mask[0]=0x00000000, sa_flags=0x00000040
> >SIGUSR2: [libjvm.so+0x6f3030], sa_mask[0]=0xfffefeff, sa_flags=0x00000042
> >SIGHUP: [libjvm.so+0x6f1b30], sa_mask[0]=0xfffefeff, sa_flags=0x00000002
> >SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
> >SIGQUIT: [libjvm.so+0x6f1b30], sa_mask[0]=0xfffefeff, sa_flags=0x00000002
> >SIGTERM: [libjvm.so+0x6f1b30], sa_mask[0]=0xfffefeff, sa_flags=0x00000002
> >
> >
> >---------------  S Y S T E M  ---------------
> >
> >OS:FreeBSD
> >uname:FreeBSD 6.1-STABLE FreeBSD 6.1-STABLE #1: Fri Jun 16 13:38:14 EST 2006     root@kessel:/usr/obj/usr/src/sys/GENERIC_IPSEC amd64
> >rlimit: STACK 524288k, CORE infinity, NOFILE 11095
> >CPU:total 4 em64t ht
> >
> >Memory: 4k page, physical 6065060k
> >
> >vm_info: Java HotSpot(TM) 64-Bit Server VM (diablo-1.5.0_07-b00) for freebsd-amd64, built on Jun 13 2006 11:31:34 by truk with gcc 3.4.4 [FreeBSD] 20050518
> >
> >  
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >freebsd-java@freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-java
> >To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org"
> >
> 
> _______________________________________________
> freebsd-java@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org"
> 

-- 
-Achilleus




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0607241000310.7626-100000>