Java Performance Tuning
Java(TM) - see bottom of page
Our valued sponsors who help make this site possible
JProfiler: Get rid of your performance problems and memory leaks!
Training online: Concurrency, Threading, GC, Advanced Java and more ...
News August 2013
JProfiler
|
Get rid of your performance problems and memory leaks!
|
JProfiler
|
Get rid of your performance problems and memory leaks!
|
|
|
Back to newsletter 153 contents
Load on the server is NOT a measure of user performance. For example,
if a user's session gets killed or frozen, that reduces the load on
the server. But for sure performance has not improved for that user.
To take this to extreme, if all the user sessions freeze or die (or
any combination of those two), load on the server looks magnificently
low, but performance has gone to pot. Yet I continue to find operations
groups who use load on the server as a proxy for what they think must
be user experience. "Are you sure there's a problem? we can't see any
load on the server." is the typical response. "Please try again".
A note from this newsletter's sponsor
ManageEngine: Application Performance Management for Java EE Apps.
Monitor App Servers: JBoss, WebSphere, WebLogic, JVMs and JMX Apps.
*** Monitor up to 25 App Servers, Databases & Servers at $795/Yr***.
Trying again is even a reasonable suggestion, many problems are from
a glitch in a session somewhere which caused the session to freeze or
die. The 'IT Crowd' running joke "have you turned it off and on again"
is a reasonable suggestion to many glitches. In a browser most people
will refresh the page when it hasn't appeared after about four seconds;
or click a button again if they see no response from clicking it the
first time. But if "try again" works, that doesn't mean you've solved
the issue, it means you've just worked around it. Most operations are
happy to leave it there, and most users are equally happy, after all
it's working now and that's mainly what matters. But there's a glitch
somewhere, and glitches tend to come back when you least want them,
especially under load when it can make things even worse on your
system (hanging connections from abandoned sessions that have been
restarted has caused more than one server to run out of resources).
All of this means you need to measure user performance from the user
side. That way you can see when user performance is bad; and you can
detect any widespread glitches that users are working around with
restarts, which can come back to bite you when you don't have the
capacity to handle lots of user restarts. And that user performance
measurement and reporting needs to be built in to your application,
not simulated or inferred. If you aren't measuring user performance
from the user perspective, you are missing the most important metric
in your system.
Now on to all our usual links to Java performance tools, news,
articles and, as ever, all the
extracted tips from all of this
month's referenced articles.
A note from this newsletter's sponsor
New Relic - Try New Relic today and get your free Data Nerd shirt!
Free SaaS APM tool to monitor, troubleshoot, and tune apps
running on Websphere, Weblogic, Tomcat, Jetty, JBoss, Solr, Resin
News
Java performance tuning related news.
- Bing does hundreds of experiments on users every day, including degrading service, to find what is most important - for example deliberately slowing responses showed that every 100ms improvement in response time improved revenue by 0.6%
- Takipi JVM monitor, now includes Garbage Collection Analysis
- The relationship between heap used and native memory used is complex: heap used+perm used+(threads*thread stack size)+some more for other things like garbage collector extra space, JIT compilation space + code caches, dirrect buffers, JNI space, and some other spaces. Use top (Linux), Activity Monitor (OSX), Task Manager (Windows) to get the OS memory usage; and vmmap (OSX), pmap (Linux), sysinternals VMMap (Windows) to break down how the OS memory is allocated
- Nice explanation of the G1 garbage collector at work. Also a useful note to keep in mind that CMS will always eventually get a concurrent mode failure (so a long full GC of approx 1 second per GB) unless you don't fill tenured space
Tools
Java performance tuning related tools.
A note from this newsletter's sponsor
Get total visibility in just 15 minutes with AppDynamics Lite,
A performance monitoring tool for Java/.NET apps.
It installs in minutes and it's free forever. Download AppDynamics Lite today.
Articles
Jack Shirazi
Back to newsletter 153 contents
Last Updated: 2025-03-25
Copyright © 2000-2025 Fasterj.com. All Rights Reserved.
All trademarks and registered trademarks appearing on JavaPerformanceTuning.com are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. JavaPerformanceTuning.com is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
URL: http://www.JavaPerformanceTuning.com/news/news153.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us