This content has been marked as final. Show 5 replies
This appears to be related to single versus multi-threaded processinng performance. Check out item #2 on this oracle blog:1 person found this helpful
I believe the other systems you have listed perform single threaded processing.
I think it may be one of the issue. But looking at ldd command output I think much more libarary getting called for a simple command in Solaris 10 (production env) then to the Solaris 9 (Test env).
Prompt> ldd /usr/bin/ls
libsec.so.1 => /lib/libsec.so.1
libc.so.1 => /lib/libc.so.1
libavl.so.1 => /lib/libavl.so.1
libm.so.2 => /lib/libm.so.2
prompt> ldd /usr/bin/ls
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
In solaris 10, I can see two library has been added to call ls command itself.
I have done truss on the program (In my original post) and observed that the times is taking after the system call fork abd it returns from it. And at the sample test environment does not take time.
Does this mean Solaris 10 (production env) trying to do something extra then test environment while forking the child process?
Is there a reason you are trying to compare metrics between 4 differing environments? They are all running different hardware with single and multi-threaded processing, so you will see different results. Regarding solaris 9 versus solaris 10 command library calls, command functionality can change between releases. Solaris 10 might have a more robust "ls" command which in turn calls more libraries (just a guess). I believe the commands you are using for your performance testing (incrementing an arithmetic variable in a loop, ls, etc) are single threaded.
I agree that these machines are with different hardware as well as of different version of OS. But these basic operations(expr etc) should have similar response time, isn't it? I mean I am trying to understand if by any change production environment has any glitch which caused this huge response time difference.
I can understand that SPARC T2 CMT technology would surely improve throughput in a multi-threaded environment (Which we really wants) but these basic simple commands response time must not changed for that.
Or can you suggest me any other way to find out if our production box is well tuned for a multi-theaded multi JVM application.
The v440 has 4 physical processors each running at 1593 MHz.
The t5220 has 1 physical processor (with up to 8 cores and 8 threads/core) running at 1165 MHz.
I have no experience with application performance tuning. Checking "prstat" output may be a good start to see what is being utilized on each box.