Issue at hand:
I have a java application which is taking twice as long to run on DEV and QA Servers than on my local machine. When running the job on Dev and QA I’m getting times around 1:45 – 2:30 (hh:MM) compared to my local which is getting about 0:45 – 1:10. I’m trying to determine what could be causing slow performance of a java application on servers.
What I have looked into so far none providing an answer:
- Testing with same maxheap size
- Observing stress on cpu. Dev is idle about 75% of the time when running the batch application, so I don’t think this is an issue.
- Observing ram on Dev. Dev has more than enough memory to provide the JVM the specified maxHeap (128mb). If I understand correctly the available memory of the machine doesn’t matter as long as the MaxHeap size can be provided by the machine correct?
- Ensuring the version of java isn’t causing the issue.
- Set logging level same: “INFO”
- Processor: servers has 2.67GHz processor my local only has 2.19GHz
Additional Information.
- Server OS: Linux
- Local Computer OS: Windows
- Single threaded Java application.
- Application is reading and writing to text files and also has calls to a database(hibernate c3p0). These are my most/only expensive operations
I’ve scoured dozens of sites to determine a root cause but I haven’t been able to nail down what is causing the issue any help will be much appreciated.