PC versus SUN E10000

We have a performance issue with the BEA Weblogic Server on
a SUN E10000.
Environment:
Solaris VM (build Solaris_JDK_1.2.1_04, native threads, sunwjit),
performance pack enabled,
service pack 5, SUN OS 5.6.
The WL is running on its own System Board with 4 CPUs.
There are some data read from the database
in an initial step. The results are cached and fetched
from the memory in all following steps.
We are testing with minimum load.
One user requests 3 Pages within 10 seconds.
The load of the CPUs is about 5%.
One page requires between 0,2 and 0,5 seconds.
The same tests were made on a PC.
Environment:
400MHz, NT 4.0, JDK 1.1.7B, nojit.
The PC was a little bit faster than the E10000.
After switching on PC to JDK 1.2 (V) with JIT,
the PC beats the SUN by a factor of 10.
We have tuned this a little bit, turning off all debug outputs
on the SUN. But still the PC is 5 times faster than the E10000.
Today a specialist from BEA visited us
(yes, one of the expensive ones :-)
and we are not any futher. At least he told us
to contact the support of BEA.
Here are some results:
PC E10000
Transaction 1 140ms 230ms
Transaction 2 470ms 450ms
Transaction 3 140ms 260ms
Now the PC with JDK 1.2 und JIT
java version "1.2" Classic VM (build JDK-1.2-V, native threads)
PC E10000
Transaction 1 20ms 230ms
Transaction 2 70ms 450ms
Transaction 3 20ms 260ms
As I believe from reading this newsgroup
the results on the PC are good.
What results can I expect on the E10000?
There is no bottleneck in the code.
We have made some measurements with System.millis
and the program is slow at the same points as on the PC.
It seems that the JDK is slowing down the things.
Has anyone better results on a SUN?
Why should I use the E10000 if the PC is faster?
Best Regards,
Frank.

Thank you for your information! It is so useful.
One question:
Use 4096 for the buffer size (default was 512).What buffer size??
Thanks
Cheers - Wei
Frank Hofmann <[email protected]> wrote in message
news:[email protected]...
>
Hello,
thanks for your contributions.
Let me tell some new facts.
I agree with Bryan and Boris as well.
Assume that a big machine with very good scaling
has some noise which results in a load of one percent.
(It is not so high, but easier for the calculation)
Now assume your test loads the machine with one percent.
The PC may have a ground load of 0 and your test does
the PC also load with one percent.
So the big machine is loaded with two percent and
the PC with one percent. The PC seems twice as fast
as the SUN.
When you repeat the test with 90% load the big machine
will win the game since the PC does not scale very well.
The NT kernel may use up 10% of your computing power.
(Or any other value but significantly more than the
big machine.)
The story continues.
It has taken two month till a specialist from SUN
has found our big mistake. Somewhere in the
startWebLogic.sh was hidden under many other option:
-Djava.compiler=
Yes, we were running without JIT. :-)
As simple as this bug seems it was very difficult to find.
Now with JIT the performance of the SUN E10000 and
the PC are nearly equal per processor at 10% load.
With little load the PC is faster with high load the
SUN is faster.
It is up to you to compare price, performance and stability.
For some of us the PC may be the better solution.
I would suggest to keep the load on the PC under 50% or so.
Performance
We are working closely together with SUN and BEA
trying to increase the performance. A big problem
is the lack of usefull performance data. There are
some information from Michael Girdley around.
But when you study them you will come to the following
conclusion: There are not enough information to compare
your system with any other system.
Available information:
What processor, operation system, speed of processor,
amount of processor, Megabyte RAM, number of Weblogic-Servers,
pages per second or transactions per second.
Not available information:
How large are the pages?
Was it a small or big program which has build
the page and was it well optimized or not?
What is meant by transaction and how many
performance does one consume?
How many transactions build one page?
It would be nice to have a benchmark which covers
the most common application. So everybody can
compare parts of his application with the benchmark.
You can never be shure that your application needs
the performance you see or if you have made something wrong.
Some of our mistakes:
We have fetched the initial context and the Home Interface
for the beans for every user.
Better: Now we fetch the context and Home Interfaces once in
a static hashtable. (Winning 10% Performance)
Initially we had many debug outputs.
We have turned of nearly all of our debug output.
(Winning 50% Performance)
At some places we have forgotten to use buffered input/output.
Use 4096 for the buffer size (default was 512).
This was also true for our loadtester. For some tests this
has reduced the measured time by 50%.
It is a good idea to use StringBuffer to concat the html-page.
And set the initial of the StringBuffer if you know it.
This has improved one of our tables from 40 seconds to 200 milliseconds.
Stability
Sometimes the Weblogic hangs as you know.
It is not very easy to reproduce it.
We have tests where the server never hangs.
This is also true for our developing.
So the weblogic hangs not by itself. It has to do
with your application.
Try to make a Thread Dump.
PC: Click on the cross to close your DOS-window.
This will force a dump. Copy the contents of the window to your editor.
UNIX: Send SIGQUIT to the java process. You will get a dump too.
Yesterday I have managed to hang the Weblogic in a reproducable manner.
I will wait a bit till I have a confirmation of other experts
that I am right. (I do not like to blame me as I have done it the
last time :-) But it seems that the weblogic has a problem
when it runs out of threads (ExcuteThreadCount) and then has
to make a database connection. It seems to the user that it
needs an other thread from the thread pool. This can be a deadlock
depending on the application.
I hope this letter was not too long.
Frank

