Alguém tem algum número de desempenho que compara o IIS e o .NET ao Cherokee e Mono?

8

Estou configurando um servidor de desenvolvimento e quero configurá-lo para servir páginas ASP.NET usando o Mono. Estou planejando usar o Cherokee e o Mono ( link ) e imagino se alguém fez algum teste de desempenho comparando o Pilha baseada em Unix para o Windows.

    
por Larry Smithmier 11.08.2010 / 01:22

2 respostas

7

Ao testar cargas de trabalho Mono / Linux vs .NET / Windows, é preciso lembrar que há mais em ação do que apenas o ambiente de tempo de execução.

Existem áreas nas quais o Linux tem um desempenho melhor que o Windows (a maioria das operações de IO e de rede tendem a ser mais rápidas para programas C semelhantes). Ao mesmo tempo, o .NET possui um coletor de lixo mais avançado e um compilador JIT mais avançado.

Quando se trata das bibliotecas de classes, realmente depende de quais caminhos de código você está usando. Como JacksonH disse em um post anterior, você pode clicar nos caminhos de código que foram otimizados em uma implementação, mas não no outro, e vice-versa.

Em cargas de trabalho do ASP.NET, é preciso lembrar que a configuração padrão encaminhará todos os pedidos recebidos para um único processo "trabalhador", mod_mono e Cherokee usam uma abordagem semelhante:

Muitos servidores HTTP para um mod-mono-server http: // mono-project .com / files / c / cc / Modmono-basic-setup.PNG

Pelo menos com o Apache, oferecemos suporte a um mecanismo no qual você pode dividir cargas de trabalho de aplicativos em vários funcionários, o que ajuda em cargas altas, pois evita bloqueios durante o processo e oferece a cada trabalhador um conjunto inteiro de threads:

Solicitações de roteamento para hosts ASP.NET diferentes com mod_mono http: // mono-project .com / arquivos / 9 / 9b / Modmono-multiple-servers.PNG Os detalhes sobre como configurar esta configuração estão disponíveis aqui:

link

    
por 12.08.2010 / 03:01
7

Isso é meio que uma não-resposta. No entanto, não há uma resposta real aqui. Infelizmente, essa coisa é altamente dependente de aplicativos. Seu aplicativo pode ter sucesso em algo que o Mono faz muito bem ou que você pode estar usando algo mal implementado ou com alguns bugs. Não é realmente um caso de Mono sendo X vezes mais lento / mais rápido que o IIS.

Minha sugestão é pegar seu aplicativo, implantá-lo em duas instâncias diferentes do EC2 (uma no Windows e outra no Mono) e fazer seu teste lá. Se você encontrar problemas importantes na instância Mono, informe-os e tentaremos melhorar as coisas.

Tudo o que foi dito, posso dizer por experiência pessoal que o Mono aspx tem um desempenho muito bom.

    
por 11.08.2010 / 04:08