falls Sie sich wundern sollten,
warum eine Firma statt einer Tomcat-Instanz soviele auf einem
Server nutzt ...
Rony G. Flatscher
-------- Forwarded Message
--------
-----Original Message-----
From: Shawn Heisey <apache@elyograg.org>
Sent: Saturday, June 26, 2021 8:09 PM
To: users@tomcat.apache.org
Subject: Re: 500 instances of tomcat on the same server
On 6/25/2021 8:58 PM, 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?
I'm a lurker here. I have some experience with Tomcat, but most of my
experience is with other Apache projects.
I'm hoping that my question mirrors what the experienced folks around here
are thinking:
For something like this ... why are you running so many multiple instances?
Why not run one instance, or a few of them, and have each one handle many
many webapps? I bet you'll find that the overall memory requirements go
way down, because there will be far fewer instances of Java running.
Maybe you've got good reasons for the architecture you have chosen ...
but it seems like a complete waste of resources to me.
Thanks,
Shawn
Hi Shawn --
We architected it that way many years ago and have always been
happy with our early decisions. By running separate tomcats, each
from a separate folder and listening on a unique port, we are able
to perform maintenance on individual customer's instances, stop
and start services, etc., without impacting other customers. We
can customize tomcat settings and configurations to customer
needs, fine-tune per-customer memory usage, run different versions
of tomcat and JDK, create customer-specific security sandboxes,
per-customer filesystem permissions, samba shares, etc., and move
entire instances around the farm to distribute load as needed.
Errors and problems are easier to track down because the tomcat
and webapps logs are in separate folders unique to each instance.
If Customer A is having an issue with their application, we know
that everything associated with their application, including all
settings and logs, are in a folder dedicated to them.
-Eric