Automation tips. Automation tips 1s 8.3 works slowly over the network

The 1C system occupies a dominant position in the automation market for small and medium-sized businesses. If a company has chosen the 1C accounting system, then usually almost all employees work in it, from ordinary specialists to management. Accordingly, the speed of the company’s business processes depends on the speed of 1C. If 1C works at an unsatisfactory speed, then this directly affects the work of the entire company and profit.

Actually exists three 1C acceleration methods:

  • Increase in hardware capacity.
  • Optimization of operating system and DBMS settings.
  • Optimization of code and algorithms in 1C.

The first method requires the purchase of equipment and licenses, the third requires a lot of work for programmers and, as a result, both ways result in significant financial costs. First of all, you need to pay attention to the program code, since no increase in server capacity can compensate for incorrect code. Any programmer knows that with just a few lines of code it is possible to create a process that will completely load the resources of any server.

If a company is confident that the program code is optimal, but it still works slowly, management usually decides to increase server capacity. At this point, a logical question arises: what is missing, how much and what needs to be added in the end.

The 1C company gives a rather vague answer to the question of how many resources are needed; we wrote about it earlier in our posts. And therefore, you have to independently conduct experiments and figure out what 1C performance depends on. Experiments with program performance at EFSOL are described below.

When working with 1C 8.2, especially with configurations that use managed forms, a strange fact was noticed: 1C works faster on a workstation than on a powerful server. Moreover, all the characteristics of the workstation are worse than those of the server.



Table 1 - Configurations on which initial testing was carried out

The workstation shows 155% more performance than a 1C server with superior characteristics. We began to figure out what was going on and narrow down the search.

Figure 1 – Performance measurements at the workstation using the Gilev test

The first suspicion was that Gilev's test was inadequate. Measurements of opening forms, posting documents, generating reports, etc. using instrumentation tools showed that Gilev’s test produces an assessment proportional to the actual speed of work in 1C.

Number and frequency of RAM

An analysis of the information available on the Internet showed that many write about the dependence of 1C performance on memory frequency. It depends on the frequency, not on the volume. We decided to test this hypothesis, since we have a RAM frequency of 1066 Mhz on the server versus 1333 Mhz on the workstation, and the amount of RAM on the server is already much higher. We decided to immediately install not 1066 Mhz, but 800 Mhz so that the effect of the dependence of performance on memory frequency was more clear. The result is that productivity fell by 12% and amounted to 39.37 units. We installed memory with a frequency of 1333 Mhz instead of 1066 Mhz on the server and received a slight increase in performance - about 11%. Productivity was 19.53 units. Accordingly, it’s not a matter of memory, although its frequency gives a slight increase.

Figure 2 – Performance measurements on a workstation after lowering the RAM frequency


Figure 3 – Performance measurements on the server after increasing the RAM frequency

Disk subsystem

The next hypothesis was related to the disk subsystem. Two assumptions immediately arose:

  • SSDs are better than SAS drives, even if they are in raid 10.
  • iSCSI is slow or incorrect.

Therefore, a regular SATA disk was installed in the workstation instead of an SSD, and the same was done with the server - the database was placed on a local SATA disk. As a result, performance measurements did not change at all. Most likely, this happens because there is a sufficient amount of RAM and the disks are practically not involved in any way during the test.

CPU

The processors on the server are, of course, more powerful and there are two of them, but the frequency is slightly lower than on the workstation. We decided to check the effect of processor frequency on performance: there were no processors with a higher frequency at hand for the server, so we lowered the processor frequency on the workstation. We immediately lowered it to 1.6 so that the correlation became clearer. The test showed that performance dropped significantly, but even with a 1.6 processor, the workstation produced almost 28 units, which is almost 1.5 times more than on the server.

Figure 4 – Performance measurements on a workstation with a 1.6 Ghz processor

Video card

There is information on the Internet that the performance of 1C can be affected by the video card. We tried using the workstation's integrated video, a professional Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5 adapter, and an old GeForce 16MbSDR video card. During the Gilev test, no significant difference was noticed. Perhaps the video card still has an effect, but in real conditions, when you need to open managed forms, etc.

At the moment, there are two suspicions why the workstation works faster even with noticeably worse characteristics:

  1. CPU. The type of processor on the workstation is better suited to 1C.
  2. Chipset. All other things being equal, our workstation has a newer chipset, perhaps this is the issue.

We plan to purchase the necessary components and continue testing in order to finally find out what 1C performance largely depends on. While the approval and procurement process is underway, we decided to perform optimization, especially since it costs nothing. The following stages were identified:

Stage 1. System setup

First, let's make the following settings in the BIOS and operating system:

  1. In the server BIOS, we disable all settings to save processor power.
  2. Select the “Maximum performance” plan in the operating system.
  3. The processor is also tuned for maximum performance. This can be done using the PowerSchemeEd utility.

Stage 2. Setting up SQL server and 1C:Enterprise server

