Configurando a compilação de dados no Monitor de desempenho do Windows Server

Todo administrador de sistema experiente sabe que o melhor indicador de deterioração do desempenho 1C é o contador-chefe movendo-se em direção ao departamento de TI a uma velocidade superior a 1,1 m / s. Mas só os mais sábios montam a coleção de contadores para que este encontro não os apanhe de surpresa. Vamos falar sobre isso sob o corte ...







Epígrafe:

Existem duas razões pelas quais um computador pode ficar lento:

1. Vírus.

2. Antivírus.


© conselho de administradores de sistema experientes



Não me enganarei se disser que todo administrador de escritório se depara com a pergunta: Por que 1C fica mais lento?



E de novo, não me engano, se a primeira coisa que ele (s) fizer ao mesmo tempo, vai abrir o gerenciador de tarefas.

Os mais avançados, é claro, configurarão a coleção de contadores do Performance Monitor (o Zabbix neste contexto é quase o mesmo). 



Além disso, existem instruções mais do que suficientes, listas de verificação para a configuração. Isso é o que assusta.

Tentarei oferecer uma visão geral dos principais e minha própria compilação.



Atenção!



O nome dos contadores difere não apenas dependendo do idioma do sistema operacional, mas também de sua edição.



Vamos adicionar a isso a visão e os erros dos autores das publicações e entender que um simples copiar-colar pode não funcionar.




No caso do perfmon, isso será agravado pelo fato de que você não receberá nenhum erro ao criar contadores na linha de comando, eles simplesmente não serão coletados.



Para ver uma lista de todos os contadores de desempenho disponíveis no computador atual, você precisa executar



  • typeperf -q [objeto] irá listar todos os contadores
  • typeperf -qx [object] exibirá uma lista de todos os contadores por instância de hardware, por exemplo, separadamente para as unidades A: e C: 


Onde o parâmetro opcional [objeto] é um filtro no tipo de medidor, como PhysicalDisk

Esta conclusão pode redirecionar para um arquivo e então ter que escolher dele o

tipo necessárioperf -qx -y -o counters.txt



No futuro, para obter estatísticas de resumo deve ser substituído no caso de uma chave - qx o nome de uma instância particular em (_Total) , e para obter estatísticas para cada instância separadamente em  (*)



Por exemplo:



\ PhysicalDisk (_Total) \ Current Disk Queue Length 

\ PhysicalDisk (*) \ Current Disk Queue Length 



Minha maneira recomendada é criar um arquivo bat de 3 linhas.



logman criar contador 1C_contador -f bincirc 

logman atualizar contador 1C_contador -cf assembled.txt 

logman atualizar contador 1C_contador -si 15 -v ​​mmddhhmm 




E adicionar os nomes dos contadores ao arquivo assembled.txt. Um por linha. Um exemplo prático e recomendado para o Windows Server 2012 R2 ENG estará abaixo.



lista sob o spoiler
 



\Processor(_Total)\% Processor Time 

\Processor(_Total)\% User Time 

\Processor(_Total)\% Privileged Time 

\Memory\Available MBytes 

\Memory\Pages/sec 

\Memory\% Committed Bytes In Use 

\Paging File(*)\% Usage 

\System\Context Switches/sec 

\System\Processor Queue Length 

\System\Processes 

\System\Threads 

\PhysicalDisk(_Total)\Current Disk Queue Length 

\PhysicalDisk(*)\Current Disk Queue Length 

\PhysicalDisk(_Total)\Avg. Disk sec/Read 

\PhysicalDisk(_Total)\Avg. Disk sec/Write 

\Network interface(_Total)\Bytes Total/sec 

\Network interface(_Total)\Current Bandwidth 



\Process(1cv8)\% Processor Time

\Process(1cv8)\Private Bytes

\Process(1cv8)\Virtual Bytes

\Process(ragent)\% Processor Time

\Process(ragent)\Private Bytes

\Process(ragent)\Virtual Bytes

\Process(rphost)\% Processor Time

\Process(rphost)\Private Bytes

\Process(rphost)\Virtual Bytes

\Process(rmngr)\% Processor Time

\Process(rmngr)\Private Bytes

\Process(rmngr)\Virtual Bytes

\Process(sqlservr)\% Processor Time

\Process(sqlservr)\Private Bytes

\Process(sqlservr)\Virtual Bytes



\SQLServer:General Statistics\User Connections

\SQLServer:General Statistics\Processes blocked

\SQLServer:Buffer Manager\Buffer cache hit ratio

\SQLServer:Buffer Manager\Page life expectancy

\SQLServer:SQL Statistics\Batch Requests/sec

\SQLServer:SQL Statistics\SQL Compilations/sec

\SQLServer:SQL Statistics\SQL Re-Compilations/sec

\SQLServer:Access Methods\Page Splits/sec

