Is there a limitation for publishing in ArcGIS Portal,
For example, the maximum number of ArcSoc.exe that can be published in ArcGIS Server is associated to machine resources as follows:
Recommended number of ArcSoc.exe ≤ 4 * number of cores
Recommended RAM size ≥ 3*number of cores
Normally the number of instances is configured at service level, depending on what the service does (long GP process or simply serving some pre-cached tiles) and allows for simultaneous processes to execute. This depends on the number of cores you have which is linked to the amount of cores you have licensed. It is not linked to a maximum amount of RAM or something like that. If you have a lot of services, keeping them "alive" with a minimum of 1 instance might result in a reduction of performance.
See: Anticipating and accommodating users—ArcGIS Server Administration (Linux) | ArcGIS Enterprise and better yet: Server Software Performance - GIS Wiki | The GIS Encyclopedia
Limitations for traditional services are CPU and RAM on the machine. As Xander Bakker mentions, your license will determine how far you can scale vertically, (just adding more resources). Overburdening the machine's CPU will lead to performance issues and potentially timeouts, but not having enough RAM will mean you can't start service instances, (for example spinning up another instance to accommodate load), publish new service, and system processes will be affected as well. The recommendations offered are good recommendations, but every deployment and every deployments services are different. One organization may be able to publish 50 services on a 4 CPU 16 GB RAM machine, but another organization can't due to the types of services, data within the services, and expected load. You should do performance testing and planning to ensure you have enough resources on the machine to handle the load and services you're looking to publish.
Once you have a hosting server, though, you can publish hosted services which are lightweight services that don't have a memory footprint and don't spin up a SOC process. You can publish thousands of these on a single machine.
Thank you guys for the input. This is very helpful.
I’m not sure if there are specific tools by which I can implement “performance testing” and see if machine resources can handle the published services. I’ve never been exposed to such tools.
There is a "tool" and it is called Capacity Planning Tool - GIS Wiki | The GIS Encyclopedia . However, it is certainly not a one-click tool and requires filling an Excel spreadsheet with quite a lot of data. Esri can help and provides professional services to do this for you.