We make the following changes to the DBMS and 1C:Enterprise server settings.

  1. Setting up the Shared Memory protocol:

    • Shared Memory will be enabled only on the platform starting from 1C 8.2.17; on earlier releases, Named Pipe will be enabled - slightly inferior in operating speed. This technology only works if 1C and MSSQL services are installed on the same physical or virtual server.
  2. It is recommended to switch the 1C service to debug mode, as, paradoxically, this gives a performance boost. By default, debugging is disabled on the server.
  3. Setting up SQL server:

    • We only need the server, the other services that relate to it and, perhaps, someone uses them, only slow down the work. We stop and disable services such as: FullText Search (1C has its own full-text search mechanism), Integration Services, etc.
    • We set the maximum amount of memory allocated to the server. This is necessary so that the SQL server calculates this amount and clears memory in advance.
    • We set the maximum number of threads (Maximum worker threads) and set the increased server priority (Boost priority).

Stage 3: Setting up a production database

After the DBMS server and 1C:Enterprise are optimized, we move on to database settings. If the database has not yet been expanded from the .dt file, and you know its approximate size, then it is better to immediately indicate the initialization size to the primary file with “>=” of the database size, but this is a matter of taste, it will still grow during expansion. But Auto-increase size must be specified: approximately 200 MB per base and 50 MB per log, because The default values ​​– growth by 1 MB and 10% slow down the server’s work very much when it needs to increase the file every 3rd transaction. Also, it is better to specify the storage of the database file and the log file on different physical disks or RAID groups if a RAID array is used, and limit the growth of the log. It is recommended to move the Tempdb file to a high-speed array, since the DBMS accesses it quite often.

Stage 4. Setting up scheduled tasks

Scheduled tasks are created quite simply using the Maintenance Plan in the Management section, using graphical tools, so we will not describe in detail how this is done. Let's look at what operations need to be performed to improve productivity.

  • Defragmentation of indexes and updating statistics must be done daily, because if index fragmentation is > 25%, it dramatically reduces server performance.
  • Defragmentation and updating statistics is done quickly and does not require disconnecting users. It is also recommended to do it daily.
  • Full re-indexing – done with the database blocked, it is recommended to do it at least once a week. Naturally, after complete reindexing, the indexes are immediately defragmented and statistics are updated.

As a result, with the help of fine-tuning the system, SQL server and working database, we managed to increase productivity by 46%. The measurements were carried out using the 1C KIP tool and using the Gilev test. The latter showed 25.6 units versus 17.53 which were originally.

Brief conclusion

  1. 1C performance does not depend much on RAM frequency. Once a sufficient amount of memory is reached, further expansion of memory does not make sense, since it does not lead to an increase in performance.
  2. 1C performance does not depend on the video card.
  3. 1C performance does not depend on the disk subsystem, provided that the disk read or write queue is not exceeded. If SATA drives are installed and their queue is not exceeded, then installing an SSD will not improve performance.
  4. Performance is quite dependent on the processor frequency.
  5. With proper configuration of the operating system and MSSQL server, it is possible to achieve an increase in 1C performance by 40-50% without any material costs.

ATTENTION! A very important point! All measurements were performed on a test base using the Gilev test and 1C instrumentation tools. The behavior of a real database with real users may differ from the results obtained. For example, in the test database we did not find any dependence of performance on the video card and the amount of RAM. These conclusions are quite questionable and in real conditions these factors can have a significant impact on performance. When working with configurations that use managed forms, a video card is important and a powerful graphics processor speeds up work in terms of drawing the program interface, visually this is manifested in faster work of 1C.

Is your 1C running slowly? Order IT maintenance for computers and servers by EFSOL specialists with many years of experience or transfer your 1C to a powerful and fault-tolerant 1C virtual server.

System integration. Consulting

  1. Setting up routine and background tasks;
  2. Diagnostics and elimination of errors in the information base, which has a file data storage format;
  3. Start indexing full-text search in 1C or turn it off completely;
  4. Launch of the database on the latest Platforms 8.3.8;
  5. Running in a Thin Client;
  6. Increasing the speed of document retransfer when the antivirus is disabled;
  7. Run recalculation of totals and restoration of sequence;
  8. Perform Testing and correction of the database, checking with the chdbfl.exe utility;
  9. If the configuration is not standard, that is, modified by programmers for a specific organization, perform a Configuration Check;
  10. Disable unnecessary functional modes;
  11. Configure user rights;
  12. Base convolution;
  13. Hardware upgrade.

Method 1. Setting up routine and background jobs

The application in the new edition of 1C Accounting 3.0, in addition to performing the main work, starts operations in the background, which lead to a decrease in the performance of the program.

Background mode is a standby mode, that is, the operation is always running, although it is not used.

Step 1. Setting up routine and background jobs

We open the list of routine and background tasks: section Administration – Support and maintenance – Routine operations – Routine and background tasks:

After launching the 1C 8.3 program, background jobs are automatically launched and routine tasks are performed, which use a huge amount of resources and slow down the program. Therefore, it is necessary to analyze the work of accountants and determine which background tasks should be left in autorun and which should be disabled.

In the figure we see a list of routine tasks that are launched in 1C 8.3 Accounting:

In the figure we see a list of completed background jobs:

For example,

  • The 1C 8.3 Accounting program is constantly connected to the site to update various classifiers;
  • If the enterprise does not conduct operations related to foreign currency, then there is no need to track exchange rates;
  • If the accountant does not use full-text search in the program, then it is not advisable to run the “Text Extraction” process.

Step 2: Disable unnecessary tasks

Let's take a closer look at how to disable downloading. Place the cursor on the desired line and double-click:

To disable the task, uncheck the Enabled checkbox:

Step 3. Setting up a schedule for routine tasks

