Usando o IIS estou executando o Asp.net 4.5 e tentando encontrar uma maneira de melhorar os tempos de jit em uma máquina com múltiplos (8) núcleos. O teste que eu uso é o tempo de 100 páginas diferentes. A máquina que eu estou testando tudo isso é de 4 núcleos, 8 processadores lógicos.
O máximo que eu vejo csc ou w3p é 13%, então parece que ele está usando apenas 1 core. Eu li isso, já que o Asp.net 4.5 multicore jit está ativado por padrão. Ok, claro, ainda é apenas 13%. Eu li sobre ngen tentando isso ao longo de todos os dll no bin dir. Isso realmente não afetou o tempo, mas pelo perfView parece ter feito algo.
O antivírus está desativado no momento do teste.
Cronometragens de teste: após a primeira página ter sido carregada
• Prejuízo frio (primeira corrida) 10,25 min -
• Hot run (segunda corrida) 2,32 min -
• Ngen então primeiro executa 10,24 min
Perfview JitStats
Prejuízo no frio |
-Process CPU Time: 161,038 ms
-Total de métodos JIT compilados: 13.193
Total de compilação MSec JIT: 2.630
-JIT tempo de compilação como porcentagem do tempo total de CPU do processo: 1,6%
Este processo não usa a compilação JIT de plano de fundo
Ngen, em seguida, primeiro a correr
-Process CPU Time: 144,152 ms
-Total de métodos compilados JIT: 4,604
- Compilação MSI JIT total: 608
-JIT tempo de compilação como uma porcentagem do tempo total da CPU do processo: 0.4%
Este processo não usa a compilação JIT de plano de fundo.