O problema foi que as permissões estavam erradas na pasta em que o PHP mantém os arquivos da sessão (sess_ ). A coleta de lixo nunca funcionou desde que implementamos esse servidor ou funcionou por algum tempo, mas alteramos a identidade do Pool de Aplicativos ou algo assim para que a nova identidade não tivesse acesso para excluir arquivos. De qualquer forma, tínhamos mais de 2 milhões dos arquivos sess_ nessa pasta temporária. Demorou algumas horas, mas eventualmente um comando "del / F / Qsess_ " foi concluído, reiniciamos o site e tudo voltou a ser excelente (de um tempo médio de carregamento de página de 60 segundos a muito menos de 1 segundo ). Eu não sei se isso corrigiu o problema "todos os processos cgi-php.exe combinados nunca usam mais de um núcleo combinado" problema ou não, mas faria sentido para mim que o mecanismo dentro da implementação do PHP do Windows que cria os arquivos sess_ pode ser projetado de tal forma a ter causado esse fenômeno também (se for single-apartment threaded, por exemplo).
De qualquer forma, a moral da história é se você estiver vendo um aumento muito lento e constante no consumo de CPU (que talvez se estabilize em 100% de um único núcleo) e o tempo de resposta http também aumente lentamente, verifique a pasta onde você armazena seus arquivos de sessão do php (sess_ *) e vê se o Windows Explorer falha quando você abre a pasta! :)
(A propósito, é W2k8 (não R2), então acho que é o IIS 7 não 7.5)