Epigraph:
There are two reasons why a computer can slow down:
1. Virus.
2. Antivirus.
Β© advice of experienced system administrators
I will not be mistaken if I say that every office administrator faced the question: Why does 1C slow down?
And again, I won't be mistaken, if the first thing he (s) does at the same time, it will open the task manager.
More advanced ones, of course, will configure the collection of Performance Monitor counters (Zabbix in this context is about the same).
Moreover, there are more than enough instructions, checklists for setting up. This is what scares.
I'll try to offer you an overview of the main ones and my own compilation.
Attention!
The name of the counters differs not only depending on the language of the operating system, but also on its edition.
Let's add to this the vision and mistakes of the authors of the publications and understand that a simple copy-paste may not work.
In the case of perfmon, this will be aggravated by the fact that you will not receive any errors when creating counters in the command line, they simply will not be collected.
In order to see a list of all performance counters available on the current computer, you need to run
- typeperf -q [object] will list all counters
- typeperf -qx [object] will display a list of all counters by hardware instance, for example, separately for drives A: and C:
Where the optional parameter [object] is a filter on the type of meter, such as PhysicalDisk
This conclusion can redirect to a file and then have to choose from it the necessary
typeperf -qx -y -o counters.txt
In the future, to get summary statistics should be replaced in the event of a key - qx the name of a particular instance on (_Total) , and to get statistics for each instance separately on (*)
For example:
\ PhysicalDisk (_Total) \ Current Disk Queue Length
\ PhysicalDisk (*) \ Current Disk Queue Length
My recommended way is to create a bat file of 3 lines.
logman create counter 1C_counter -f bincirc
logman update counter 1C_counter -cf assembled.txt
logman update counter 1C_counter -si 15 -v ββmmddhhmm
And add the names of the counters to the assembled.txt file. One per line. A working and recommended example for Windows Server 2012 R2 ENG will be below.
list under the 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
\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
Actually, hurry-ups may not read any further. They don't even read anymore.
With the rest we will deal with the recommendations of the
Let's start by studying the advice of the vendor himself: microsoft.com
Publishing Windows VM health
table under the 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 |
Using this option, you definitely won't be mistaken, but it contains counters that are not quite necessary for monitoring the 1C server.
Further, but rather higher, in my top of options there is a recommendation from Evgeny Valerievich Filippov
1C Handbook: An Expert on Technological Issues. Edition 2 The
list is small, but everything is on the case and it is clear that the author used it in his work.
table under the 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 |
The list of the book Methodological manual for the operation of large information systems on the platform "1C: Enterprise 8"
A. Asatryan, A. Golikov, A. Morozov, D. Solomatin, Y. Fedorov is
even more concise, it added monitoring 1cv8, ragent, rphost, rmngr I will put it on a separate list, because it may and probably will not interfere with any option, except for spaced SQL and 1C servers.
table under the 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
"\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
List of equipment counters.
table under the 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 |
Next is an article with ITS Analysis of hardware utilization for Windows Elena Skvortsova and its full copy on kb who has access there , it describes the entire setup process in detail and with pictures. This is very useful for the first setup.
For all the usefulness and accessibility of the article, the feeling does not leave that it was written like the famous letter from Matroskin: "your son is uncle Sharik", different people. For example, the text does not match the pictures, for some counters, threshold values ββare described, but they are not in the list, some counters in the list are doubled, because of this, it will not be possible to copy-paste logman in the command line. This is just a little discouraging for beginners.
Lyrical digression: Not even a month has passed since the regional round of the ITS competition, where one of the questions was composed in this way, there is only one answer in the code, and in the picture, the mathematically correct one is completely different. The organizers relied precisely on the correctness of the code. Although it is understandable that the code is poorly checked, all scientific books warn about this in advance.
table under the 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 |
The list is closed by foreign vendor
www.veritas.com Analyzing SQL Performance using Performance Monitor Counters
It is clear that they have never heard of 1C, but the fact that they saw an order of magnitude more servers is a fact.
table under the 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 performance and activity monitoring
table under the 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 |
As for counters for MS SQL, my list was at the beginning of the publication.
There are an incredible variety of options, as well as experts (it's not a fact that now one of them hasn't moved quietly under the table at the sight of him).
However, a real cheeky admin will never show his attitude, he will play with his eyebrows at the most and will listen to the server's music.
Those interested can spend a couple of winter (summer) evenings sorting out the full list.
- Navigator, instruments!
- Fourteen.
- What is fourteen?
- And what, devices !?
Β© www.anekdot.ru A
vigilant reader will say: It is not enough to collect equipment counters, you also need to analyze them.
And I'll show him this table.
Technical digression: Although it expresses the opinion of respected experts, it must be treated with understanding.
For example, many will remember the times when they begged the director to buy additional 32 MB for the server of the above-mentioned accounting department. The same goes for the speed of the discs. These values ββare deprecated.
Attention!
" ". . . , .
\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 utilization = 8 * \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 |
|
Perhaps you have your opinion about equipment monitoring, come to the comments, write your thoughts, preferably with links to sources of knowledge.