Existe orientação para otimizar o desempenho de encadeamento do W2008R2?

2

Eu quero ter certeza de que minha caixa W2008R2 tem menos interrupções possíveis e interruptores de contexto nos threads da CPU.

Eu tenho 4 núcleos / 8 threads HT CPU. Eu estou executando um único aplicativo que usa apenas soquetes como dispositivo IO para que o único HW interrompe Espero ser a rede.

No entanto, quero minimizar as interrupções dos encadeamentos do sistema operacional. Parei mais serviço entendo que não são necessários. Mas foi apenas meu palpite pessoal.

Eu quero desenvolver um conhecimento sólido sobre o que pode ser parado e o que não pode, quais parâmetros podem ser ajustados.

Também o que e como devo monitorar para ter certeza de que tomei a decisão certa.

Apenas para descrever a operação: o aplicativo é um aplicativo de latência muito baixa do .NET, que está em produção há 3 anos e razoavelmente estável. Ele usa muito pouca CPU, tem baixo número de GC, usa pouca memória RAM, usa muitas comunicações de soquete, disco ocasional IO (alguns registros de aplicativos que são como 10 linhas de texto por minuto ... O aplicativo tem 4 threads muito importantes para executar (mas # de encadeamentos físicos atuais no perfmon é 44 para o aplicativo).

O único serviço que eu uso fora do aplicativo é o RDP.

    
por Boppity Bop 26.05.2012 / 18:04

2 respostas

1

Você pode querer ter uma abordagem mais ampla e criar um perfil de sua atividade do sistema com uma ferramenta como o SysInternals Process Monitor. Ele fornecerá detalhes da grande quantidade de atividade que está ocorrendo constantemente nos sistemas Windows, com apenas uma atividade mínima percebida.

Uma fonte específica para muita atividade é o registro. Existem quatro botões na barra de ferramentas que permitem filtrar por registro, sistema de arquivos, atividade de rede ou processos individuais & tópicos.

Se você identificar um processo que está gerando muita atividade "sonora" ou supérflua, experimente desativá-lo para ver se isso não quebra nada.

Vale ressaltar que no Windows 7/2008 R2 os processos agora têm prioridade de i / o e prioridade de memória. Você pode querer experimentar uma ferramenta como o Lasso para ver se consegue obter resultados mensuráveis. Observe que pode não ser possível atribuir uma prioridade de E / S mais alta. Acredito que ferramentas como essa funcionam ajustando a prioridade de E / S de outros processos em segundo plano selecionados.

Mais informações:

Process Monitor 3.01
link

    
por 26.05.2012 / 19:08
0

I want to develop sound knowledge on what can be stopped and what cant, what parameters can be tweaked.

Com todo o respeito, isso é besteira. A menos que você tenha algum problema real, você está lutando uma batalha por um ganho de desempenho máximo de 2 $ ou mais que simplesmente não vale a pena. Se esta questão é como p thread eficiente do programa que é o fórum errado, e a pergunta errada - mas que seria uma batalha digna.

O mais importante é conseguir um cartão de trabalho líquido decente. Classificação do servidor. Como isso é o que a maioria das placas servr tem hoje em dia - a menos que você fosse barato e tivesse uma prancha de estação de trabalho, você basicamente já é bastante ideal.

Application has 4 very important threads to run (but # of current physical threads in the perfmon is 44 for the app).

Bem, isso pode ser um problema, mas não é um problema que VOCÊ possa resolver a partir de uma perspectiva de ajuste do sistema operacional - descubra por que ele tem 44 threads, o que eles supostamente fazem. Essa é uma tarefa do programador e como eu disse - que pode valer a pena. Mas afinar o ganho de 2% ou mais está latindo na árvore errada. O post de Greg é um bom exemplo - ele fala sobre o acesso ao registro, etc. - que RARELY importa e, se for importante, é simplesmente um "programador fodido, faça com que ele corrija o código", não como "ajustar janelas".

A propósito, os 44 tópicos podem estar praticamente inativos. Coisas como finalizador, encadeamentos gc, encadeamentos reserver para o conjunto de itens de trabalho que apenas aguardam até que um item seja enfileirado.

    
por 26.05.2012 / 20:13