Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

How much CPU Power does a Java/Tomcat app need?

I tried posting the following to the tomcat-user list, but after not seeing it show up for 2 days, I'll just try it here.

I have developed a webapp that uses basic open source stuff (struts, hibernate,
etc.).  I've been developing/testing it on the following platforms - where it
works fine and runs lickedy-split:

OS X 10.3, 1.33 GHz, 1 GB RAM
Windows XP, 2.6 GHz, 1.5 GB RAM
Windows 2000 Server, 1 GHz, 512 MB RAM
Windows 2000 Server, 1.5 GHz, 256 MB RAM

All of these are running Tomcat 4.1.29 or 4.1.12.  I recently tried to deploy
it to the "test web server" (Windows 2000 Server) at my client and it runs 
dreadfully slow.  It takes almost 30 seconds to load a page.  The main difference
is that the test web server has a 667 MHz CPU.  It has 512 MB RAM, and we 
upgraded it to 1 GB, but that didn't help at all.  

I've recommended we get a faster CPU for the test web server, but I wanted to
confirm that this could be the source of the problem.  On this server, and the
1.5 GHz/256 MB RAM machine, IIS is integrated with Tomcat.  All machines are
running JDK 1.4.0 or above.

Any help is appreciated.

Posted in Java at Feb 05 2004, 07:38:05 AM MST 13 Comments

At home I run Roller on a P3 700 Mhz with 512 MB RAM - while it isn't lickity-split I've not had much reason for complaint (startup is the worst). Issues I've seen before had to do with running the DB on the same box (notably MSSQL) - again, I've not had problems running MySql on the same machine.

Posted by Lance on February 05, 2004 at 08:46 AM MST #

Given Lance's results, perhaps it would be worth checking the performance monitor on the server, and see if anything else (the OS or Database perhaps) is gobbling CPU cycles. If this Test Server is being used for other tasks that might account for the performance issues.

Posted by Sam Newman on February 05, 2004 at 09:33 AM MST #

The few times we've had these kinds of problems it has typically been related to antivirus software chugging through every bit run through the CPU. Running antivirus software on Windows-servers is... bad....

Posted by Rickard on February 05, 2004 at 09:52 AM MST #

Lance - are you running Roller on a Windows box? Thanks for the advice Rickard - I'll try turning the antivirus software off.

Posted by Matt Raible on February 05, 2004 at 10:07 AM MST #

I'm running a demo of my own weblog software at - P333, 256MB of ram. It has Tomcat 4.1.29, and MySQL running on the same box. It seems pretty speedy to me (The front page takes a few seconds for me to load, but I suspect that has more to do with trying to load it from another computer behind the same router). Although it is running on WindowsXP.

Posted by Will Gayther on February 05, 2004 at 10:37 AM MST #

I run deepBlack on Tomcat 4.1.24 and Apache 2 on a Linux box (733mhz PIII, 196mb RAM) which also is the db server, and I've had no performance issues. We also have plenty of test servers here at work which are using 500-733mhz PIIIs, and they're not blindingly fast, but they dont take 30 seconds either. We aren't using Windows though. Maybe the "Windows CPU tax" is just too much. :)

Posted by tim on February 05, 2004 at 10:52 AM MST #

Hi Matt - we run (Tomcat 5, Apache 2, mod_jk) on a dual 2.4 GHz CPU Linux box... a 30 second pause sounds pretty bad - maybe the web server is doing reverse DNS lookups before logging the incoming requests?

Posted by Tom Copeland on February 05, 2004 at 10:55 AM MST #

Trying it with a link this time...

Posted by Tom Copeland on February 05, 2004 at 10:55 AM MST #

My first thought was the same as Tom Copelands. You are probably doing a bunch of reverse lookups that are failing.

Posted by Sam Pullara on February 05, 2004 at 12:15 PM MST #

Set enabledLookups="false" in server.xml

Posted by Glen Stampoultzis on February 05, 2004 at 04:58 PM MST #

you gave the seepds of the machines as "Ghz" which does not scale the real life performance. For example a 2.2Ghz AthlonFx is faster than a 3.2Ghz P4.. Same for G5 processor.

Posted by ahmet on February 06, 2004 at 10:49 AM MST #

And the SQL DB config is? .V

Posted by Unknown on February 07, 2004 at 01:48 PM MST #

Guys, can't seem to find the doco reference to the enabledLookups option, is this available to Tomcat 3.3.1 ?

Posted by schow on June 18, 2004 at 06:11 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed