Configuración de la compilación de datos en el Monitor de rendimiento de Windows Server

Todo administrador de sistemas experimentado sabe que el mejor indicador del deterioro del rendimiento de 1C es que el jefe de contabilidad se mueva hacia el departamento de TI a una velocidad superior a 1,1 m / s. Pero solo los más sabios montaron la colección de contadores para que este encuentro no los pille por sorpresa. Hablemos de esto debajo del corte ...







Epígrafe:

Hay dos razones por las que una computadora puede ralentizarse:

1. Virus.

2. Antivirus.


© consejo de administradores de sistemas experimentados



No me equivocaré si digo que todos los administradores de oficinas se enfrentan a la pregunta: ¿Por qué 1C se ralentiza?



Y nuevamente, no me equivocaré, si lo primero que hace al mismo tiempo, abrirá el administrador de tareas.

Los más avanzados, por supuesto, configurarán la colección de contadores del Monitor de rendimiento (Zabbix en este contexto es más o menos lo mismo). 



Además, hay instrucciones más que suficientes, listas de verificación para configurar. Eso es lo que asusta.

Intentaré ofrecerles una descripción general de los principales y mi propia recopilación.



¡Atención!



El nombre de los contadores difiere no solo según el idioma del sistema operativo, sino también según su edición.



Agreguemos a esto la visión y los errores de los autores de las publicaciones y entendamos que un simple copiar y pegar puede no funcionar.




En el caso de perfmon, esto se verá agravado por el hecho de que no recibirá ningún error al crear contadores en la línea de comando, simplemente no se recopilarán.



Para ver una lista de todos los contadores de rendimiento disponibles en la computadora actual, debe ejecutar



  • typeperf -q [objeto] enumerará todos los contadores
  • typeperf -qx [objeto] mostrará una lista de todos los contadores por instancia de hardware, por ejemplo, por separado para las unidades A: y C: 


Donde el parámetro opcional [objeto] es un filtro sobre el tipo de medidor, como Disco Físico

Esta conclusión puede redirigir a un archivo y luego tener que elegir entre él el tipo necesario

-qx -y -o counters.txt



En el futuro, para Obtener estadísticas de resumen debe reemplazarse en el caso de una clave: qx el nombre de una instancia en particular en (_Total) , y para obtener estadísticas de cada instancia por separado en  (*)



Por ejemplo:



\ Disco Físico (_Total) \ Longitud de cola de disco actual 

\ DiscoFísico (*) \ Longitud actual de la cola del disco 



Mi forma recomendada es crear un archivo bat de 3 líneas.



logman crear contador 1C_counter -f bincirc 

logman actualizar contador 1C_counter -cf ensamblado.txt 

logman actualizar contador 1C_counter -si 15 -v ​​mmddhhmm 




Y agregue los nombres de los contadores al archivo ensamblado.txt. Uno por línea. A continuación se muestra un ejemplo funcional y recomendado para Windows Server 2012 R2 ENG.



lista debajo del 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

 



En realidad, los apuros no pueden leer más. Ya ni siquiera leen.

Con el resto nos ocuparemos de las recomendaciones de los mejores criadores de perros



Empecemos por estudiar los consejos del propio vendedor: microsoft.com

Publicando Windows VM health




mesa debajo del 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




Al usar esta opción, definitivamente no se equivocará, pero contiene contadores que no son del todo necesarios para monitorear el servidor 1C.



Además, pero bastante más alto, en mi top de opciones hay una recomendación de Evgeny Valerievich Filippov

1C Handbook: An Expert on Technological Issues. Edición 2 La




lista es pequeña, pero todo es relevante y está claro que el autor lo utilizó en su obra.

 



mesa debajo del 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




La lista del libro Manual metodológico para el funcionamiento de grandes sistemas de información en la plataforma "1C: Empresa 8"

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


aún más concisa, agregó monitoreo 1cv8, ragent, rphost, rmngr Lo pondré en una lista separada, porque puede y probablemente no interferirá con ninguna opción, excepto para servidores espaciados SQL y 1C.



mesa debajo del 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 equipos.

 

mesa debajo del 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




El siguiente es un artículo con ITS Análisis de la utilización del hardware para Windows Elena Skvortsova y su copia completa en kb que tiene acceso allí , describe todo el proceso de configuración en detalle y con imágenes. Esto es muy útil para la primera configuración.

A pesar de toda la utilidad y accesibilidad del artículo, no deja la sensación de que fue escrito como la famosa carta de Matroskin: "tu hijo es el tío Sharik", diferentes personas. Por ejemplo, el texto no coincide con las imágenes, para algunos contadores, se describen valores de umbral, pero no están en la lista, algunos contadores en la lista se duplican, debido a esto, no será posible copiar- pegue logman en la línea de comando. Esto es un poco desalentador para los principiantes.







Digresión lírica: No ha pasado ni un mes desde la ronda regional de la competencia ITS, donde una de las preguntas se compuso exactamente así, solo hay una respuesta en el código, y en la imagen, la matemáticamente correcta es completamente diferente. . Los organizadores se basaron precisamente en la exactitud del código. Aunque es comprensible que el código esté mal verificado, todos los libros científicos advierten sobre esto de antemano.

 

mesa debajo del 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  




La lista está cerrada por agentes proveedores extranjeros

www.veritas.com  Analizando el rendimiento de SQL usando contadores de monitor de rendimiento




Está claro que nunca han oído hablar de 1C, pero el hecho de que vieron un orden de magnitud más de servidores es un hecho.

 

mesa debajo del 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

monitoreo de actividad y desempeño de SQL Server




 

mesa debajo del 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    




En cuanto a los contadores para MS SQL, mi lista estaba al comienzo de la publicación.



Hay una variedad increíble de opciones, además de expertos (no es un hecho que ahora una de ellas no se haya movido silenciosamente debajo de la mesa al verlo).

Sin embargo, un administrador realmente descarado nunca mostrará su actitud, jugará con las cejas al máximo y escuchará la música del servidor.



Los interesados ​​pueden pasar un par de tardes de invierno (verano) ordenando la lista completa.



mesa debajo del spoiler




- ¡Navegador, instrumentos!

- Catorce.

- ¿Qué son catorce?

- ¿¡Y qué, dispositivos!?

© www.anekdot.ru Un




lector atento dirá: No basta con recopilar contadores de equipos, también es necesario analizarlos.

Y le mostraré esta mesa.



Digresión técnica: aunque expresa la opinión de expertos respetados, debe tratarse con comprensión.



Por ejemplo, muchos recordarán las ocasiones en que le rogaron al director que comprara 32 MB adicionales para el servidor del departamento de contabilidad mencionado anteriormente. Lo mismo ocurre con la velocidad de los discos. Estos valores están obsoletos.




¡Atención!



" ". . . , .




\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
   


Quizás tenga su opinión sobre el monitoreo de equipos, venga a los comentarios, escriba sus pensamientos, preferiblemente con enlaces a fuentes de conocimiento.



All Articles