Let's take a closer look at how to set up a schedule. Place the cursor on the desired line and double-click:

Select the Schedule item:

In the window that opens, go to the desired tab and make the appropriate settings:

Method 2. Diagnosis and elimination of errors in an information base that has a file data storage format

Step 1.

We create a backup copy of the database.

Step 2.

Let's start the procedure. To do this, open the Configurator and run the procedure Testing and correcting the information base: section Administration – Testing and correction. Select the checks and modes that need to be performed for the infobase:

Let's take a closer look at the proposed verification options:

  • Reindexing infobase tables – rebuilds table indexes to improve database performance;
  • Checking the logical integrity of the information base – checking the logic of the database;
  • Checking the referential integrity of the information base - checking the logical integrity of the database to detect “broken” links;
  • Recalculation of totals – recalculation of the totals of accumulation register tables;
  • Compression of infobase tables – reduces the size of the database after testing and correction;
  • Restructuring infobase tables – optimizes the database structure using auxiliary files in order to increase stability and performance.

If we select the Testing and correction procedure option in the Checking the referential integrity of the infobase mode, then the settings items for processing database errors become available:

  • Paragraph When there are references to non-existent objects means that when “broken” links are detected, it will process the links using the selected option;
  • Paragraph In case of partial loss of object data means that the remaining data is sufficient to restore the data of some object.

The procedure for testing and correcting the 1C information base can only be performed in exclusive mode.

Method 3. Start indexing full-text search in 1C or turn it off completely

1C has developed full-text data search to make it easier for the user to search for unfamiliar information. A feature of full-text data search in 1C 8.3 is:

  • The user can enter a search query in a simple form and use special operators such as: and, or, not.
  • Full-text data search works with fields of the ValueStorage type and with long text fields, and the user will not be shown results for which he does not have rights.

For example, you need to set up a full-text search in the Advance Report documents.

Step 1.

Step 2.

Open the document Advance report: menu Configurator – Open configuration.

Step 3.

In the Full-text search line, select Use: Advance report – Input field – Full-text search:

Step 4.

We launch the program and update the full-text search mode. Open Regular Operations: section Administration – Program Settings – Support and Maintenance:

Step 5.

Open the settings and update the index using the Update Index button:

Method 4. Launching the database on the latest platforms 8.3.8

How to update the 1C 8.3 technology platform, see our video tutorial:

1C specialists have improved load distribution:

  • It is possible to more accurately control the amount of memory consumed by server worker processes, which makes the cluster more resilient to careless user actions.
  • Restructuring of information bases in the background. The new feature allows you to minimize system downtime required to update application solutions.
  • Platform version 8.3 received a new interface for the “Taxi” applications, more convenient and visual with a new bright design. Improved app navigation capabilities. The user can independently customize his workspace by placing panels in different areas of the screen. The new line input mechanism significantly speeds up data search. For more information about the new features of the 1C 8.3 Accounting program “Taxi” interface, see our video:

Method 5. Launch in Thin Client

Working in thin client mode is only possible in managed application mode. In thin client mode, all actions are performed on the server, and the user only receives a display of the information received. This mode of operation does not require large resources of both the system and the communication channel.

Method 6. Change antivirus software

If you have Avast or Kaspersky antivirus installed, then it is advisable to replace it with another one. Experience has shown that the speed of document transfer when the antivirus is disabled increases significantly, since antiviruses take up computer resources.

Method 7. Testing and correcting the database, checking with the chdbfl.exe utility

It is necessary to perform Testing and correction of the database, having first made a copy.

Step 1. Make a copy of the database

How to make a backup copy of 1C 8.3, see the following video tutorial:

Step 2. Check using the chdbfl.exe utility

The chdbfl.exe utility is used in cases where the system does not start even in configurator mode. The utility is located in the “bin” folder of the installed technology platform, for example: c:\Program Files (x86)\1cv8\8.3.9.1818\bin\chdbfl.exe:

We check using the chdbfl.exe utility:

Step 3. Perform Testing and Correction of the Database

Perform Testing and correction of the database by starting the system in configurator mode.

Step 4. Restoring the sequence of documents

To restore the sequence in 1C 8.3, open All functions: main Menu - All functions. Select the desired item and open using the Open button:

In the window that opens, go to the Restore Sequences tab and click Restore or Restore All:

Method 8. If the configuration is not standard, then check the configuration

If the configuration is not standard, that is, modified by programmers for a specific organization, then we check the configuration.

Step 1.

We launch the program in Configurator mode.

Step 2.

Open the database configuration: section Configuration – Database Configuration:

Step 3.

Select the Check Configuration item and make the settings:

Method 9: Disable unnecessary functional modes

Open the Functionality of the 1C 8.3 program: section Main - Settings - Functionality, make settings for each section:

Method 10. Configure user rights

Step 1.

We launch 1C 8.3 in Configurator mode.

Step 2.

Open the list of users: section Administration – Users. On the Other tab, we determine which roles need to be assigned to the user and tick them.

Reducing the selected functionality reduces the time it takes for the program to sort managed forms when opening a list of documents, that is, the less unnecessary there is in the managed interface, the faster it works:

Method 11. Defragmentation of a disk with a file database

The disk defragmentation procedure optimizes files located on the hard drive to increase system speed. Defragmentation should be done only when necessary, as it increases disk wear.