\SQLServer:Access Methods\Forwarded Records/sec

\SQLServer:Access Methods\Full Scans/sec

\SQLServer:Memory Manager\Target Server Memory (KB)

\SQLServer:Memory Manager\Total Server Memory (KB)

\SQLServer:Memory Manager\Free Memory (KB)

\SQLServer:Databases(_Total)\Transactions/sec

\SQLServer:Databases(*)\Transactions/sec

 



Na verdade, a pressa não pode ler mais. Eles nem lêem mais.

Com o resto, trataremos das recomendações dos melhores criadores de cães.



Vamos começar estudando o conselho do próprio fornecedor: microsoft.com

Publishing Windows VM health




mesa sob o spoiler
Logical disk  
  Logical disk average disk seconds per transfer
  Logical disk average disk seconds per write
  Logical disk current disk queue length
  Logical disk free space megabytes low
  Logical disk percent idle time
  Logical disk free space percent low
  File system error or corruption
Operating system  
  Memory available megabytes
  Memory free system page table entries
  Memory pages per second
  Memory percent committed memory in use
  Total CPU utilization percentage
  DHCP Client service health
  DNS Client Service Health
  Event Log service health
  Windows Firewall service health
  RPC service health
  Server service health
  Windows Remote Management (WinRM) service health
Network adapter  
  Network adapter connection health
  Network adapter percent bandwidth used read
  Network adapter percent bandwidth used total
  Network adapter percent bandwidth used write
Disk  
  Disk current disk queue length
  Disk percent idle time
  Disk average seconds per read
  Disk average disk seconds per transfer
  Disk average disk seconds per write




Usando esta opção, você definitivamente não se enganará, mas ela contém contadores que não são totalmente necessários para monitorar o servidor 1C.



Além disso, mas bem acima, no meu topo de opções há uma recomendação do

Manual
de Evgeny Valerievich Filippov 1C: Um especialista em questões tecnológicas. Edição 2 A



lista é pequena, mas tudo é relevante e é claro que o autor a utilizou em sua obra.

 



mesa sob o spoiler
Logical disk    
Operating system    
  \Memory(_ Total)\%% Committed Bytes In Use .
  \Memory(_Total)\Available Bytes .
  \Memory(_Total)\Pages/sec  
  \Processor(_Total)\%% Processor Time 70 % .
  \System(_Total)\Processor Queue Length 2 *
Network adapter    
  \Network lnterface(*)\Bytes Total/ sec  
Disk    
  \PhysicalDisk(*)\Avg. Disk Queue Length 2 * ,
  \PhysicalDisk(_Total)\Avg. Disk Queue Length
  \PhysicalDisk(_Total)\Avg. Disk Sec/Read 10 . 50-200 .
  \PhysicalDisk(_Total)\Avg. Disk Sec/Write




A lista do livro Manual metodológico para a operação de grandes sistemas de informação na plataforma "1C: Empresa 8"

A. Asatryan, A. Golikov, A. Morozov, D. Solomatin, Y. Fedorov é


ainda mais concisa, acrescentou monitoramento 1cv8, ragent, rphost, rmngr Vou colocá-lo em uma lista separada, porque pode e provavelmente não vai interferir com nenhuma opção, exceto para servidores SQL e 1C espaçados.



mesa sob o spoiler
 "\Process("1cv8*")\%%Processor Time"

"\Process("1cv8*")\Private Bytes"

"\Process("1cv8*")\Virtual Bytes"

"\Process("ragent*")\%%Processor Time"

"\Process("ragent*")\Private Bytes"

"\Process("ragent*")\Virtual Bytes"

"\Process("rphost*")\%%Processor Time"

"\Process("rphost*")\Private Bytes"

"\Process("rphost*")\Virtual Bytes"

"\Process("rmngr*")\%%Processor Time"

"\Process("rmngr*")\Private Bytes"

"\Process("rmngr*")\Virtual Bytes"







\Process(1cv8)\% Processor Time

\Process(1cv8)\Private Bytes

\Process(1cv8)\Virtual Bytes

\Process(ragent)\% Processor Time

\Process(ragent)\Private Bytes

\Process(ragent)\Virtual Bytes

\Process(rphost)\% Processor Time

\Process(rphost)\Private Bytes

\Process(rphost)\Virtual Bytes

\Process(rmngr)\% Processor Time

\Process(rmngr)\Private Bytes

\Process(rmngr)\Virtual Bytes

\Process(sqlservr)\% Processor Time

\Process(sqlservr)\Private Bytes

\Process(sqlservr)\Virtual Bytes



Lista de contadores de equipamentos.

 

mesa sob o spoiler
Logical disk  
  \LogicalDisk(_Total)\Free Megabytes
