Рабочие процессы - это способ сегментировать выполнение вашего веб-сайта по нескольким исполняемым файлам. Вы делаете это по нескольким причинам, одна из которых, если один из рабочих забит из-за проблем во время выполнения, не останавливает остальных. Например, если поступает html-запрос, который приводит к тому, что процесс не выполняется, тогда уничтожаются только другие запросы, обрабатываемые этим одним рабочим процессором. Другой пример: один запрос может привести к блокировке других потоков, обрабатываемых одним и тем же работником.
Насколько вам нужно, проведите нагрузочное тестирование. Хит приложение сильно и посмотреть, что происходит только с одним. Затем добавьте еще немного и нажмите снова. В какой-то момент вы достигнете точки насыщения сети компьютеров, дисков, процессоров и оперативной памяти. Вот когда вы знаете, что у вас правильный баланс.
Кстати, вы можете контролировать количество потоков, используемых на рабочий процесс, через файл machine.config. Я полагаю, ключом является maxWorkerThreads.
Теперь, будьте осторожны, если вы используете сеанс, состояние сеанса не разделяется между рабочими процессами. Я вообще все равно рекомендую избегать сессии, но это то, что нужно учитывать.
Для всех намерений и целей вы можете рассматривать каждый рабочий процесс как отдельный веб-сервер. За исключением того, что они работают на одной коробке.