With the hard drive selected, use the right mouse button to call the Properties command:

On the Tools tab, select Optimization and disk defragmentation:

Method 12. Base folding

– this is the entry of current balances as of a certain date and the removal of old, unnecessary documents. This method may be useful if the database is large, for example, for several years. The rollup must be done without users working in the system.

Step 1. Create a copy of the database

Step 2. We carry out the procedure for collapsing the 1C 8.3 database

Section Administration – Service – Information base collapse.

At the first stage the 1C 8.3 program suggests making a backup copy, where you need to specify the directory to save. Click Next:

Is your 1C slow again?Are you wasting time while preparing a report?Tired of drinking tea while waiting for data exchange?

The situation with slow operation of 1C is not uncommon. You can put up with this, or you can optimize the settings of 1C and equipment, which will significantly increase the speed of your work.

Our services will help you get more done during your working day! We know how to speed up 1C so that you never repeat the words “1C freezes.”

Why can 1C freeze or slow down?

There may be problems with the equipment. Lack of memory on the 1C server, unstable operation on the local network, problems with the hard drive or security keys - all this can make 1C slow down and make you nervous. In addition, 1C may freeze due to:

  • poor platform and configuration compatibility,
  • gross mistakes of novice 1C programmers,
  • huge base size,
  • a large number of users.

Even errors during normal operations with 1C can also lead to its slow operation.

How to speed up 1C?

We proceed like this:

  • We check equipment for compliance with 1C technological requirements. You may need to increase RAM, set up a 1C server, replace a disk, or check the speed of your local network. In other words, we carry out a comprehensive check of all equipment that is involved in the process.
  • We check the settings of other services involved in the operation of 1C. For example, an incorrectly configured SQL database or unreliable terminal access can greatly slow down 1C.
  • We check the correctness of the 1C configuration code, with which there are problems. It's no secret that the same software problem can be solved in different ways. Non-optimal code often causes 1C to freeze.
  • We check the user work pattern when working with 1C. Sometimes users themselves slow down 1C and are not aware of it..

How to speed up work in 1C: Accounting 8.3 (edition 3.0) or disable routine and background tasks

2019-01-15T13:28:19+00:00

Those of you who have already switched to the new edition of 1C: Accounting 8.3 (edition 3.0) have noticed that it has become slower than 2. Some strange slowdowns, endless background tasks several times a day, which no one asked her to perform without our knowledge.

My accountants told me immediately after the transition that the new edition of 1C: Accounting 3.0 is downright slow compared to the previous ones! And it’s simply impossible to work.

I started looking into it and very soon found out that the main cause of freezes and subsequent user dissatisfaction are routine and background tasks, many of which are enabled by default, although for the vast majority of accountants there is no need for them.

Well, for example, why do we need to run the “Text Extraction” task a hundred times a day if we do not carry out a full-text (accountants, don’t be alarmed) search across all objects in our database.

Or why constantly download currency rates if we do not have currency transactions or we do them occasionally (and before that we ourselves can click the download rates button).

The same applies to 1C’s constant attempt to connect to the site and check and update bank classifiers. For what? I myself will press the button to update the classifiers if I don’t find the right bank by its BIC.

How to do this step by step below.

1. Go to the "Administration" section and select "Maintenance" () in the action panel:

2. In the window that opens, find and select “Routine and background tasks”:

3. Open each task that has "On" in the "On" column. there is a daw.

4. Uncheck "Enabled" and click the "Save and Close" button.

5. Do this with each of the included tasks and enjoy the new edition. Overall, in my opinion, it is much better than two.

At the same time, the platform will still enable some of the scheduled tasks you disabled.

The main purpose of writing this article is to avoid repeating obvious nuances for those administrators (and programmers) who have not yet gained experience with 1C.

The secondary goal is that if I have any shortcomings, Infostart will be the quickest to point this out to me.

V. Gilev’s test has already become a kind of “de facto” standard. The author on his website gave quite clear recommendations, but I will simply present some results and comment on the most likely errors. Naturally, the test results on your equipment may differ; this is just a guide for what should be and what you can strive for. I would like to note right away that changes must be made step by step, and after each step, check what result it gave.

There are similar articles on Infostart, I will put links to them in the relevant sections (if I miss something, please suggest me in the comments, I will add it). So, let’s assume your 1C is slow. How to diagnose the problem, and how to understand who is to blame, the administrator or the programmer?

Initial data:

Tested computer, main guinea pig: HP DL180G6, equipped with 2*Xeon 5650, 32 Gb, Intel 362i, Win 2008 r2. For comparison, the Core i3-2100 shows comparable results in the single-threaded test. The equipment I deliberately chose was not the newest; with modern equipment the results are noticeably better.

For testing separate 1C and SQL servers, SQL server: IBM System 3650 x4, 2*Xeon E5-2630, 32 Gb, Intel 350, Win 2008 r2.

To test a 10 Gbit network, Intel 520-DA2 adapters were used.

File version. (the database is on the server in a shared folder, clients connect via the network, CIFS/SMB protocol). Algorithm step by step:

0. Add Gilev’s test database to the file server in the same folder as the main databases. We connect from the client computer and run the test. We remember the result.

It is understood that even for old computers 10 years ago (Pentium on 775 socket ) the time from clicking on the 1C:Enterprise shortcut to the appearance of the database window should pass less than a minute. ( Celeron = slow).

