5

I'd like to ask the Java pros here a question about my current study that I am about to do - what are the key contributors to the differences in efficiency of various servlet containers? I need to compare Tomcat/JBoss/Glassfish/Jetty etc. and I need to know what "factors" may affect the results in the most significant way? I am going to write mock applications for that purpose, so any recommendation for a Java feature/framework/library etc. that I might implement there so that I can greatly increase the load of the containers (actually the containers, I do not care about the load of the machine since I am going to run all the tests on the same machine of course), would be appreciated! I need the study to be as objective as possible. Thanks for any help guys!

4
  • JBoss AS runs Tomcat container and Jetty does the same, if I'm not mistaken. Why would you want to compare the effiency of the servlet containers? Commented May 27, 2011 at 7:15
  • That is hard to answer. There are many aspect worth of benchmarking and there are many possibilities to do so. I am afraid no useful answer to your question is possible unless you explain, what you want to learn from the gathered data. Perhaps start to explain this: Why are you doing that? Commented May 27, 2011 at 7:16
  • @The Elite Gentleman: Jetty is definitely not based on Tomcat, and while older versions of JBoss used Tomcat as web container, I'm not sure the current one does. Commented May 27, 2011 at 8:27
  • Well, I have to do that comparison because I got it as my research topic related to my diploma thesis. I know it's very academical and not much of use in practice, but anyway, it might be interesting to find out some results at least. Commented May 27, 2011 at 9:26

2 Answers 2

6

Some things that could tax a web container (apart from lots of requests, of course):

  • Working with a small heap (e.g. only 128 or 256 MB)
  • Passivating sessions (have large serializable objects in every session, too large to keep all in memory)
  • Serve static resources (lots of small ones, or some big ones)
  • Requests that fail (404 or server error)
  • JSPs that include a lot of other JSPs
  • Large number of different JSPs
  • Large number different servlet mappings
  • Large number of chained servlet filters
  • Large number of separate applications
  • Redeploying applications (make sure the apps themseves have no classloader leak)
Sign up to request clarification or add additional context in comments.

Comments

1

Some more parameters:

  1. Compression enabled
  2. Caching enabled
  3. Turing the buffer sizes

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.