Aplicativo .NET de aquecimento

3

Temos problemas de velocidade no ambiente corporativo.

A maioria dos portáteis é strongmente carregada: o tempo de inicialização do Excel é de 3 a 5 minutos, o Outlook 10 a 15 minutos, etc.

Nossa aplicação tem o mesmo tempo de inicialização, em vez dos 10-20 segundos normais. Se uma vez iniciado, após o reinício do programa, funciona bem.

Como é possível aquecer nossa aplicação?

Minha primeira tentativa foi escrever um pequeno script e executá-lo antes de iniciar o aplicativo:

  • conecte-se ao SQL Server local e obtenha alguns dados
  • assemblies de pré-carregamento
  • ???

Mas acho que não é o suficiente - ou totalmente um erro.

Editar:

Eles possuem notebooks IBM Thinkpad X40 com 1 GB de RAM. Especializado Windows XP instalado (eu acho que este + instaladores em segundo plano são a raiz de todos os nossos problemas).

    
por boj 12.11.2009 / 18:04

10 respostas

8

Se as máquinas estiverem com esse excesso de potência, eu argumentaria com seus superiores que os problemas estão nas provisões de TI das empresas para os funcionários. Eu diria que qualquer tempo de desenvolvimento gasto com isso seria mal gasto.

    
por 12.11.2009 / 18:13
6

Talvez um pouco ingênuo, mas ainda assim ... format & reinstal Windows: -)

    
por 12.11.2009 / 18:05
4

Talvez este seja um problema de perfil de roaming? Não sei sobre o seu programa, mas o Excel e o Outlook fazem uso significativo da pasta Usuário, que provavelmente está armazenada em algum lugar da sua rede corporativa para cada conta do Active Directory. Meu palpite é que a rede ou o sistema de armazenamento é muito lento para seus mais de 300 usuários.

    
por 12.11.2009 / 19:03
3

O que você quer dizer com carga pesada?

De seus sintomas, o problema pode ser que eles não têm RAM suficiente. Nesse caso, quando você inicia seus aplicativos, eles terão que trocar aplicativos anteriormente em execução na memória virtual.

Quando você fechar esse aplicativo e reiniciá-lo imediatamente, você terá RAM livre para que ele seja reiniciado rapidamente.

Mas não adiantará se você fizer outra coisa, ie abrir o Outlook, fechar o Outlook, abrir o Excel - fazer algum trabalho, então se você abrir o Outlook novamente ele não abrirá rapidamente, ou seja, sua sugestão original para tentar e abrir e fechar automaticamente seu aplicativo (no boot?) não ajudará.

    
por 12.11.2009 / 18:09
3

Aqui está um bom artigo sobre como acelerar a hora de início de um aplicativo.

Melhorando o tempo de inicialização do aplicativo

Over the few past months, the CLR performance team met with several customers to investigate performance issues in some of their applications. One recurring problem was client application startup time. So in this column, I'll present lessons we learned analyzing these applications.

Planning for Performance Your success in reaching your performance goals depends on the process you will be using. A good process can help you achieve the level of performance you need. These four simple rules will help:

    
por 12.11.2009 / 18:11
2

Você também deve considerar montagens nativas otimizadas distribuídas que levarão algum trabalho fora do JIT no tempo de inicialização / início do ciclo de vida do aplicativo.

Dê uma olhada no NGEN, ele basicamente faz o JIT em tempo de compilação e outras magias de pré-carregamento!

link

Felicidades, Florian

    
por 12.11.2009 / 19:07
1

Você ou alguém com alguma influência deve ser capaz de fazer um caso sólido para o gerenciamento de perda de produtividade por causa dos tempos de inicialização exorbitantes. Deve ficar claro que, em pouquíssimo tempo, o custo de atualização da RAM se pagaria com o aumento da produtividade. Caramba, se você tem que esperar 15 minutos quatro vezes por dia (uma estimativa conservadora, tenho certeza), você perde 12,5% do seu dia de trabalho TODOS OS DIAS. Multiplique isso por 300 laptops e ...

Oh - você deve trabalhar para uma agência federal!

    
por 12.11.2009 / 18:23
1

Quais são as métricas que você vê no Gerenciador de Tarefas?

Qual processo está consumindo mais CPU?

Quais processos estão consumindo RAM?

Existe um anti-vírus sendo executado em segundo plano fazendo uma varredura completa toda vez que um computador é iniciado?

quantas falhas de página por quais processos?

O que é a configuração de computadores e quais softwares?

    
por 12.11.2009 / 18:26
1

existem maneiras de descobrir a estrutura, o sistema e vários programas. ambos Excluindo lixo desnecessário que está em todo o sistema e desativando "recursos" que geralmente não são recursos. se eu estivesse em sua situação, eu pegaria UM, e o derrotaria, e cada vez que encontrasse itens de gula e lacrimosidade, escreveria isso no meu roteiro simples. ambos fora do registro usando lotes de remoção muito simples e fora dos discos e fora da inicialização e lixo de serviços. então eu testaria a fórmula criada na máquina que eu tinha, então pegaria emprestado mais um porquinho e também removeria sua gordura. adicione a verificação dos tipos e parâmetros de conexão de rede para conexões de rede.

uma vez que eu tinha certeza da operação completa sem belotion e preguiça, eu iria executar um backup rápido em cada máquina, em seguida, fazer o lipoaspiração para ele, e testar o seu funcionamento. um por um, entregando novamente aos usuários uma máquina viável. uma vez que a palavra saísse, eles estariam se reunindo para que você os fizesse em seguida.

    
por 10.08.2010 / 03:55
0

Como Simon sugeriu acima, isso não deve ser o tipo de problema que você tenta resolver usando um script de aquecimento. Eu sugeriria atualizações sérias de hardware e software. Eu quero dizer 15 minutos para começar o Outlook?

    
por 12.11.2009 / 18:10