If you have a computer worse than a Pentium 775 socket with 1 GB of RAM, then I sympathize with you, and it will be difficult for you to achieve comfortable work on 1C 8.2 in the file version. Think about either upgrading (it's high time) or switching to a terminal (or web, in the case of thin clients and managed forms) server.

If the computer is no worse, then you can kick the administrator. At a minimum, check the operation of the network, antivirus and HASP protection driver.

If Gilev’s test at this stage showed 30 “parrots” or higher, but the 1C working base still works slowly, the questions should be directed to the programmer.

1. As a guide to how much a client computer can “squeeze”, we check the operation of only this computer, without a network. We install the test database on a local computer (on a very fast disk). If the client computer does not have a normal SSD, then a ramdisk is created. For now, the simplest and free one is Ramdisk enterprise.

To test version 8.2, a 256 MB ramdisk is enough, and! The most important. After rebooting the computer, with the ramdisk running, there should be 100-200 MB free on it. Accordingly, without a ramdisk, for normal operation there should be 300-400 MB of free memory.

To test version 8.3, a 256 MB ramdisk is enough, but you need more free RAM.

When testing, you need to look at the processor load. In a case close to ideal (ramdisk), local file 1c loads 1 processor core when running. Accordingly, if during testing your processor core is not fully loaded, look for weak points. A little emotional, but generally correct, the influence of the processor on the operation of 1C is described. Just for reference, even on modern Core i3s with high frequencies, the numbers 70-80 are quite realistic.

The most common errors at this stage.

a) Incorrectly configured antivirus. There are many antiviruses, the settings for each are different, I will only say that with proper configuration, neither the web nor Kaspersky 1C interferes. With the default settings, approximately 3-5 parrots (10-15%) can be taken away.

b) Performance mode. For some reason, few people pay attention to this, but the effect is the most significant. If you need speed, then you must do this, both on client and server computers. (Gilev has a good description. The only caveat is that on some motherboards, if you turn off Intel SpeedStep, you cannot turn on TurboBoost).

In short, while 1C is running, there is a lot of waiting for a response from other devices (disk, network, etc.). While waiting for a response, if the performance mode is enabled, the processor lowers its frequency. A response comes from the device, 1C (the processor) needs to work, but the first clock cycles are at a reduced frequency, then the frequency increases - and 1C again waits for a response from the device. And so - many hundreds of times per second.

You can (and preferably) enable performance mode in two places:

Via BIOS. Disable modes C1, C1E, Intel C-state (C2, C3, C4). In different bios they are called differently, but the meaning is the same. It takes a long time to search, a reboot is required, but if you do it once, then you can forget it. If you do everything correctly in the BIOS, the speed will increase. On some motherboards, you can configure the BIOS settings so that Windows performance mode will not play a role. (Examples of BIOS settings from Gilev). These settings mainly concern server processors or “advanced” BIOSes, if you haven’t found this and you DO NOT have Xeon, that’s okay.

Control panel - Power supply - High performance. Minus - if the computer has not been serviced for a long time, it will make a louder fan noise, heat up more and consume more energy. This is a performance fee.

How to check that the mode is enabled. Launch the task manager - performance - resource monitor - CPU. We wait until the processor is busy with nothing.

These are the default settings.

In BIOS C-state included,

balanced power consumption mode


In BIOS C-state included, high performance mode

For Pentium and Core you can stop there,

You can still squeeze a little "parrots" out of Xeon


In BIOS C-state turned off, high performance mode.

If you don't use Turbo boost, this is what it should look like

server tuned for performance


And now the numbers. Let me remind you: Intel Xeon 5650, ramdisk. In the first case, the test shows 23.26, in the last - 49.5. The difference is almost twofold. The numbers may vary, but the ratio remains essentially the same for Intel Core.

Dear administrators, you can criticize 1C as much as you like, but if end users need speed, you need to enable high performance mode.

c) Turbo Boost. First you need to understand whether your processor supports this function, for example. If it supports, then you can still quite legally get some performance. (I don’t want to touch on the issues of frequency overclocking, especially servers, do it at your own peril and risk. But I agree that increasing Bus speed from 133 to 166 gives a very noticeable increase in both speed and heat dissipation)

How to turn on turbo boost is written, for example, . But! For 1C there are some nuances (not the most obvious). The difficulty is that the maximum effect of turbo boost occurs when C-state is turned on. And we get something like this:

Please note that the multiplier is the maximum, the Core speed is beautiful, and the performance is high. But what will happen as a result with 1s?

Factor

Core speed (frequency), GHz

CPU-Z Single Thread

Gilev Ramdisk test

file version

Gilev Ramdisk test

client-server

Without Turbo boost

C-state off, Turbo boost

53.19

40,32

C-state on, Turbo boost

1080

53,13

23,04

But in the end it turns out that according to CPU performance tests the version with a multiplier of 23 is ahead, according to Gilev’s tests in the file version the performance with a multiplier of 22 and 23 is the same, but in the client-server version - the version with a multiplier of 23 is terrible terrible terrible (even if C -state set to level 7, it is still slower than with C-state turned off). Therefore, the recommendation is to check both options for yourself and choose the best one. In any case, the difference between 49.5 and 53 parrots is quite significant, especially without much effort.

