I have set up Windows build nodes in awhile, but I do remember when I did I was only able to set 1 executor per node. Is this still true?
You can specify the executors of your node in his configuration.
Manage Jenkins -> Manage Nodes -> Configure Node -> Number of build processors
In environments where we only run scripts etc. we have one executor per core.
But if you have large build jobs and the performance is important for you, you should read this article from the jenkins documentation.
The architecting for scale calcs don't give a good calculation, just a starting point. It does not address how often your jobs are triggered. The answer really depends on what you are executing and how often. Are you doing process intensive work, I/O heavy of network heavy work? Do you have a CI pipeline trigger on every commit (and how often is that), or manual jobs?
We have over 9000 jobs of all flavours, from manual and CI check-in triggered builds (Java and JS) and pipelines, to nightly integration/regression jobs, file management jobs, analysis jobs, some sometime once in a blue moon jobs, some interact w/real hardware or simulate waits or wait for remote results processing. About 1000 jobs execute/day. We have win nodes, linux nodes, common pool and label restricted nodes, all VM based ans dedicated to Jenkins. We even have some VMs running two different agent/nodes on same VM, different settings, effectively overallocating, but not in practice.
The short answer is: start with one executor/core and load it up, measure your loads (cpu/io/net/duration) and see. How long does each job take by itself (100%) vs one of many in parallel? Is the aggregate faster or longer? Gow do the loads compare?
We found when we know what we are running, at specific times we can easily go 2 executors/core. Every now and then, just 2 memory intensive jobs will exhaust memory, even when just 2/4 executiors in use (bad luck, restart one).
This may all be different if all your agents are cloud-based or ephemeral.