Liebe Studierende,
falls Sie sich wundern sollten, warum eine Firma statt einer Tomcat-Instanz soviele auf einem Server nutzt ...
Mit freundlichem Gruß
Rony G. Flatscher
-------- Forwarded Message -------- Subject: RE: 500 instances of tomcat on the same server Date: Sun, 27 Jun 2021 02:02:39 +0000 From: Eric Robinson eric.robinson@psmnv.com Reply-To: Tomcat Users List users@tomcat.apache.org To: Tomcat Users List users@tomcat.apache.org
-----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