Conclusion - turbo boost must be turned on. Let me remind you that it is not enough to enable the Turbo boost item in the BIOS, you also need to look at other settings (BIOS: QPI L0s, L1 - disable, demand scrubbing - disable, Intel SpeedStep - enable, Turbo boost - enable. Control Panel - Power Options - High Performance) . And I would still (even for the file version) choose the option where c-state is turned off, even though the multiplier is smaller. It will turn out something like this...

A rather controversial point is the memory frequency. For example, memory frequency is shown to have a very strong influence. My tests did not reveal such a dependence. I will not compare DDR 2/3/4, I will show the results of changing the frequency within the same line. The memory is the same, but in the BIOS we are forced to set lower frequencies.




And test results. 1C 8.2.19.83, for the file version local ramdisk, for client-server 1C and SQL on one computer, Shared memory. Turbo boost is disabled in both versions. 8.3 shows comparable results.

The difference is within the measurement error. I specifically pulled out screenshots of CPU-Z to show that with a change in frequency, other parameters also change, the same CAS Latency and RAS to CAS Delay, which neutralizes the change in frequency. The difference will be when the memory modules are physically changed, from slower to faster, but even there the numbers are not particularly significant.

2. When we have sorted out the processor and memory of the client computer, we move on to the next very important place - the network. Many volumes of books have been written about network tuning, there are articles on Infostart (, and others), but here I will not focus on this topic. Before starting testing 1C, please make sure that iperf between two computers shows the entire bandwidth (for 1 Gbit cards - well, at least 850 Mbit, or better yet 950-980), that Gilev’s advice has been followed. Then - the simplest test of operation will be, oddly enough, copying one large file (5-10 gigabytes) over the network. An indirect sign of normal operation on a 1 Gbit network will be the average copying speed of 100 MB/sec, good operation - 120 MB/sec. I would like to draw your attention to the fact that the weak point (including) may be the processor load. SMB The protocol on Linux is quite poorly parallelized, and during operation it can quite easily “eat up” one processor core and not consume any more.

And further. With the default settings, the windows client works best with a windows server (or even a windows workstation) and the SMB/CIFS protocol, a linux client (debian, ubuntu didn’t look at the others) works better with linux and NFS (it also works with SMB, but on NFS parrots are taller). The fact that during linear copying a Windows Linux server to NFS is copied into one stream faster does not mean anything. Debian tuning for 1C is a topic for a separate article, I’m not ready for it yet, although I can say that in the file version I got even slightly better performance than the Win version on the same equipment, but with postgres with over 50 users I still have everything very bad.

The most important , which “burned” administrators know, but beginners do not take into account. There are many ways to set the path to the 1c database. You can do \\server\share, you can do \\192.168.0.1\share, you can net use z: \\192.168.0.1\share (and in some cases this method will also work, but not always) and then specify the Z drive. It seems that all these paths point to the same place, but for 1C there is only one way that provides normal performance quite reliably. So, this is what you need to do correctly:

On the command line (or in policies, or whatever is convenient for you) - do net use DriveLetter: \\server\share. Example: net use m: \\server\bases. I specifically emphasize NOT the IP address, namely Name server. If the server name is not visible, add it to the dns on the server, or locally to the hosts file. But the address must be by name. Accordingly, on the way to the database, access this disk (see picture).

And now I will show with numbers why this is the advice. Initial data: Intel X520-DA2, Intel 362, Intel 350, Realtek 8169 cards. OS Win 2008 R2, Win 7, Debian 8. Latest drivers, updates applied. Before testing, I made sure that Iperf gives the full bandwidth (except for 10 Gbit cards, it only managed to squeeze out 7.2 Gbit, I’ll see why later, the test server is not yet configured properly). The disks are different, but everywhere there is an SSD (I specially inserted a single disk for testing, it is not loaded with anything else) or a raid from an SSD. The speed of 100 Mbit was obtained by limiting the settings of the Intel 362 adapter. There was no difference between 1 Gbit copper Intel 350 and 1 Gbit optical Intel X520-DA2 (obtained by limiting the speed of the adapter). Maximum performance, turbo boost is turned off (just for comparability of results, turbo boost for good results adds a little less than 10%, for bad results it may not have any effect at all). Versions 1C 8.2.19.86, 8.3.6.2076. I don’t give all the numbers, but only the most interesting ones, so that you have something to compare with.

Win 2008 - Win 2008

contact by ip address

Win 2008 - Win 2008

Calling by name

Win 2008 - Win 2008

Contact by IP address

Win 2008 - Win 2008

Calling by name

Win 2008 - Win 7

Calling by name

Win 2008 - Debian

Calling by name

Win 2008 - Win 2008

Contact by IP address

Win 2008 - Win 2008

Calling by name

11,20 26,18 15,20 43,86 40,65 37,04 16,23 44,64
1C 8.2 11,29 26,18 15,29 43,10 40,65 36,76 15,11 44,10
8.2.19.83 12,15 25,77 15,15 43,10 14,97 42,74
6,13 34,25 14,98 43,10 39,37 37,59 15,53 42,74
1C 8.3 6,61 33,33 15,58 43,86 40,00 37,88 16,23 42,74
8.3.6.2076 33,78 15,53 43,48 39,37 37,59 42,74

Conclusions (from the table and from personal experience. Applies only to the file version):

