Tomcat Performance Higher on Linux
Submitted by Ahmed Hashim on Fri, 2006-01-06 19:29.
As i told you by the end of the article [How to Install Tomcat on linux| http://www.egjug.org/tomcat_linux] that i found that the performance is much better and you can feel it from the first time, i found in [TheServerSide|http://www.theserverside.com] news the [comparison between Tomcat on Linux and windows| http://www.theserverside.com/news/thread.tss?thread_id=38377].
The comparison is split into two parts:
* [Performance and Distinct Error Handling under Memory Load| http://webperformance.com/library/reports/windows_vs_linux_part1/index.html]
* [Performance and Distinct Error Handling under Computational Load| http://webperformance.com/library/reports/windows_vs_linux_part2/index.html]
Conclusion from the first article
Here, we've noted the behavioral and performance differences for each
server up to, during, and after a bottleneck. Different bottlenecks will
of course have key indicators as to their cause. However, from the
end-user's point of view, many bottlenecks will end up being dealt with in
the same way. Some preliminary testing was performed afterwards by tweaking
the VM memory settings in order to remedy our performance slump, and verify
that it was in fact a memory limit. However, we do see indicators that the
VM must have been forced to block for otherwise background optimizations,
as the performance for both servers did eventually recover. In the next part
of this report, we will find that tuning the JVM memory parameters resolve
the performance slump that we saw in this round of testing, confirming that
the problem hit by this test was a memory limitation. Despite the specific
cause of our slump, it is not inconceivable that other performance pitfalls
will end up being dealt with in the same fashion.
Prior to reaching capacity, our Linux server showed it's ability to scale
subtly better, notably with a higher completed response rate. This trend
arises again after the servers have been able to recover from their
performance slump.
When our servlet found itself hitting memory limits of the app server,
the platforms had an opportunity to reveal different error
handling techniques.
Linux maintained it's lead over it's Windows counterpart, except when it
was forced to deal with the memory shortage. Users were potentially
forced to wait minutes or more for their page to complete loading. Potential
waits turned into repeated waits for users navigating through a
long sequence of pages.
Windows users saw a different story. Under the same memory shortage, the OS
was forced to turn away traffic, but delivered roughly the same number of
successful hits as our Linux server.





