If you have scaling issues, your first step should be to put a reverse proxy up so that your FastCGI processes are not wasting time talking to slow clients.
After you've done that, provision resources as follows. Figure out how big your FastCGI processes are. Decide how much RAM you wish to dedicate to FastCGI. The number of processes that you should spin up per box should be RAM/(size + some safety buffer). The number of machines you should have should be based on your peak usage plus some amount of headroom for growth, spikes, etc, with a fixed number of extra machines for failover in case a machine crashes.
If you have less than a million dynamic pages/hour and a reasonably written application, odds are good that the number of machines you will need is more determined by provisioning for failover than it is by the resources needed to meet your load.