Over the network, you can get quite normal numbers for work if this network is properly configured and the path is entered correctly in 1C. Even the first Core i3 can easily produce 40+ parrots, which is quite good, and these are not only parrots, in real work the difference is also noticeable. But! The limitation when working with several (more than 10) users will no longer be the network, here 1 Gbit is still enough, but blocking during multi-user work (Gilev).

The 1C 8.3 platform is many times more demanding in terms of proper network configuration. Basic settings - see Gilev, but keep in mind that everything can be influenced. I saw an acceleration from uninstalling (and not just turning off) the antivirus, from removing protocols like FCoE, from changing drivers to an older, but Microsoft certified version (especially for cheap cards like ASUS and DLC), from removing the second network card from the server . There are a lot of options, set up your network carefully. There may well be a situation where platform 8.2 gives acceptable numbers, and 8.3 - two or even more times less. Try playing with platform versions 8.3, sometimes you get a very big effect.

1C 8.3.6.2076 (maybe later, I haven’t looked for the exact version yet) is still easier to configure over the network than 8.3.7.2008. I was able to achieve normal operation over the network from 8.3.7.2008 (in comparable parrots) only a few times; I could not repeat it for a more general case. I didn’t understand much, but judging by the foot wraps from Process Explorer, the recording there is not as good as in 8.3.6.

Despite the fact that when working on a 100 Mbit network, its load schedule is small (we can say that the network is free), the operating speed is still much less than on 1 Gbit. The reason is network latency.

All other things being equal (a well-functioning network) for 1C 8.2 the Intel-Realtek connection is 10% slower than Intel-Intel. But realtek-realtek can generally give sharp subsidence out of the blue. Therefore, if you have money, it’s better to keep Intel network cards everywhere; if you don’t have money, then install Intel only on the server (your CO). And there are many times more instructions for tuning Intel network cards.

Default antivirus settings (using drweb version 10 as an example) take up about 8-10% of parrots. If you configure it as it should (allow the 1cv8 process to do everything, although it is not safe), the speed is the same as without an antivirus.

Do NOT read Linux gurus. A server with samba is great and free, but if you install Win XP or Win7 (or even better - server OS) on the server, then the file version of 1c will work faster. Yes, samba and the protocol stack and network settings and much, much more can be well tuned in debian/ubuntu, but this is recommended for specialists. There is no point in installing Linux with default settings and then saying that it is slow.

It's quite a good idea to check the operation of disks connected via net use using fio . At least it will be clear whether these are problems with the 1C platform, or with the network/disk.

For the single-user version, I can’t think of tests (or a situation) where the difference between 1 Gbit and 10 Gbit would be visible. The only thing where 10Gbit for the file version gave better results is connecting disks via iSCSI, but this is a topic for a separate article. Still, I think that for the file version 1 Gbit cards are enough.

I don’t understand why, with a 100 Mbit network, 8.3 works noticeably faster than 8.2, but it was a fact. All other equipment, all other settings are absolutely the same, it’s just that in one case 8.2 is tested, and in the other - 8.3.

Non-tuned NFS win-win or win-lin gives 6 parrots, I did not include them in the table. After tuning I got 25, but it was unstable (the difference in measurements was more than 2 units). I can’t yet give recommendations on using Windows and the NFS protocol.

After all the settings and checks, we run the test again from the client computer and rejoice at the improved result (if it works). If the result has improved, there are more than 30 parrots (and especially more than 40), fewer than 10 users are working at the same time, and the working database is still slow - almost certainly a problem with the programmer (or you have already reached the peak capabilities of the file version).

Terminal server. (the database is on the server, clients connect via the network, RDP protocol). Algorithm step by step:

0. Add Gilev’s test database to the server in the same folder as the main databases. We connect from the same server and run the test. We remember the result.

1. In the same way as in the file version, we set up the work. In the case of a terminal server, the processor generally plays the main role (it is assumed that there are no obvious weak points, such as lack of memory or a huge amount of unnecessary software).

2. Setting up network cards in the case of a terminal server has virtually no effect on the operation of 1c. To ensure “special” comfort, if your server produces more than 50 parrots, you can play with new versions of the RDP protocol, just for the comfort of users, faster response and scrolling.

3. If a large number of users are actively working (and here you can already try connecting 30 people to one database, if you try), it is very advisable to install an SSD drive. For some reason, it is believed that the disk does not particularly affect the operation of 1C, but all tests are carried out with the controller cache enabled for writing, which is incorrect. The test base is small, it fits quite well in the cache, hence the high numbers. On real (large) databases everything will be completely different, so the cache is disabled for tests.

For example, I checked the operation of the Gilev test with different disk options. I installed the discs from what was at hand, just to show the tendency. The difference between 8.3.6.2076 and 8.3.7.2008 is small (in the Ramdisk Turbo boost version 8.3.6 produces 56.18 and 8.3.7.2008 produces 55.56, in other tests the difference is even smaller). Power consumption - maximum performance, turbo boost disabled (unless otherwise stated).

Raid 10 4x SATA 7200

ATA ST31500341AS

Raid 10 4x SAS 10k

Raid 10 4x SAS 15k

Single SSD

Ramdisk

Cache enabled

RAID controller

