N
N
NNS2021-03-03 03:36:08
1C
NNS, 2021-03-03 03:36:08

How to force a server with 2xE5-2630 v4, 128GB, raid ssd to load the processor by 100% (Gilev's test 21.65)?

Hello everyone! How to download a server for 300k?
We have a server with this configuration:
603ecf63a12a9804569142.png
4xRAID1 SSD:

  • (240 intel): System, SQL, 1C
  • (512 samsung evo pro) Main bases 1C
  • (512 samsung evo pro)Additional bases from different programs, 1C test bases
  • (1024 samsung evo) Virtual machines

Of the software, the main ones are: WS2012, MS SQL 14.0.2027.2, Server 1C Enterprise 8.3.16.1814, Hyper-v (all machines are not resource-intensive).
The RDP server is a separate machine from which there is a connection to this server
. It's 8:30 a.m. on a business day, the 1c enterprise server shows 43 active sessions. Since yesterday evening (more than 10 hours) the SQL maintenance plan has been running on the server:
Database Integrity Check-->Index Reorganization-->Statistics Update-->DBCC FREEPROCCACHE-->Backup Only the Database Integrity Check has been completed so far.
Here is his load in the midst of a maintenance plan and a working day:
603ed2f761404849994234.png
At night, when no one is working, the performance is the same.
Power plan "High performance"
603ed337dc78a939966363.png
SQL memory tuning: I set
603ed44057962793563537.png
parallelism:
603ed4d4bc0de584863142.png
But there was such a load, and when everything was by default, these are already experiments.
Gilev's test result: It's
603ed6fc1592a976963216.png
not at all clear what sql does for so long if no one works in the databases, and it has enough resources.
But the most important reason why it all started is user complaints about 1C performance, namely a long response to simple tab openings in the program itself, not to mention reports. To check, at the time of complaints, I ran 1C directly on this "powerful" server, everything really opens slowly. The problem is floating, i.e. low performance appears periodically, and the reason is completely incomprehensible, only low load in all respects is stable.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
M
Mikhail E, 2021-03-03
@NNS

1. You can load the processor on MSSQL as follows:
- There must be a task on the SQL server that will require these resources (in idle time or for small tasks, SQL will not load the percent)
- Set parallelism = number of cores
- Set the Cost threshold to 0.
After completing the current checks , I advise you to return MAXDOP / MaxThreshhold to (1/4 or 1/8 of the number of cores and the threshold should be determined by trial and error). The fact is that 100% loading of the processor does not mean that everything will be faster (only in some cases, such as checking the integrity). Because when parallelizing queries across cores, "Overhead" appears for parallelizing and collecting the results back together. This will look like CXPACKET and Latch waits. (See "Amadal's Law" + CXPACKET in Google)
2. "Checking the integrity of the database" - on a daily basis does not make sense, especially if the database is large enough. It makes sense to do it either when problems arise, or once a quarter / month ... depends on the size of the database. UPD: It's better to do it, if the size and those allow. window. Because you can miss the integrity error and transfer it to a backup.
3. If there are performance issues, this is not an easy issue, and requires a lot of experience. Offhand, I recommend first checking:
- The load on the disk subsystem, and if there is a problem (the queue to the disk is more than 2 on average), perform the spacing *.mdf, *.log, tempdb, instance of the 1c server cluster on separate disks.
- The load on the RAM from MSSQL (you can google this can cause a lot of IO activity on the disk subsystem)
- Check the way to connect to MSSQL ("Shared memory" should be "on" and used if 1s server and mssql server are physically on the same machine .. this is + 10% performance.
well, a bunch of other things ... in one post everything there
are a lot of options, etc.
main advice: solve problems only if it exists and interferes, if this is your personal opinion, but it doesn’t interfere with users, it’s better to make default settings (see APDEX, performance analysis)
UPD : And yes, virtual machines for 1C + MSSQL = evil, and not because "1C company is bad", but because you will not be able to 1C and MSSQL will not be able to communicate through the RAM, and there will be 4 layers between the MSSQL read operator to the server hardware (SQLOS, Virtual Machine OS, Hypervisor, Server OS, instead of SQLOS + Server OS).

G
GilevVyacheslav, 2021-03-03
@GilevVyacheslav

You can't get the right answer to the wrong question. In the wording of the question, you are associating 100% server utilization with increased performance. In fact, on the contrary, the higher the load, the more likely it is to catch equipment waiting for operations and slow down. Those. the first thing you should do is to abandon the concept of "load under 100% of the processor" in order to improve performance.
For your processor, the results of our test can reach 40 points.
The test is integral, that is, it shows the summing result of all factors. There are many such factors. That is why this is not a test for a specific component. The test will not show the net speed of an individual component. The influence of disks can be assessed, but it is not necessary, for example, to measure the speed of disks with this test. The influence of disks on the overall speed of 1C and the speed of disks are not the same thing.
Well, the obvious moment is not for everyone - the test should be done when there is no load on the server.
The test results can be affected
by the processor (frequency)
BIOS (turboboost, etc.)
memory strips (frequency, channel arrangement)
Hypervisor - power plan, dynamic resources,
Windows OS priorities - power plan, quota dfss | Linux - power saving
versions of the platform 1C:Enterprise 8
version of the subd
disk speed, where the database is located
disk speed, where tempdb is located (if MS SQL Server)
disk speed, where the 1C cluster is located, 1C service account profile, tempos
The communication channel between 1C and the subd: Shared memory | network speed
mirroring
According to the list, start with the BIOS settings and make sure with CPU-Z that the processor frequency is working stably in turbo boost.
If you observe only a periodic slowdown of any operations, then measure the reaction speed in the properties of the workflow. For example, when 80% of the RAM is reached in the PROF version of the 1C server, a general slowdown occurs. Similar effects occur when restarting worker processes or when it crashes (look for *.mdmp files as a sign of a crash). Finally, you can catch a general slowdown by running a lot of backgrounders (reset all backgrounders at the moment of freezing or even block their start). Turn off antivirus if available.

K
Konstantin, 2021-03-03
@derwin

Last job admin, 150+ active users 1C
1) 1C is leaking from memory, set up automatic restart of processes. For example every 40 hours.
2) the number of processes for 1C is not interesting at all, you can leave 1 processor and it will work the same way. Stupidity was solved by installing Intel from the "gold" series, with an operating frequency> 3GHz. In fact, on the i5 10th series, 1Ska will work faster for your needs. The gilev test will show a multiple advantage.
3) reindexing and everything else for the database, as my experience shows, is done for a long time only the first time. And there is no effect.
In general, he could not defeat the problem of stupid people by simply pouring money into iron. We tried different versions of the database, tried postgresql, Linux / Windows - it works equally ugly, apparently somewhere inside the engine there is a problem. This is where my story ends.

V
VirDim, 2021-03-04
@VirDim

To begin with, set max DOP (degree of parallelism) to 1. For 1C, it is always recommended to set it to 1 in normal operation. Details here https://its.1c.ru/db/metod8dev/content/5945/hdoc (ITS account required). Most likely after this, the brakes will disappear from users. Do you have some kind of typical or self-written configuration?

D
darst, 2021-03-11
@darst

1c in fact does not really load the processor, the main thing for it is memory and disk speed. There is an option that sql does not have enough memory, so it periodically throws it into swap. As option increase the maximum volume for sql.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question