tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: Tomcat Linux/Windows Performance Question
Date Sun, 28 Oct 2012 15:40:42 GMT
André Warnier wrote:
> Ashkan Rahmani wrote:
>> Hi,
>> Now I have a windows 2003 server and a Tomcat 6.x on it.
>> Our application has many many parts and it's very big.
>> Actually we are not happy with tomcat performance, (We are working very
>> hard on developing that software and improving
>> performance)  .
>> We want  to improve application performance (working on it now) and 
>> tomcat
>> (by tuning and we are doing now and using latest stable version) and
>> finally OS, for this we want to remove (damn) windows and come back to
>> centos 6 and maybe some hardware upgrade.
>> My question from you is: is here anyone have some experience with 
>> tomcat on
>> windows and Linux which running same things? which has better 
>> performance?
> Ashkan,
> I am not a fan of Windows myself, for various reasons.
> But,
> 1) there is no reason, in principle, for Tomcat to be slower on Windows 
> than on Linux, given comparable system resources.
> I believe that on this list, there are many people using Tomcat under 
> Windows, with satisfactory results.
> 2) given that you are apparently having performance problems, the order 
> of probability for where these problems are happening is :
>   - 94% : your application
>   - 5% : a server misconfiguration, in the sense that you are not giving 
> the Java JVM under which Tomcat is running, appropriate resources to run 
> your application
>   - 1% : all the other factors (including OS, hardware etc..)
> 3) nobody here knows your application.  So it belongs to you to identify 
> where you are having performance issues.  If you have some specific 
> questions about something which you think is strange behaviour in/by 
> Tomcat, then come here with these specific questions.
> Otherwise the help which anyone can provide is very limited.
> 4) "we are not happy with tomcat performance" and "We want  to improve 
> application performance" are phrases which do not mean anything by 
> themselves (just like "it does not work").  If you come back here to ask 
> for help, you should provide some specifics or hard figures.  Otherwise, 
> again, nobody will be able to help.

actually I'm not asking about application or tomcat.
I'm asking, Is there any meaning full performance difference between same
application on tomcat with same configuration on windows and linux (centos

Please respond to the list, not to the private address unless specifically asked to do so.

And you got one answer to that, see (1) above.

Think of it this way :
The process which is actually running when you run Tomcat, is a Java JVM.  And the Java 
JVM runs Tomcat.
There exist several JVM versions, for Windows or Linux or other platforms.  They are made

by the same people, and one main purpose of a JVM is to hide the platform differences, so

that Java applications can run unchanged, under any of these platforms.
The Java JVM developers work very hard to optimise each JVM for the platform under which 
it runs.  I am sure that if there was one platform under which the JVM systematically 
works better or worse than another, they would say so.  But they don't.
The Tomcat code is written in Java, and it is the same, no matter on which underlying 
platform it runs.  So there is also no difference there.

So basically what I'm saying is :
- given 2 similar hardware platforms (similar CPU, similar amount of RAM, similar disks 
etc..), one running Windows and one running Linux
- given the same type of JVM running on each one of them (for example, both being 
Oracle/Sun JVM's of the same level, both 32- or 64-bit)
- given the same amount of system resources given to these JVMs (same amount of RAM, same

percentage of CPU etc..), and the same JVM startup options
- given that the version of Tomcat is the same on both
- and given the same Tomcat application, and the same load put on that application by the


then the "performance" difference between them is likely to be very small, so small that 
it will be hard to measure, and so small that it pales in comparison to the impact that 
your application code will have.

In other words, if you are actually experiencing "performance issues" with your 
application under one platform, then spend more time looking at your application than at 
anything else.  And do not spend your time thinking that Windows or Linux makes the 
difference, because that is probably not the right subject at which to spend your time.

And I put "performance" between quotes above, because until you define what you actually 
mean by that, and before you indicate what exactly you mean by "performance issues" in 
your application, it is still very difficult to provide you with any useful help other 
than the above generalities.

This being said, it is still possible that your application runs a tight loop issuing 
millions of calls to some Java function which, due to the platform, is less than optimal.
But then again, only you would know this and could then bring a specific question about 
it, where someone may be able to help.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message