Operating system  
  \Memory(_Total)\Pages/sec
  \Memory\Available Mbytes
  \Processor(_Total)\%% Processor Time
  \System(_Total)\Processor Queue Length
Network adapter  
  \Network lnterface(*)\Bytes Total/ sec
Disk  
  \PhysicalDisk(*)\Avg. Disk Bytes/Read
  \PhysicalDisk(*)\Avg. Disk Bytes/Write
  \PhysicalDisk(*)\Avg. Disk Queue Length
  \PhysicalDisk(_Total)\Avg. Disk Queue Length




A seguir está um artigo com Análise ITS de utilização de hardware para Windows Elena Skvortsova e sua cópia completa no kb que tem acesso lá , ele descreve todo o processo de configuração em detalhes e com fotos. Isso é muito útil para a primeira configuração.

Por toda a utilidade e acessibilidade do artigo, o sentimento não deixa que ele tenha sido escrito como a famosa carta de Matroskin: “seu filho é tio Sharik”, pessoas diferentes. Por exemplo, o texto não corresponde às imagens, para alguns contadores, os valores de limiar são descritos, mas não estão na lista, alguns contadores da lista são duplicados, por isso, não será possível copiar cole logman na linha de comando. Isso é um pouco desanimador para iniciantes.







Digressão lírica: Nem mesmo um mês se passou desde a rodada regional da competição ITS, onde uma das questões foi composta exatamente assim, só há uma resposta no código, e na foto, a matematicamente correta é completamente diferente . Os organizadores confiaram precisamente na correção do código. Embora seja compreensível que o código seja mal verificado, todos os livros científicos alertam sobre isso com antecedência.

 

mesa sob o spoiler
Logical disk    
  \LogicalDisk(_Total)\% Free Space  
Operating system    
  \Memory\Available Mbytes  
  \Processor(_Total)\% Idle Time  
  \Processor(_Total)\% Processor Time 70%
  \Processor(_Total)\% User Time  
  \Processor(_Total)\Interrupts/sec  
  \System\Context Switches/sec  
  \System\File Read Bytes/sec  
  \System\File Write Bytes/sec  
  \System\Processes  
  \System\Processor Queue Length 2 *
  \System\Threads  
    Memory Pages/sec

: 0

: 20
Network adapter   65%
Disk    
  \PhysicalDisk(_Total)\Avg. Disk Queue Length 2 * ,
  \PhysicalDisk(_Total)\Avg. Disk Sec/Read  
  \PhysicalDisk(_Total)\Avg. Disk Sec/Write  




A lista é fechada por agentes de fornecedores estrangeiros

www.veritas.com  Analisando o desempenho do SQL usando os contadores do Monitor de desempenho




É claro que eles nunca ouviram falar de 1C, mas o fato de que viram uma ordem de magnitude mais servidores é um fato.

 

mesa sob o spoiler
Logical disk    
     
Operating system    
  Memory: Available Bytes 25% . , ,
  Memory: Cache Faults /sec  
  Memory: Page Faults /sec  
  Memory: Page Input /sec 15
  Memory: Page Reads /sec 5
  Memory: Pages/sec 20 —
  Paging File: % Usage  
  Processor: % Processor Time_Total 80% 10+ 24
  System: Processor Queue Length 2 10+ 24 . , 4 , 8 10- .
     
     
     
Network adapter    
  Network Interface: Bytes Received/sec  
  Network Interface: Bytes Sent/sec  
  Network Interface: Bytes/sec  
  Network Interface: Output Queue Length 0, 2
Disk    
  Physical Disk: Disk Writes/sec  
  Physical Disk: Disk Reads/sec 20 , 50
  Physical Disk: Avg. Disk Write Queue Length ( , 2)
  Physical Disk: Avg. Disk Write /sec  
  Physical Disk: Avg. Disk Read Queue Length  
  Physical Disk: Avg. Disk Read /sec  
  Physical Disk: Avg. Disk Queue Length 2 (3 = 6) 10+ 24 .




red-gate.com

SQL Server desempenho e monitoramento de atividades




 

mesa sob o spoiler
Logical disk    
  Logical Disk: Avg. Disk Queue Length - , , , SAN , -. - Disk avg. .
  Logical Disk: Avg. Disk sec/Read MDF NDF OLTP 20 . OLAP 30 . LDF 5 . , , 50 , -.
  Logical Disk: Avg. Disk sec/Write MDF NDF OLTP 20 . OLAP 30 . LDF 5 . , , 50 , -.
  Logical Disk: Disk Transfers/sec IOPS
  LogicalDisk: Free Megabytes  
Operating system    
  Memory: Pages/sec 1000, 100 ,
  Memory: Available Bytes  
  Processor: % Processor Time (_Total) « : » 80% ( ),
  System: Processor Queue Length , 10 ,
     
     
     
