views:

109

answers:

2

We will be deploying a production application to Amazon EC2 very shortly. Initially, we'll just be using a "small" instance, but have plans to scale up not long afterwards. My question is, has any investigation been done on JVM tuning for the EC2 environment? Are there any specific changes that we should make to our JVM parameters to compensate for quirks/characteristics of Amazon EC2? Or, do the normal tuning methodologies apply here as they would in a physical environment?

Our application will be deployed on Tomcat 6.x. It is built using JBoss Seam 2.2.x, and uses PostgreSQL 8.x as the backend database. Any advice you can give is greatly appreciated!

+1  A: 

You have to do nothing specific to EC2 instancs (and can't), just normal JVM- and GC-tuning.

Tobias P.
+1  A: 

One thing you can do if you are concerned is to install this free java performance tuning/troubleshooting tool on your ec2 jvm instance. www.appdynamics.com/free it has been proven by companies to work well with jboss and tomcat in the ec2. This tool does 3 main things - 1) discovers the underlying business transactions to monitor in your application, 2) captures any bad requests (slow, very slow, stalls, errors) and 3) allows you to start a deep diagnostic session if you see a pattern of bad performance and give you data to determine the root cause. the diagnostic data includes sql performance metrics, code hotspots, and call graphs with class/method level performance metrics.

Steve Roop