In our own testing we’ve tried it with 250 instances without any issues but it will also depends how many managed certificates each instance is working with.
The hub uses SignalR connections (web sockets, outgoing from each client to the hub API) to maintain communication with instances and I think you could start to need to adapt configuration once you get to about 1000 instances but we haven’t tested at that scale yet and it’ll depend if you hub is running on Windows or other platforms. For scale testing we find it easiest to spin up linux containers in docker etc.
A basic hub runs on about 150MB or so of RAM. CPU isn’t really an issue. We recently also tested with 10,000 managed certificates on a single instance and I think that used about 3.5 GB of ram at peak.
Also if you are running mainly with Windows hosts it’s beneficial to also have your hub be running on Windows, that way you can use windows specific functionality.