Similar Messages

  • NetBeans With J2EE versus Sun One Studio Enterprise

    What is the difference between NetBeans with J2EE and Sun One Studio Enterprise?
    Which of the two would be more appropriate to use for creating GUI applications? Which one would be more appropriate for an EJB based web application?

    Sun One Studio is Netbeans with additional "enterprise" functionality. As thing now stand, S1S is 1-2 releases behind NB, due to the time required to add the additional functionality. The added stuff is useful for large systems, and Sun supports S1S - but not NB.
    Depending on your specific requirements, either one might do the job.
    Both are now free, and it appears that they will stay that way.
    And both can use Application Server and Tomcat (or JBoss, etc in the the case of NB 5), and both work with J2EE.

  • SAP JVM 5.1 / SAP JVM 6.1 - versus SUN

    With WAS 7.1 / 7.2, per PAM the only supported JVM's are SAP JVM 5.1 / SAP JVM 6.1.  Specifically that means, SUN, IBM and HP are no longer supported.   Question: Where can I find details on SAP JVM 5.1 / SAP JVM 6.1?  I assume those are essentially SUN SDK 1.5/1.6 with SAP's own implementation around; is that correct?

    Hi,
    use this: https://cw.sdn.sap.com/cw/docs/DOC-106773
    as your start for exploring the SAP JVM.
    To my knowledge, the SAP JVM is 100% Java standard compliant but offers a better (long-term) support compared to other vendors. After all, the SUN Java entered end of maintenance from SUN some years ago and the version for SAP is now the -b, business version of the JDK 1.4.
    Should be interessting to know if the SAP JVM is the same for all OS supported (like: AIX, HPUX, Linux, Windows, etc), in terms of performance, bugs (?) and parameters.
    br,
    Tobias

  • Beginners Question - cluster config

    Hi,
    Is it possible to configure three Sun E10000 nodes in a cluster so that the first 2 nodes will be in scalable mode with dynamic load balancing and and the third in failover mode?. The application running is a web server with Oracle databse at the back end. The node in failover mode is meant for disaster recovery.
    Also I would like to know if Sun Cluster 2.2 supports this type of configuration.
    Thanks in advance
    Binu

    Sun Cluster 2.2 does no support scalable services so could not be used for this type of configuration.
    SC 3.0 could be used with a web server configured as a scalable service and Oracle running as a failover service within the same three node cluster.
    Hope this answered you question

  • Excesive CPU usage - java process OBI related

    Hola a todos,
    We have installed OBIEE 11.1.1.5 in a virtual machine (a clean one, just DB and OBI) and since a few weeks we've noticed perfomance issues. There is a java.exe process running with 30 - 50% CPU usage and if we stop it, OBIEE stops working as well, so we think it may be related, but we dont have any further clues.
    Has anybody dealt with something liket his before or does anyone know if there's a log where we could check this?
    Thanks in advance.

    Tuning
    Whether its a 64 bit or 32 bit of SUN or Jrocket ,
    Please increase the heap size parameters to Xms & Xmx to atleast2048 (min and max to atleast) 2GB
    Below were the comments from Oracle Support
    Best Practices Guide for Tuning Oracle® Business Intelligence Enterprise Edition
    In JRockit JVM (R28), the heap grows faster than before. The JVM also ensures that the heap size grows up to the maximum Java heap size (-Xmx) before an OutOfMemory error is thrown. In addition, the default value of the -Xmx option is changed from 1 GB to 3 GB on 64-bit OS. Note the JRockit JVM auto shrinks the heap if it is unused or if other applications require more physical memory.
    Note: It is recommended to use the default garbage collection mode i.e. -Xgc:throughput. Also
    large heap reduces the garbage collection frequency and fragmentation, improving the throughput
    of the application; however, a large heap increases the memory footprint of the Java process.
    *Warning: Make sure you have enough physical memory allocated / available on 64bit servers and then use the above settings as a starting point, and after load testing, adjust as needed. For a stable / an even performance over time, you should set the initial heap size (- Xms) to the same value as the maximum heap size (-Xmx).
    Common JRockit JVM issues seen with BI (i.e. bi_server1) managed
    servers:
    Startup Times Take Longer When Using JRockit JVM Versus Sun JVM: The Oracle® JRockit JVM is by default optimized for server use, which means that the startup times can be longer in favor of high performance as soon as the application is up and running. Moreover, as the application runs, the JRockit JVM optimizes frequently called methods, improving the performance further.
    When you run the JRockit JVM on a 64-bit system with a heap size less than 4 GB, if native OutOfMemory errors occurs despite memory being available only then add the parameter -XXcompressedRefs:size=32GB in JVM startup options to enable heap to grow up to 32 GB heap (practical limit of 25 GB). This will fix the issue native OutOfMemory errors. Moreover heap size still be restricted till the limits defined using -Xmx only benefit would be your heap will get the capability to grow beyond 4 GB up to 25 GB due to increase in size of pointer to
    32 bit address.
    On Oracle Solaris SPARC, due to the way classblock memory is reserved,Oracle® JRockit (R28) might occasionally run out of memory when a large number of classes are loaded (in the order of 100000).Workaround: The default value of -XX:MaxClassBlockMemory=50 MB, and a reasonable value is around 75 MB.
    By design Oracle® JRockit will often use more memory than Sun JVM because JRockit compiles everything and is optimized for being a server-side JVM. So if
    your customer have limited resources (i.e. CPU, memory) then it is recommended to experiment with switching to the Sun JVM which should save some system resources, but customer really should consider to do a performance tuning and sizing exercise, and determine if they have sufficient memory / CPU’s to support their requirements.
    It is important to keep Oracle® JRockit R28.1.x up to date with latest fix release because the latest release provide fixes for security vulnerabilities, performance,
    and other improvements of the Oracle® JRockit R28.1.x
    Tuning 64bit Sun JVM
    suggested
    Minimum heap -Xms2048m Maximum heap -Xmx2048m
    Minimum permanent generation heap -XX:PermSize=512m Maximum permanent generation heap -XX:MaxPermSize=512m
    I'm not sure from where I've copied but save the same in text file.
    This may help you.
    Or check this (since you pointed to java.exe) http://docs.oracle.com/cd/E18930_01/html/821-2431/abeic.html
    Edited by: veeravalli on Oct 25, 2012 7:38 AM

  • HELP!! C++ Compilig, build and Make Help!!! URGENT

    Hi Everyone,
    Can any one tell me how to compile a c++ program from the terminal aswell as from the GUI. I have installed Sun Studio 10 and working on Solaris 10.
    i'm able to compile C programs using cc from the terminal, how to compile it from the GUI?? If i use CC to compile a C++ program i get a error it wont compile at all.
    Waiting for your replies
    Thanks in advance.

    Here's the Sun Studio 10 documentation:
    http://download.oracle.com/docs/cd/E19059-01/stud.10/index.html
    Here's a few things to read thru:
    1. Setting up PATH & MANPATH environment variables after installation for access
    http://download.oracle.com/docs/cd/E19059-01/stud.10/819-0485/products.html#pgfId-395679
    2. Starting up and setting up the IDE
    http://download.oracle.com/docs/cd/E19059-01/stud.10/819-0485/startup.html#pgfId-6072
    In addition, if you are on Solaris 10, I would suggest you use the latest Studio version (Oracle Solaris Studio 12.2) versus Sun Studio 10 (over 6 years old):
    http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html
    /kso
    Edited by: koberoi on May 5, 2011 10:14 AM

  • Sun C++ versus GNU C++ on integer code.

    Hello,
    I've been always wondering why so much people praise Sun C++ for generating highly optimized code and why I'm never able to get my project working faster when being compiled by Sun C++ in comparison with GNU C++. I'm testing MICO and nbench2 and it looks like Sun C++ generates slower integer code while faster floating point code. Is there any way how to make Sun C++ generate faster integer code? Please see [http://developmentonsolaris.wordpress.com/2010/03/06/sun-c-versus-gnu-c-never-ending-wonder-just-resolved/] for more information.
    Thanks,
    Karel

    Try some of these options, IME they are probably most likely to help:
    -fast -xprefetch -xprefetch_level=3 -xprefetch_auto_type=indirect_array_access -xipo=2 -xdepend=yesSome others that could help, depending on your code:
    -xunroll
    -xpagesize (and all its subtypes)
    -xalias_level
    You'd need to experiment to find out.
    Of interest is that some algorithms run faster with inlining and prefetching disabled. Algorithms that are extremely register-intensive can sometimes run faster with no inlining or prefetching because both those optimizations increase the use of registers for any source code. FFTW is one of these - it can run 30 or 40% faster with inlining and prefetching disabled.
    Reference:
    [http://docs.sun.com/app/docs/doc/820-7599/bkana?a=view|http://docs.sun.com/app/docs/doc/820-7599/bkana?a=view]

  • IBM Distributed Queue Manager versus the Sun JMQ Broker

    Hi,
    I am not very familiar with the Sun JMQ Broker but wondering if it has similar features to
    In IBM's MQ Series, where there is a concept of DQM (Distributed Queue Management), which allows
    sending/receiving messages between geographically distributed "nodes/servers". I glanced through
    the Sun JMQ admin guide and it appears that Sun's JMQ Broker Architecture works similarly.
    Can someone who know please confirm this?
    Thanks a lot,
    Fred

    Sun's Glassfish Message Queue (aka Java Message Queue, Open Message Queue) uses an architecture of distributed message brokers. There's a technical overview here: [http://docs.sun.com/app/docs/doc/821-0028/aerdj?a=view|http://docs.sun.com/app/docs/doc/821-0028/aerdj?a=view]
    If there's any particular feature you're particularly looking for, please ask in the Message Queue forum at
    [http://forums.sun.com/forum.jspa?forumID=711|http://forums.sun.com/forum.jspa?forumID=711]
    Nigel

  • Using Linux/Red Hat/Intel for Sun ONE/Java Directory Server

    Anybody have any experience of this? We're looking to get off AIX, and Total Cost of Ownership for using Solaris/Sparc versus Linux/Intel is very similar.
    The decider will be if no-one is using Linux as a platform for Sun ONE/Java Directory Server....
    Any feedback would be appreciated....

    We run Directory 5.1 in production on Solaris/Sparc, but I've tried it with sucess on Red Hat 7.2 on Intel. We have not been able to get it to work on Red Hat Enterprise 2.1 or 3.0. The main problem has been that the administration server fails on startup. Obvious the lack of support for the latest enterprise class Linux is a huge drawback. At this point I've decided to stay on Solaris/Sparc until Red Hat comes out with its own release of Netscape's Directory. When that happens we're going to evaluate whether to move the whole environment to Red Hat. The Sun and Netscape servers are almost identical in terms of features and performance, but having an open source version that can run on less expensive hardware would be a terrific win for us.

  • Passing Objects: ServletContext versus JNDI

    I am currently developing a Web application that uses a variation of the (often recommended) model-view-controller architecture. Specifically, I have a single Front Controller Servlet that identifies what the request is for, and then delegates processing to an appropriate RequestHandler object. As implied by the name, the RequestHandler object has access to the original HttpServletRequest object.
    In its init() method, the Front Controller Servlet prepares a pool of database connections. Each RequestHandler will obtain a connection through a DataSource object (in accordance with "best practices" for using the JDBC 2.0 Optional Extension). Then, the RequestHandler will retrieve data from the database, instantiate a Java Bean, and pass the Bean on to a corresponding JSP page for display.
    Here is my dilemma: what is the best way to make the DataSource available to the RequestHandler objects?
    Most sources suggest registering the DataSource with JNDI, but - as far as I can tell - this seems to require "administrative" access to the Web application server. For example, performing this action with Tomcat 4.0 requires modification of the server.xml file (as described at http://jakarta.apache.org/tomcat/tomcat-4.0-doc/jndi-resources-howto.html).
    I would prefer to just stuff the DataSource into the ServletContext so that it is accessible throughout my Web application. (Then my DataSource would not be accessible, via JNDI, to other applications on the same server - such as in a shared hosting environment.) However, the problem is that my helper classes - the RequestHandlers - are not Servlets or JSPs (just regular classes), and therefore do not have access to a ServletConfig and, consequently, cannot access the ServletContext. Of course, I could stuff a reference to the ServletContext in every HttpServletRequest before passing it on to the helpers, but that doesn't seem "clean."
    So, to summarize this lengthy inquiry,
    (1) How can helper classes (i.e., not Servlets) access the Web application context (ServletContext)?
    (2) What are the advantages/disadvantages to using JNDI to expose resources, versus simply storing objects in the ServletContext object, when trying to make resources available throughout a single Web application?
    Thanks!
    - Scott
    [email protected]

    Right you deal two problems:
    1 The passing of servletcontext to helper classes. You can avoid this by creating a web application and storing it in a war file. You place all your servlets/jsp/helper classes in the war file according to a given structure. Each war file has a web.xml file. The web.xml file has all mappings between names in the program and the references to the objects. The web.xml can also have references between jndi names and references using the <env-entry> tag. There is only one servletcontext per web application. You can place all the information that both helper classes and servlets use e.g. jndi references into the web.xml. It is possible for the servletcontext and helper classes to refer to the same web.xml.So you have no need to exchange a servletContext reference around. See information on servletcontext interface:
    http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletContext.html
    Second the question of isolating Datasources between applications. Could you not password protect the datasources so that access is only permissible if you have the correct password? Hence you can control the use of the datasource.
    There are a number of tools to create a war application and to add jndi references to a war file.
    You can use the graphical deployment tool from Sun's J2EE implementation.
    All details for creating a war file are: http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents3.html
    There are facilites to register environment variables like DataSources using the tool - look in the J2EE tutorial under configuring web clients.
    Or you can use the packager tool found in Sun's J2EE application:
    http://java.sun.com/j2ee/j2sdkee/techdocs/guides/ejb/html/Tools7.html
    You can then port these war files onto tomcat to be hosted.
    You will need to download the J2EE implementation.
    For information on how to structure your web application and create a war file see: http://java.sun.com/j2ee/j2sdkee/techdocs/guides/ejb/html/Tools7.html
    All information to create J2EE components:
    http://developer.java.sun.com/developer/onlineTraining/J2EE/Intro/
    Hope this helps.

  • Trouble with Solaris 10 install on SunBlade 100 using Media CDs from Sun

    Hello World,
    My SunBlade 100 was not reading various burned Solaris 10 media, so I purchased the media kit from Sun. The installation is successful up until the point where it asks for CD2. I didn't even hear the drive spin when I clicked "Next" after inserting CD2.
    I know it is not the CD drive since it obviously works for CD1. It is also not an intermittent problem with the CD drive because CD1 works each time I run the install. I also don't think it is the media since CD2 went right from the factory envelope to my CD drive.
    So:
    1. Has anyone encountered something like this?
    2. Can I resume the installation from the command line?
    Many Thanks,
    Greg

    Actually ...
    Yes, it can be the optical drive.
    Those factory shipped drives in the SB100's were prone to spontaneously failing, one minute to the next.
    Additionally the CD's are actually written differently, whether they are the bootable ones in the set versus the non-bootable CDs in the set.
    Data track layouts are different.
    The optical drive could commonly have difficulty reading every disk you ever insert into it.
    Borrow a replacement drive from a PeeCee.
    Jumper it the same as the current drive and just use it.
    If that works, then go buy a replacement.
    Optical read-only drives are laughably cheap.
    Optical read/write DVD drives are inexpensive, as well.

  • Help on Sun Certified Developer for Java Web Services (CX-310-220) exam

    Hi,
    I am planing for Sun Certified Developer for Java Web Services (CX-310-220) certification. Can anyone provide me the links for resouces? can anyone provide me books/publications/author best preparation material to score good marks in exam? can anyone provide me the download resources available over internet?
    thanks in advance..!!!
    regards
    gaveesha

    yes, that's the only decent book covering most of the exam curiculum (but NOT all of it, check the exam specs versus the book content to know what you are missing).
    I'm working on the same material, and boy is it a lot...
    Dry, boring stuff most of it.

  • Sun Certified Developer for Java Web Services (CX-310-220)

    Hello All,
    I'm planning to study for Sun Certified Developer for Java Web Services (CX-310-220). I really appreciate any help in suggesting the books and the material requiered for the above certification.
    Thanks,
    Greeshma...

    yes, that's the only decent book covering most of the exam curiculum (but NOT all of it, check the exam specs versus the book content to know what you are missing).
    I'm working on the same material, and boy is it a lot...
    Dry, boring stuff most of it.

  • I am planing for Sun Certified Developer for Java Web Services (CX-310-220)

    Hi,
    I am planing for Sun Certified Developer for Java Web Services (CX-310-220) certification. Can anyone please provide me the resources for preparation?
    Can anyone suggest me which books/author/publications best helps me to get good results in exam? Any books/author/publications available over internet to download and prepare?
    regards
    gaveesha

    yes, that's the only decent book covering most of the exam curiculum (but NOT all of it, check the exam specs versus the book content to know what you are missing).
    I'm working on the same material, and boy is it a lot...
    Dry, boring stuff most of it.

  • Java 1.1.x versus 1.4.x

    Hi,
    I am interested is the differents between Java 1.1 versus 1.4. I can imagine that 1.4 would be better because of Swing and XML etc. but what is more important to me is to know if 1.4 is more stable, faster, reliable, etc then 1.1.
    Also it is known that Swing classes aren't thread safe. Is this still an issue in 1.4?
    Can anyone also point me some articles or whitepapers were people investigated the differences?
    Kinds Regards,
    Arno

    I don't know how stable 1.4 is, but you can use 1.3.1 instead if you are in doubt and wait for 1.4.1.
    The only reason why you would want to use 1.1.x, is that it can run in the old browsers without a plugin. 1.2-1.4 has the same classes as 1.1, plus many more new features.
    I don't really feel that swing is faster than awt, it is at least slower to start a swing gui than a gui build with awt components only, probably because the swing gui needs to load many more classes. But you can do much more with swing without making customized components.
    If you want to know what the new features are from one release to another, check the docs:
    http://java.sun.com/products/jdk/1.2/docs/relnotes/features.html
    http://java.sun.com/products/jdk/1.3/docs/relnotes/features.html
    http://java.sun.com/j2se/1.4/docs/relnotes/features.html

Maybe you are looking for

  • Dual external monitors

    I was wondering is it possible to hook up dual 20" dell Ultrasharp monitors to my 15" macbook pro and if I am planning on gaming on them is it neccesary to have the 256mb of Vram or is 128mb good?I will have the screen on my macbook pro closed so it

  • How can I get Finder to show me hidden folders I know are there?

    Does anyone know how to make hidden folders visible like in Windows, or if there is even a way at all? A few weeks ago my iPod kind of crashed and I lost my library, but the files are still on it. Anyone who is familiar with Windows knows you can jus

  • Calling Sql*Loader from oracle Form builder

    How do i call sql* loader from my forms to import the external data in different formats into my existing database? Specify the flexibility of sql* loader to import external data from .txt files or .xls files. Would be thankful if certain examples ar

  • Why is Firefox running slow with version 17?

    Hello there I was wondering whether you could please assist me with an issue with version 17. I have recently updated to firefox 17 and i regret to advise that its running really really slow. I notice several other users have had similar issues as I

  • How to exam archive logs

    System filled up archive-logs disk unexpectedly. This may caused by some unknown application process. How can I tracking this?