Network adapter    
  Network Interface: Bytes Received/sec 8 * (( : / ) + ( : / )) / ( : ) * 100
  Network Interface: Bytes Sent/sec  
Disk    




Quanto aos contadores para MS SQL, minha lista estava no início da publicação.



Há uma variedade incrível de opções, além de experts (não é fato que agora um deles não tenha se mexido silenciosamente para debaixo da mesa ao vê-lo).

Porém, um administrador realmente atrevido nunca mostrará sua atitude, ele brincará com suas sobrancelhas ao máximo e ouvirá a música do servidor.



Os interessados ​​podem passar algumas noites de inverno (verão) organizando a lista completa.



mesa sob o spoiler




- Navegador, instrumentos!

- Quatorze.

- Quanto é quatorze?

- E o que, dispositivos !?

© www.anekdot.ru Um




leitor atento dirá: Não basta coletar contadores de equipamentos, é preciso analisá-los também.

E vou mostrar a ele esta mesa.



Digressão técnica: embora expresse a opinião de especialistas respeitados, deve ser tratada com compreensão.



Por exemplo, muitos se lembrarão dos momentos em que imploraram ao diretor para comprar 32 MB adicionais para o servidor do departamento de contabilidade mencionado acima. O mesmo vale para a velocidade dos discos. Esses valores estão obsoletos.




Atenção!



" ". . . , .




\Processor(_Total)\% Processor Time 70% — 80% , +10 . 50% —
\Processor(_Total)\% User Time , % Processor Time = % User Time + % Privileged Time, % User Time % Processor Time, % Privileged Time 0
\Processor(_Total)\% Privileged Time % Privileged Time 5-10%, >20%.
\Memory\Available MBytes . — 25%
\Memory\Pages/sec 1 : 20, 1000.  Memory Available.  0.
\Memory\% Committed Bytes In Use , . Memory \% Committed Bytes in Use  Memory/Committed Bytes Memory\Commit Limit 90%, 95% OutOfMemory.
\Paging File(*)\% Usage , Microsoft   100% , 50 75%
\System\Context Switches/sec — 5000 /.

— 15000 /
\System\Processor Queue Length 2 *
\System\Processes
\System\Threads
\PhysicalDisk(_Total)\Current Disk Queue Length : 2 * , , - .

- , , , SAN , -.
\PhysicalDisk(*)\Current Disk Queue Length
\PhysicalDisk(_Total)\Avg. Disk sec/Read Current Disk Queue Lengt.  MDF NDF OLTP 20 . OLAP 30 . LDF 5 . , , 50 , -.  1 — 50-200 .
\PhysicalDisk(_Total)\Avg. Disk sec/Write

 
\Network interface(_Total)\Bytes Total/sec 65%
\Network interface(_Total)\Current Bandwidth Network utilization8 * \Network interface(_Total)\Bytes Total/sec / (Network Interface: Current Bandwidth) *100
   
\SQLServer:General Statistics\User Connections
\SQLServer:General Statistics\Processes blocked 0
\SQLServer:Buffer Manager\Buffer cache hit ratio - (OLTP), 1, 99% , , 90%, . 90% - .
\SQLServer:Buffer Manager\Page life expectancy , 300 ( 5 ) , .
\SQLServer:SQL Statistics\Batch Requests/sec
\SQLServer:SQL Statistics\SQL Compilations/sec 10  Batch Requests/sec
\SQLServer:SQL Statistics\SQL Re-Compilations/sec 10  SQL Compilations/sec
\SQLServer:Access Methods\Page Splits/sec 20% Batch Requests/sec
\SQLServer:Access Methods\Forwarded Records/sec . , SQL Server , .
\SQLServer:Access Methods\Full Scans/sec ,   Index searches/sec
\SQLServer:Memory Manager\Target Server Memory (KB)
\SQLServer:Memory Manager\Total Server Memory (KB)
\SQLServer:Memory Manager\Free Memory (KB)
\SQLServer:Databases(_Total)\Transactions/sec
\SQLServer:Databases(*)\Transactions/sec
   
\Process(1cv8)\% Processor Time

\Process(1cv8)\Private Bytes

\Process(1cv8)\Virtual Bytes

\Process(ragent)\% Processor Time

\Process(ragent)\Private Bytes

\Process(ragent)\Virtual Bytes

\Process(rphost)\% Processor Time

\Process(rphost)\Private Bytes

\Process(rphost)\Virtual Bytes

\Process(rmngr)\% Processor Time

\Process(rmngr)\Private Bytes

\Process(rmngr)\Virtual Bytes

\Process(sqlservr)\% Processor Time

\Process(sqlservr)\Private Bytes

\Process(sqlservr)\Virtual Bytes
   


Talvez você tenha sua opinião sobre monitoramento de equipamentos, venha até os comentários, escreva sua opinião, de preferência com links para fontes de conhecimento.



All Articles