Pergunta

Eu configurei uma solução que cria relatórios rápidos de pdf de incêndio. Atualmente, parece que não consigo obter serviços de relatórios para usar todos os recursos que ele possui disponível. O sistema não parece estar ligado a io, limitado à CPU ou na memória. Alguma sugestão sobre como tentar descobrir por que está em execução?

O aplicativo não é encadernado em rede e é multi-thread para 2 vezes o número de processadores.

Foi útil?

Solução

Os serviços de relatórios do SQL Server Limita o número de relatórios executados em 2 relatórios ad-hoc simultâneos e 2 relatórios da Web simultâneos. Este é um limite rígido imposto pelo servidor.

Outras dicas

Robin Day provavelmente está certo, no entanto, se você estiver usando um processador que suporta hiper threading você poderia Obtenha um benefício de desempenho desativando isso no BIOS. Você pode experimentar um teste de desempenho A/B.

Você também pode verificar a instância do SQL (quando você diz que o Serviço de Relatórios significa SSRS, certo?) Não foi um conjunto de afinidade do processador.

Este é um caso de não usar uma abordagem multi -rosqueada? A máquina está usando 100% de um núcleo de um processador e esse é o gargalo?

EDIT: Desculpe por declarar o óbvio, foi apenas uma ideia antes de mencionar que ela já era multi -rosqueada. Receio não poder oferecer mais sugestões.

Alguma sugestão sobre como tentar descobrir por que está em execução?

a) Há uma API para restringir um processo inteiro a uma CPU: teste que usando GetProcessAffinityMask.

B) 'Estado do thread' e 'Thread Wait Motivo' são dois dos contadores de desempenho ... talvez você possa ler isso para ver por que os threads, você acha que deveriam estar correndo, não são.

Todos os threads do seu aplicativo estão lutando por um único bloqueio. Use um perfil para ver se há um congestionamento em algum lugar.

Se você tem quatro núcleos, isso explicaria por que você verá 25% de uso geral da CPU.

Talvez o servidor não possa fornecer mais dados sobre a rede (por isso é encadernado em rede)?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top