If none of them are available, I guess you can as many as you like. If they are accessed, then your limitations are memory and processor. We typically deploy multi-user deployments with separate settings for each site, which means that for each site there is a separate cache architect. This means that each site uses more RAM for each instance of zope, but since it is infinite, this is not a problem for you. The CPU starts the game if they are often accessed. More requests require more cores to avoid lagging requests. The third aspect is the database. After all, if you record on these sites often enough, you will make the most of your zodb connection. This is not easy to do, since zodb requests are easy. However, if you did this, then you can work around this using relstorage and have replication.
source share