Application Server Solutions for Microsoft IIS and ASP.NET
       solutions   products   partners   company   support   downloads         store
ServletExec Self-Help: FAQ
Back to Search >  Back to Search Results

Faq ID 387
Product ServletExec
Category Miscellaneous
Question What are some advantages of using ServletExec 6.0 AS instead of Tomcat 6?
  • With SE you get world-class technical support. If you encounter a problem installing or using ServletExec, just send email to 90% of the time we already know the solution to your problem. We can save you time and effort.
  • Many have asked about the performance differences between SE and Tomcat. We have no comparison benchmark numbers to give you. The performance you see will depend greatly on many factors including:
    • Your application (the code you are running inside SE)... how well it was written, what it does and how efficiently it does it. For example does your app connect to a database? If so how? By creating a brand new connection to the DB on every request? Or does it make use of a connection pool?
    • The hardware and network on which you are running things.
    • How you have things configured. For example is your JVM configured to run with the -server option? Have you given your JVM enough RAM to function efficiently?
    • The tool you are using to stress your application, and what that tool is requesting, and how it requests it. For example... see point #2 of SE FAQ #127.
    This is why we always recommend that you perform your own comparison tests, with your own application, in your own environment. Feel free to search the SE forums for anyone who has shared their own benchmarks. Or to post your own message on forum asking others to give their input on the matter.
    No one has ever reported to us that Tomcat is faster than SE. If your testing shows this to a significant degree, please let us know. There may be simple configuration changes you can make to resolve it.
Here is a list of *some* specific technical features of SE 6.0 AS (with latest hotfix applied) which we feel offer advantages over Tomcat. At the time of this writing it is our honest belief that Tomcat 6.0 does not offer these features. If you feel we are incorrect about any of these points, please let us know. We are happy to update this article accordingly:
  1. A web app that contains many large .jar files may suffer from slow startup times (in either Tomcat or SE). However SE provides a Jar Indexing feature that greatly improves the startup (and reload) time of such an app.
  2. When running Tomcat behind a commercial-grade webserver such as Apache or IIS, one must manually edit a file ( when adding or removing a web app context, and then cycle the websever so that mod_jk will re-read that file and know when to route requests over to Tomcat based on the new alias rules. This results in downtime for your web server. With SE AS this not needed since the part of SE AS that hooks into a commercial-grade webserver will automatically know when you've added or removed a webapp and will adjust it's routing rules accordingly without the need to cycle anything.
  3. ServletExec comes out-of-the-box with a special webapp named "default-app" which integrates very tightly with the external commercial-grade webserver (Apache or IIS). Some examples of this integration include: (1) Allowing the native webserver to serve static content which is potentially much faster than having the servlet/JSP engine do it. (2) Asking the webserver to give the file system location of requested dynamic content (a JSP page for example). This is especially useful if (for example) your IIS website makes use of Virtual Directories and you've placed content there, or if (another example) your Apache is making use of mod_rewrite in order to serve content out of non-document root locations that the servlet/JSP engine would otherwise not know about.
  4. ServletExec offers the ability to configure *any* webapp deployed on it (not just the default-app) to let the webserver serve its static content.
  5. ServletExec offers many additional session-related settings on a per-webapp basis. Normally the only session-related setting that you can set is the session timeout value (it governs the lifespan of all newly created sessions in your app). Enabling "ServletExec Extensions" for your app opens up the ability to configure many additional settings such as requiring that the session tracking cookie be secure.
  6. Out-of-the-box SE supports Pluggable Session Management including a bundled, ready-to-use custom session manager which stores sessions in a database of your choosing. We call this the JdbcSessionManager and it facilitates running multiple SE AS instances in a failover and/or load-balanced environment (behind multiple instances of IIS and/or Apache). In this way SE may be scaled to a High Availability environment, with no coding, or code changes (just configurations) required on your part.

company media information terms of use privacy policy contact us