Reputation: 415
We make a Java EE Web Application that runs on TomEE and we sell it to different customers, my boss asked me yesterday if there's a way to calculate the application ROM, RAM and CPU requirements based on the the number of clients our customer is expecting to have daily.
Is there a tool or a technique to find this information?
The application is expected to receive, analyze and store electronic invoices.
Upvotes: 2
Views: 969
Reputation: 8827
This is almost entirely dependent on your application. TomEE itself is very lightweight, startup with no apps occurs in a few ms and the memory idle overhead is about ~20mb, depending on what features your application uses. TomEE generally is a constant factor when it comes to scalability.
The scientific way to calculate the production values for your application is to perform load testing experiments and monitor it with a profiler. Simulate a bunch of users with JMeter or Selenium IDE. Monitor your application via JMX and jvisualvm and track the histograms. Monitor your CPU, garbage collection cycles, and heap memory as you add users and figure out if application scales linearly or exponentially.
Good luck!
Upvotes: 4