We have developed a application using strut2 and tomcat 5.5 application server.
Some time in our intranet our application does not open .And some times its open very fast.
When dealing with performance issue the best approach is "Divide & Rule"
Separate out individuals modules and note the time taken by each module as your request flows thru the application.
1. Check the time in server logs taken for each module. Best thing is to log em.
2. DB calls should be timed separately . (Run the query stand alone directly in DB and record the time)
3. Try to isolate any network problems.
4. Memory issues can also lead to slowness. Adding JVM logging and check the logs for any Major GC events.
Actually the problem is that even our application home page not open at that point of time.
After that i always restart the server machine and after that our application runs perfect and so on...
You can check the Processes tab of Windows Task Manager, it gives you which process is eating resources and then in next step, you check why that process is eating the resources.
you can get a quick glance by looking at Performance tab of this window as well.
love your job and not your company;
...because you never know when your company will stop loving you!