I need to do hardware sizing (CPU cores, RAM) for a Spring boot application which will be running on Tomcat web-server. The application, to be built from scratch, does not have front-end. It is primarily controller-service-persistence with PostgreSQL as database, exposing the server as REST APIs.
Performance metrics for Production :
Appl. response time < 10msec
Concurrent users - max 5000
Data size upto 100 MB, audit logs - upto 1TB.
If we have a cluster of 3 nodes, how do I arrive at the CPU, RAM requirement for each node? It can be an approx. +- 20%.
I saw some links on stackoverflow in similar topics where solution was : You need to create some load e.g. using Jmeter for a realistic work load of requests and users. Most likely you need to test for 20, 40, 60...users until the system doesn't perform so well.
How do I create load where application is yet to be developed? Is there any rule-of-thumb for an approx. starting point?