A single ApisCP server can manage as many sites as resources permit. We've used
ApisCP to host over 1,250 domains on a 32 GB machine, but discourage this in favor
of multiple small servers:
-
There is diminishing marginal return with larger servers. Caches must be larger
to accommodate increase data, which is counterintuitive to an efficient cache. PHP
and MySQL especially suffer from retrograde performance as cache requirements
grow beyond 1 GB.
-
More sites draw more attacks; it's not uncommon for a server hosting 250 sites to block
over 2,500 IPs a day.
-
Hardware fails. Avoid single points of failure by distributing clients across
multiple servers. ApisCP provides monthly server summaries to help you
administrate.
-
Accounts create configuration that must load before a service starts. Increased startup
times hurt resiliency. In the case of MySQL, it can take over 5 minutes to start
on servers with many thousand InnoDB tables.
5 databases/site × 20 tables per database × 500 sites = 50,000 tables
While there is no set formula, we recommend no more than 250 accounts on a 16 GB server to
provide an elastic buffer for traffic surges. Whatever memory is not used for processing
is used by the kernel for caching. ApisCP is capable of maintaining itself and with a
proxied install, completely transparent to the user.