my dog learned polymorphism
The moose likes Tomcat and the fly likes Improve Tomcat 6 responsiveness Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » Tomcat
Bookmark "Improve Tomcat 6 responsiveness" Watch "Improve Tomcat 6 responsiveness" New topic

Improve Tomcat 6 responsiveness

Purvesh Vora
Ranch Hand

Joined: Dec 10, 2003
Posts: 47
We have application which loads huge data for around 5 days. Each day data is around 500MB. We cache this data in terms of objects on the tomcat server.
And then when user hit it at times it loads 1 day data objects to the client.
We have Xmx set to 4GB.
At times the server becomes unresponsive with memory crossing 3.7GB and suddenly GC kicks in.
But even there are cases when the server is not using much memory it becomes very slow in responding.
There are 25 users of application.
At time we send one day data objects (500MB) to client.

Can you please help how to improve responsiveness with this.

Thanks in advance.

Misha Ver
Ranch Hand

Joined: Mar 03, 2008
Posts: 470
Large heap size could slow down an application. Which JVM do you use, what are others memory setting, how much memory you machine have.
Kees Jan Koster
JavaMonitor Support

Joined: Mar 31, 2009
Posts: 251
Dear Purvesh,

Sending 500MB to the client is going to be slow no matter what. I believe that you have to reconsider your data and see how you can aggregate the data into more manageable sizes. For example, you may be able to keep the entire set in RAM and then send smaller subsets to the client.

If you need to send that 500MB to the client, why use Tomcat? That's not what the web was made for, it will never perform.

Kees Jan

Java-monitor, JVM monitoring made easy <- right here on Java Ranch
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17410

Kees Jan Koster wrote:

If you need to send that 500MB to the client, why use Tomcat? That's not what the web was made for, it will never perform.

Whether or not it was "made for it", I worked at a company that sent 1GB of data nightly to a client over the Internet, and I don't think that was the only large client they did that for. However, they used FTP, not HTTP, so the overhead was a little less.

I'm not clear if this 500MB is total or for each one of the 25 users. For large-scale replication of large amounts of data, I'd check into BitTorrent instead of Tomcat.

An IDE is no substitute for an Intelligent Developer.
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
subject: Improve Tomcat 6 responsiveness
It's not a secret anymore!