On 28/06/2021 14:53, Christopher Schultz wrote:
Eric,

On 6/25/21 22:58, Eric Robinson wrote:
We can run 75 to 125 instances of tomcat on a single Linux server with 12 cores and 128GB RAM. It works great. CPU is around 25%, our
JVMs are not throwing OOMEs, iowait is minimal, and network traffic
is about 30Mbps. We're happy with the results.

Now we're upping the ante. We have a 48-core server with 1TB RAM, and
we're planning to run 600+ tomcat instances on it simultaneously.
What caveats or pitfalls should we watch out for? Are there any hard
limits that would prevent this from working as expected?
If you have the resources, I see no reason why this would present any problems.

On the other hand, what happens when you need to upgrade the OS on this beast? You are now talking about disturbing not 72-125 clients, but 600 of them.

If I had a beast like this, I'd run VMWare (or similar) on it, carve it up into virtual machines, and run fewer clients on each.... just for the sheer flexibility of it.
That just moves the goal posts. You'll have the same issue when the hypervisor needs updating (which admittedly may need a reboot less often than the OS).

If this is already a virtualized/cloud environment, then I think you're doing it wrong: don't provision one huge instance and use it for multiple clients. Instead, provision lots of small instances and use them for fewer (or even 1) at a time.

But it adds the overhead of an OS for each instance. And costs if you have to pay for that OS instance.

As always there are trade-offs to be made and the "right" answer will vary based on circumstances and what you are trying to optimize for. I do agree that, generally, more smaller instances will be a closer fit to more use cases but that is only a general answer.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to