From owner-freebsd-threads@FreeBSD.ORG Mon Jul 24 06:46:17 2006 Return-Path: X-Original-To: freebsd-threads@freebsd.org Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5577416A4E6; Mon, 24 Jul 2006 06:46:17 +0000 (UTC) (envelope-from achill@matrix.gatewaynet.com) Received: from matrix.gatewaynet.com (host2.dynacom.ondsl.gr [62.103.35.210]) by mx1.FreeBSD.org (Postfix) with ESMTP id 347F043D49; Mon, 24 Jul 2006 06:46:13 +0000 (GMT) (envelope-from achill@matrix.gatewaynet.com) Received: from matrix.gatewaynet.com (localhost.localdomain [127.0.0.1]) by matrix.gatewaynet.com (8.12.8/8.12.8) with ESMTP id k6O71NtD007659; Mon, 24 Jul 2006 10:01:23 +0300 Received: from localhost (achill@localhost) by matrix.gatewaynet.com (8.12.8/8.12.8/Submit) with ESMTP id k6O71Mi7007655; Mon, 24 Jul 2006 10:01:22 +0300 Date: Mon, 24 Jul 2006 10:01:22 +0300 (EEST) From: Achilleus Mantzios To: Michael Vince In-Reply-To: <44C44C46.30505@thebeastie.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-7 Content-Transfer-Encoding: 8BIT Cc: freebsd-threads@freebsd.org, freebsd-java@freebsd.org Subject: Re: AMD64 Diablo 1.5 JDK and libthr X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jul 2006 06:46:17 -0000 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