O relacionamento entre o Pool de Aplicativos Máximo do Pool de Aplicativos do IIS e o Pool de Aplicativos de Serviços de Componentes

3

Estamos no processo de implantar um novo aplicativo em seu ambiente ao vivo.

Os servidores de aplicativos estão executando um aplicativo .NET hospedado no IIS que usa EntityFramework e faz várias chamadas para um aplicativo COM + que não seja .NET.

Conseguimos afetar o desempenho do código .NET puro, modificando o número de Máximo de Processos de Trabalho dentro do Pool de Aplicativos do IIS, mas minha pergunta é como o número de Processos de Trabalho se relaciona ao Tamanho do Conjunto de Aplicativos. em serviços de componentes? Coisas como:

  • deveríamos estar apontando para uma relação de 1 para 1 entre esses 2 valores?
  • devemos evitar vários threads de trabalho?

Qualquer insight recebido com gratidão ...

    
por qujck 23.12.2013 / 13:37

1 resposta

2

O número de processos de trabalho nos dois conjuntos não está diretamente relacionado. O que você precisa estabelecer é o tempo de permanência em cada pool. Portanto, se os trabalhadores do IIS estiverem ocupados e somente uma pequena parte do tempo total for gasta no aplicativo COM, os segmentos COM provavelmente não afunilarão o desempenho.

Tente medir o número de threads ativos em uma situação de estresse para determinar como controlar os tamanhos dos pools individuais.

Considere também que os processos de trabalho do IIS também são reciclados em critérios diferentes da utilização do processador. Isso pode afetar substancialmente sua capacidade de compartilhar dados entre invocações e pode subverter as tentativas de afetar strongmente o desempenho direto.

Você faria melhor para reduzir o custo de fazer o .NET para a ponte COM considerando um wrapper COM fino que pode agregar várias solicitações de uma única consulta .NET. Isso também pode ter o efeito colateral de consolidar vários métodos COM em um único thread do pool.

    
por 04.01.2014 / 14:47