tags:

views:

7514

answers:

9

Does anyone have any performance tips or other help for local development with websphere and rad. I am using one web app of moderate size (1000? classes) and it is impossible to handle the app locally on a windows box. The websphere 6.1 configuration uses the default configs. RAD7 is configured to handle a max heap of 1024mb. I thought about increasing the heap of the server. at present the min and max are 128/300mb.

In terms of the unresponsive. Sometimes it may take minutes to load a page, if the page loads at all. Also, I disabled "Build Automatically" and Publish Automatically. Maybe those should be turned on?

+3  A: 

I'm not sure about RAD7 but from my past experience, I'd suggest to give MyEclipse Blue a try.

Since that might not be an option, here are some other usual culprits, you can check:

  • How much RAM does your machine have? It's good to give WS 1GB of RAM but if your computer only has 1GB of real RAM, it's going to swap itself to death. If your boss won't pay for it, go get some RAM with your own money. 2GB are less than $80 ATM. I suggest to get at least 4GB. Yes, Windows can only use 3.5GB even when 4 are installed but that half GB costs $20 or less. Even thinking about this for more than five minutes will cost more than simply buying it.

  • Next make sure whether you are using the correct Java GC options. There should be some info about this in the docs. Plus make sure that the process uses the "jvm.dll" from the "server" directory, not the "client" one. "Process Explorer" will help.

  • Since I'm not using RAD, I'm not 100% sure about "Build Automatically" and "Publish Automatically" but since RAD7 is based on Eclipse, these options will compile code in the background as you type. This will greatly reduce the time between you saving your last change and the moment the app server can start to load the new code.

  • When all else fails, run websphere in a profiler and look where it spends all the time.

Aaron Digulla
+2  A: 

Aaron had great advice.

I would also suggest using JConsole to see what is going on, to help you determine if you need more memory, larger heap size, etc. My experience with running Websphere and RAD locally is that it will be slow, but then I was on an old machine that needed more memory. :) http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

James Black
+2  A: 

Berlin,

RAD 7 saps your PC! When I was using it to develop Portlets, I followed this optimization guide and it made the IDE significantly quicker to develop Portlets in. Obviously it is aimed at Portlet development but it might help you.

Also following the advice given to the answer to this question will also help.

RichardOD
+1  A: 

hehe, we had the same problem with RAD6 and Websphere 6.

The way we speeded things up is moved to Eclipse and JBoss.

We developed on Eclipse and JBoss and then first round of testing was on Websphere. We had some issues with the differences but would never had completed the project were it not for out switch (a lot fewer issues than deving on RAD/WAS).

But to help you in the mean time...

  1. Definitely, probably want build automatically and publish automatically off. That way you can make a bunch of changes and then tell RAD to compile and deploy while you go and get coffee.
  2. There is a "run in dev mode" in Websphere (I know there was for 6.0) so track that down and turn it on (it's on the WAS console somewhere)

  3. I found WAS's on stack replacement to work fairly well. I found that at the beginning of the day I'd deploy to WAS and then not have to redeploy at least until lunch time (as I was debugging). I would make changes and the changes would be fed to the server without my having to redeploy.

  4. Chances are, even after running the profiler you'll find there's nothing much that you can do..

  5. Turn off all validations (in RAD), they tend to take forever.

  6. Depending on what you're doing with EE investigate the possibility of deving on another IDE/Server combo, maybe you can do the bulk of your work in there and then deploy from RAD/WAS to do some final testing. If you're using vanilla ejb's or web services this is feasible.

  7. That max heap does sound a bit small to me. The suggestion to fire up JConsole is a good one cause it will tell you how much heap is being used, though I'm not sure if it will work on the IBM vm (RAD's). You might try and turn on the memory usage monitor in RAD, tells you how much memory is being used, that way you can tell if it's hitting the max.

Michael Wiles
+3  A: 

I definitely agree with Aaron Digulla. You will see a major performance improvement with 4GB RAM installed on your development machine. I developed an Eclipse/RAD plugin with some buddies of mine and we were able to measure how much time we saved by upgrading from 2GB to 4GB.

The plugin is available here: http://lopb.org/

After gathering some hard numbers on how much time we spent waiting for publishing and loading the app on our 2GB development machines, we were able to convince management to upgrade the rest of the developers on the team.

Anyway, you should really consider upgrading to 4GB if you want to run RAD 7 and Websphere 6 on the same development machine. Each one needs -Xms=512m -Xmx=1024m as JVM args to run well, and that means you will swap to disk way too much if you only have 2GB of RAM or less. HTH

+2  A: 

Make sure your running was in development mode for your development and testing.

Option is under the server in the console.

Karl

Karl
+3  A: 

I found the following artical on ibms site usefull. http://www.ibm.com/developerworks/rational/library/05/517_radtip/

David Waters
+1  A: 

JConsole will not work without specifically enabling it via a JVM command line switch.

Suggestions from Michael Wiles sound reasonable but please update your RAD first to the latest FixPack available.

You can also contact support.

Michael
A: 

I recommend this list of RAD related tips: http://www.ibm.com/developerworks/rational/library/05/517_radtip/

Ma99uS
This link was already posted back in October: http://stackoverflow.com/questions/863127/ibm-rad-rational-application-developer-7-and-websphere-6-1-slow-and-unresponsiv/1508713#1508713
Christopher Parker