RE: 500 instances of tomcat on the same server

2021-06-26 Thread Eric Robinson


> -Original Message-
> From: Shawn Heisey 
> 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



Disclaimer : This email and any files transmitted with it are confidential and 
intended solely for intended recipients. If you are not the named addressee you 
should not disseminate, distribute, copy or alter this email. Any views or 
opinions presented in this email are solely those of the author and might not 
represent those of Physician Select Management. Warning: Although Physician 
Select Management has taken reasonable precautions to ensure no viruses are 
present in this email, the company cannot accept responsibility for any loss or 
damage arising from the use of this email or attachments.

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



Re: 500 instances of tomcat on the same server

2021-06-26 Thread Shawn Heisey

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

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