This is what we use:
$passenger_instances = ceiling($::facts['processorcount'] * 1.5)
passenger_min_instances => $passenger_instances,
PassengerMaxPoolSize ${passenger_instances}
PassengerMaxRequestQueueSize 20
Do you know the passenger-status command? That helps to debug these issues.