21,74 28,09 32,47 49,02 50,51 53,76 49,02
1C 8.2 21,65 28,57 32,05 48,54 49,02 53,19
8.2.19.83 21,65 28,41 31,45 48,54 49,50 53,19
33,33 42,74 45,05 51,55 52,08 55,56 51,55
1C 8.3 33,46 42,02 45,05 51,02 52,08 54,95
8.3.7.2008 35,46 43,01 44,64 51,55 52,08 56,18

The enabled RAID controller cache eliminates all the differences between the disks; the numbers are the same for both sat and cas. Testing with it on a small amount of data is useless and is not indicative of any kind.

For platform 8.2, the difference in performance between SATA and SSD options is more than double. This is not a typo. If you look at the performance monitor during the test on SATA drives. then you can clearly see “Active disk operating time (in%)” 80-95. Yes, if you enable the cache of the disks themselves for recording, the speed will increase to 35, if you enable the cache of the raid controller - up to 49 (regardless of which disks are being tested at the moment). But these are synthetic cache parrots; in real work, with large databases, there will never be a 100% write cache hit ratio.

The speed of even cheap SSDs (I tested on Agility 3) is quite enough to run the file version. The recording resource is another matter, you need to look at it in each specific case, it is clear that the Intel 3700 will have it an order of magnitude higher, but the price is corresponding. And yes, I understand that when testing an SSD disk, I also test the cache of this disk to a greater extent, the real results will be less.

The most correct (from my point of view) solution would be to allocate 2 SSD disks in a mirrored raid for a file database (or several file databases), and not place anything else there. Yes, with a mirror, SSDs wear out equally, and this is a minus, but at least the controller electronics are somehow protected from errors.

The main advantages of SSD drives for the file version will appear when there are many databases, each with several users. If there are 1-2 databases, and there are about 10 users, then SAS disks will be enough. (but in any case, look at loading these disks, at least through perfmon).

The main advantages of a terminal server are that it can have very weak clients, and the network settings affect the terminal server much less (again, your K.O.).

Conclusions: if you run the Gilev test on a terminal server (from the same disk where the working databases are located) and at those moments when the working database slows down, and the Gilev test shows a good result (above 30), then the slow operation of the main working database is to blame most likely a programmer.

If Gilev’s test shows small numbers, and you have a high-clock processor and fast disks, then the administrator needs to take at least perfmon, recording all the results somewhere, and watch, observe, and draw conclusions. There will be no definitive advice.

Client-server option.

Tests were carried out only on 8.2, because on 8.3 everything depends quite seriously on the version.

For testing, I chose different server options and networks between them to show the main trends.

SQL: Xeon E5-2630

SQL: Xeon E5-2630

Fiber channel - SSD

SQL: Xeon E5-2630

Fiber channel - SAS

SQL: Xeon E5-2630

Local SSD

SQL: Xeon E5-2630

Fiber channel - SSD

SQL: Xeon E5-2630

Local SSD

1C: Xeon 5650 =

1C: Xeon 5650 =

Shared memory

1C: Xeon 5650 =

1C: Xeon 5650 =

1C: Xeon 5650 =

16,78 18,23 16,84 28,57 27,78 32,05 34,72 36,50 23,26 40,65 39.37
1C 8.2 17,12 17,06 14,53 29,41 28,41 31,45 34,97 36,23 23,81 40,32 39.06
16,72 16,89 13,44 29,76 28,57 32,05 34,97 36,23 23,26 40,32 39.06

It seems that I have considered all the interesting options, if there is anything else you are interested in, write in the comments, I will try to do it.

SAS on storage systems is slower than local SSDs, even though the storage systems have larger cache sizes. SSDs, both local and on storage systems, work at comparable speeds for Gilev’s test. I don’t know any standard multi-threaded test (not just recording, but all equipment) except for the 1C load test from the MCC.

Changing the 1C server from 5520 to 5650 almost doubled the performance. Yes, the server configurations do not completely match, but it shows a trend (no surprise).

Increasing the frequency on the SQL server certainly gives an effect, but not the same as on the 1C server; MS SQL server is excellent (if you ask it) to use multi-cores and free memory.

Changing the network between 1C and SQL from 1 Gbit to 10 Gbit gives approximately 10% parrots. I expected more.

Enabling Shared memory still gives an effect, although not 15%, as described. Be sure to do it, fortunately it’s quick and easy. If during installation someone gave the SQL server a named instance, then for 1C to work, the server name must be specified not by FQDN (tcp/ip will work), not through localhost or just ServerName, but through ServerName\InstanceName, for example zz-test\zztest. (Otherwise there will be a DBMS error: Microsoft SQL Server Native Client 10.0: Shared Memory Provider: The shared memory library used to establish a connection with SQL Server 2000 was not found. HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=126, line=0).

For less than 100 users, the only point in splitting it into two separate servers is a Win 2008 Std (and older) license, which only supports 32GB of RAM. In all other cases, 1C and SQL definitely need to be installed on one server and given more (at least 64 GB) memory. Giving MS SQL less than 24-28 GB of RAM is unjustified greed (if you think that you have enough memory for it and everything works fine, maybe the file version of 1C would be enough for you?)

How worse the combination of 1C and SQL works in a virtual machine is the topic of a separate article (hint - noticeably worse). Even in Hyper-V everything is not so clear...

Balanced performance mode is bad. The results are quite consistent with the file version.

Many sources say that debugging mode (ragent.exe -debug) causes a significant decrease in performance. Well, it reduces, yes, but I wouldn’t call 2-3% a significant effect.