I have ColdFusion 2018 running with 8 instances on a virtual 4 core server that has 16gigs of memory. Of those 8 instances, only 4 of those instances are usually being used at a time.
We are having a problem that when one of those instances are being used, it can sometimes use ALL the available resources of the server that it's running on (both the CPU and its memory). Sometimes the actions being done are intensive and can take take a while to finish, but it can make the entire server unresponsive to the point that we can't even get into the ColdFusion Administrator to start and stop the instance.
Are there settings someplace that can keep a single instance from overloading a server like this?
As a follow up to this - we think we may have found the underlying issue: our min and max JVM Heap size was too small. After adjusting those, the offending issue hasn't reoccurred.
Does anyone know of any documentation on optimal multi-instance configuration?
I don't think there's any documentation that's going to help you here. It's mostly a matter of identifying the memory footprint of the applications running within an instance, and making sure that instance then has enough memory to run those applications. Nowadays, memory is cheap enough that you can just use more than you need, so most people aren't going to go through this much effort. But the amount of memory you'd need for one instance in a multi-instance environment shouldn't be any different than the amount you'd need for that same instance in a single-instance environment running the same applications.
Note that separate instances don't prevent one instance from using all available I/O or disk, they only limit memory consumption.
Dave Watts, Eidolon LLC
I would use just the 4 instances I need. Also, for optimal allocation I would use, in the jvm.config file of each of the instances,
That way, the 4 instances will be allocated a maximum total of 12.2 GB. That is, 76% of the server's 16 GB total. Whatever the allocation, ensure that the total memory use of the instances does not exceed 80% of the server's memory.
After receiving your recommendations, we’ve increased our memory and made sure the instance memory doesn’t go over 80%. And these changes seems to be working very well; we havne't had any additional issues since these changes were made.
Thank you for the information.