Slowly works 1s 8.2. Automation Tips
How to speed up work in 1C: Accounting 8.3 (version 3.0) or disable scheduled and background tasks
2019-01-15T13:28:19+00:00Those of you who have already managed to switch to the new edition of 1C: Accounting 8.3 (version 3.0) have noticed that it has become slower than the deuce. Some strange slowdowns, endless background tasks several times a day, which no one asked her to perform without our knowledge.
Immediately after the transition, my accountants told me that the new edition of 1C: Accounting 3.0 frankly slows down in comparison with the previous ones! And it's impossible to work.
I began to understand 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 they are not necessary.
Well, for example, why do we need to run the "Text Extraction" task a hundred times a day if we do not perform a full-text (accountants, don't be scared) search across all the objects in our database.
Or why constantly download exchange 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 the constant attempt by 1C to connect to the site and check and update the bank classifiers. What for? I myself will press the button to update the classifiers if I do not find the right bank by its BIC.
About how to do it on the points below.
1. Go to the "Administration" section and select the "Maintenance" item in the action panel ():
2. In the window that opens, find and select the "Regular and background tasks" item:
3. Open each job that has the On column. worth a jackdaw.
4. Uncheck "Enabled" and click the "Save and Close" button.
5. Do this with each of the included tasks and enjoy the new edition. In general, in my opinion, it is much better than the deuce.
At the same time, some of the ones you disabled routine tasks the platform will still turn it back on.
The 1C system occupies a dominant position in the automation market for small and medium-sized businesses. If a company has chosen a 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 there is three methods of 1C acceleration:
- Increasing 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 labor 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 fully load the resources of any server.
If the company is confident in the optimality of the program code, and it is still running slowly, usually the management decides to increase the server capacity. At this point, a logical question arises: what is missing, how much and what needs to be added as a result.
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 so you have to independently conduct experiments and figure out what the performance of 1C depends on. The performance experiments at EFSOL are described below.
When working with 1C 8.2, especially with configurations that use managed forms, a strange fact was noticed: 1C runs 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 a performance of 155% more than a 1C server with superior performance. We began to figure out what was the matter and narrow the circle of searches.
Figure 1 - Performance measurements on the workstation by 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 the Gilev test gives an estimate 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 the memory frequency. It is from the frequency, and not from 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 put not 1066 Mhz, but 800 Mhz right away in order to make the effect of the dependence of performance on the memory frequency more visible. The result - 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 got a slight increase in performance - about 11%. Productivity was 19.53 units. Accordingly, it's not about memory, although its frequency gives a small increase.
Figure 2 - Performance measurements on the workstation after lowering the frequency of the RAM
Figure 3 - Performance measurements on the server after increasing the frequency of RAM
Disk subsystem
The next hypothesis was related to the disk subsystem. Two hypotheses immediately arose:
- SSDs are better than SAS drives, even if they are in raid 10.
- iSCSI is slow or not working correctly.
Therefore, a regular SATA disk was installed in the workstation instead of an SSD, and the same was done with the server - the base was placed on a local SATA disk. As a result, performance measurements have not changed in any way. Most likely, this is happening, since there is enough RAM and the disks are practically not used in any way during the test.
CPU
The processors on the server, of course, are 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 the 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 reduced it to 1.6 so that the correlation manifested itself brighter. 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 a video card can affect the performance of 1C. We tried to use integrated workstation video, professional adapter Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5, old GeForce graphics card 16MbSDR. During the Gilev test, no significant difference was noticed. Perhaps the video card still affects, but in real conditions, when you need to open managed forms, etc.
At the moment, there are two suspicions why the workstation runs faster even with noticeably worse performance:
- CPU. The type of processor on the workstation is better suited to 1C.
- Chipset. Other things being equal, our workstation has a newer chipset, which may be the reason.
We plan to purchase the necessary components and continue the tests in order to finally find out what is causing the more performance depends on 1C. While the process of approval and procurement is underway, we decided to perform optimization, especially since it costs nothing. The following steps have been identified:
Stage 1. System setup
First, let's make the following settings in the BIOS and operating system:
- In the server BIOS, disable all settings to save processor power.
- Select the "Maximum performance" plan in the operating system.
- The processor is also tuned for maximum performance. This can be done using the PowerSchemeEd utility.
Stage 2. Setting up the SQL server and the 1C:Enterprise server
We make the following changes to the settings of the DBMS server and 1C:Enterprise.
- Configuring 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 - somewhat inferior in speed. This technology only works if 1C and MSSQL services are installed on the same physical or virtual server.
- It is recommended to put the 1C service into debug mode, paradoxically this gives a performance boost. By default, debugging is disabled on the server.
- SQL server setup:
- We only need a server, the rest of the services that belong to it and, perhaps, someone uses them, only slow down the work. We stop and disable such services as: FullText Search (1C has its own full-text search mechanism), Integration Services, etc.
- Set the maximum amount of memory allocated to the server. This is necessary in order for the sql server to count on this amount and clean up the memory in advance.
- Set the maximum number of threads (Maximum worker threads) and set the increased server priority (Boost priority).
Stage 3. Setting up a working database
After the DBMS server and 1C:Enterprise are optimized, we proceed to the database settings. If the base has not yet been deployed from the .dt file, and you know its approximate size, then it is better to immediately indicate the initialization size of the primary file with “>=” the size of the base, but this is a matter of taste, it will still grow when deployed. But Auto-increase in size must be specified: approximately 200 MB per database and 50 MB per log, because. default values - growth by 1MB and by 10% slow down the server very much, when it needs to increase the file with every 3rd transaction. It is also better to store the base 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 dwell on what operations need to be performed to improve performance.
- Indexes should be defragmented and statistics updated on a daily basis. if index fragmentation is > 25%, this will drastically reduce server performance.
- Defragmenting and updating statistics - done quickly and does not require disconnecting users. It is also recommended to do daily.
- Full reindexing - done with a database lock, it is recommended to do it at least once a week. Naturally, after a complete reindexing, indexes are defragmented and statistics are updated immediately.
As a result, with the help of fine-tuning the system, SQL server and working base, we managed to increase productivity by 46%. The measurements were carried out using the 1C instrument and using the Gilev test. The latter showed 25.6 units against 17.53 which were originally.
Brief conclusion
- The performance of 1C does not depend much on the frequency of the RAM. When a sufficient volume is reached, further memory expansion does not make sense, since it does not lead to an increase in performance.
- The performance of 1C does not depend on the video card.
- The performance of 1C does not depend on the disk subsystem, provided that the queue for reading or writing disks is not exceeded. If SATA drives are installed and they have not exceeded the queue, then installing an SSD will not improve performance.
- The performance is quite dependent on the frequency of the processor.
- 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! Highly 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 rather doubtful 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 1C operation.
Is your 1C running slowly? Order IT maintenance of 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
1C: Accounting is one of the most famous and most convenient programs accounting. Proof of this is its ubiquity in all areas of activity: trade, manufacturing, finance, etc.
Unfortunately, like everyone computer programs in 1C: Accounting there are also various failures and freezes. One of the most common problems is the slow operation of the system.
In order to understand the reasons for its occurrence and try to solve them, today's article was written.
Elimination of common causes of slow work 1C
1. The most common reason for the slow operation of the program is the long-term access to the 1C base file, which is possible due to errors on the hard drive or due to poor quality of the Internet connection, in the case of using cloud technologies. There may also be problems in the settings of the anti-virus system.
Solution: Perform a troubleshooting scan and defragment your hard drive. Test the speed of Internet access. For low rates (less than 1 Mb / s), contact the provider's TP service. Temporarily disable anti-virus protection and firewall in the anti-virus system.
2. Perhaps the slow operation of the program is due to the large size of the database file.
To solve this problem open 1C in the "Configurator" mode, select the "Administration" item in the system menu, then "Testing and correction". In the window, the “Compress information database tables” item must be selected, the “Testing and correction” item is active below. Click "Run" and wait for the process to finish.
3. Next possible reason- outdated software or an outdated version of the program itself.
Way out of this situation: update the operating system software or install the latest version of the 1C program at the moment. For the purpose of preventive actions, always upgrade to the latest version, which eliminates errors from earlier configurations.
to install latest version 1C system, you need to enter the program in the "Configuration" mode, then from the menu go to "Service" -> "Utilities" -> "Configuration Update", then select the default settings and click the "Update" button.
This article discusses the main factors: when 1C slows down, 1C freezes and 1C works slowly. The data was prepared on the basis of SoftPoint's many years of experience in optimizing large IT systems built on a combination of 1C + MS SQL.
To begin with, it is worth noting the myth that 1C is not designed for the simultaneous operation of a large number of users, actively supported by forum users who find comfort and reason in these posts to leave everything as it is. With enough patience and a level of knowledge, you can bring the system to any number of users. Slow work and freezing 1C will no longer be a problem.
From practice: It is easiest to optimize 1C v7.7 (Optimization of 1C 8.1, 1C 8.2, 1C 8.3 is a more difficult task, since the application consists of 3 links). Getting it up to 400 concurrent users is a fairly typical project. Up to 1500 is already difficult, requiring hard work.
The second myth: in order to improve the performance of 1C and get rid of 1C freezes, you need to install a more powerful server. As a rule, in optimization projects in 95% of cases it is possible to achieve acceptable performance either without an upgrade at all, or by updating an insignificant part of the equipment, for example, by adding RAM. At the same time, it should be noted that the equipment must still be server-based, especially disk subsystem. An outdated disk subsystem is just one of the reasons why 1C is slow.
The main limitation in multi-user work in 1C is the blocking mechanism. It is the locks in 1C, and not the server equipment, that usually prevent a large number of people from working in the database. To overcome this trouble, you have to work hard and change the logic of locks in 1C - lower them from tabular to line-by-line. Then, for example, holding a document will block only one, and not all documents in the system.
Figure 1. 1C blocking queue in the PerfExpert monitoring system, with information about 1C users, a configuration module, and a specific line of code in this module.
Changing the 1C lock mechanism is a very complex technology. Not everyone is able to pull off such a trick, and for them there is only one way left - to optimize the structure and speed up the execution time of operations. The fact is that blocking in 1C and the time it takes to complete operations are highly interrelated indicators. For example, if the operation of posting a document takes 15 seconds, then with a large number of users, it is highly likely that during posting someone else will try to post the document and will wait in the lock. If you bring the execution time to at least 1 second, then 1C blocking for this operation will be significantly reduced.
More dangerous in terms of blocking are group processing, which can be long in execution time and at the same time cause 1C blocking. Any processing that changes the data, such as resequencing or batch processing of documents, locks tables and prevents other users from posting documents. Naturally, the faster these processings are performed, the less time locks and easier for users to operate.
Heavy reports that perform only read operations can also be dangerous in terms of locks, although they do not seem to lock data. Such reports affect the intensity of blocking in 1C, slowing down other operations in the system. That is, if the report is very heavy and takes up the bulk of the server resources, it may turn out that before the report was launched, the same executions were performed for 1 second, and during the report execution, 15 seconds were performed. Naturally, with an increase in the execution time of operations, the intensity of blocking will also increase.
Figure 2. Load on the working server in the context of configuration modules, from all users. Each module has its own color. There is a clear imbalance in the load created from 1C.
The main rule when optimizing is that the time of the document should take a minimum of time and perform only the necessary operations. For example, register calculations are often used in posting processing without specifying filtering conditions. In this case, you need to specify filters for registers that allow you to get the best selectivity, without forgetting that, according to the filtering conditions, the register should have corresponding indices.
In addition to running heavy reports, non-optimal settings of MS SQL and MS Windows can slow down the execution time of operations and, therefore, increase the intensity of 1C blocking. This problem is found in 95% of customers. It should be noted that these are servers of serious organizations, and entire departments of highly qualified administrators are involved in their support and configuration.
The main reason for not properly configuring the server is the fear of administrators to change anything on a running server and the rule "The best is the enemy of the good." If the administrator changes the server settings and problems begin, then all the anger of the authorities will pour out on the negligent administrator. Therefore, it is more profitable for him to leave everything as it is, and not take a single step without the order of his superiors, than to experiment under his own responsibility.
The second reason is the lack of clear information on network optimization problems. There are a lot of opinions, which often completely contradict each other. Every opinion dedicated to optimization has its opponents and fanatics who will defend it. As a result, the internet and forums confuse server settings rather than help. In a situation of such uncertainty, the administrator has even less desire to change something on the server, which at least somehow works.
At first glance, the picture is clear - you need to optimize everything that slows down the 1C server. But let's imagine ourselves in the place of such an optimizer - let's say we have 1C 8.1 8.2 8.3 SCP and 50 users work at the same time. One terrible day, users begin to complain that 1C is slow, and we need to solve this problem.
First of all, we look at what is happening on the server - all of a sudden there is some kind of independent antivirus that performs a full system scan. Inspection shows that everything is decent - the server is loaded under 100%, and only by the sqlservr process.
From practice: one of the junior administrators, on his own initiative, turned on auto-update on the server, Windows and SQL were happily updated, and after the update, a massive slowdown in the work of 1C users began, or 1C simply freezes.
The next step is to check which programs load MS SQL. Inspection shows that the load is generated from approximately 20 application server connections.
From practice: a program that promptly updates the data on the site got stuck, and instead of updating every 4 hours, it did it without stopping, without pauses, heavily loading the server, and blocking the data.
Further analysis of the situation faces great difficulties. We have already found out that the load comes directly from 1C, but how to understand what exactly users are doing? Or at least who they are. Well, if there are 10 1C users in the organization, then you can just walk through them and find out what they are doing now, but in our case there are fifty of them, and they are scattered over several buildings.
In the example we are considering, the situation is not yet complicated. And imagine that the slowdown was not today, but yesterday. Today the situation does not repeat itself, everything is in order, but you need to figure out why the operators could not work yesterday (they naturally complained only before leaving home, because they like to chat all day, because nothing works, they like it more than working ). This case underlines the need for a server logging system that will always keep a history of the main parameters of the server and from which the sequence of events can be restored.
The logging system is simply an indispensable tool in system optimization. If you add to it the ability to view the current state online, you will get a system for monitoring the state of the server. Every optimization project starts with collecting server state statistics to identify bottlenecks.
When we started working in the field of optimization, we tried many server monitoring systems, unfortunately, we failed to find something that solves this problem at the proper level, so we had to create a system on our own. The result was a unique product, PerfExpert, which made it possible to automate and streamline the processes of optimizing IT systems. The program is distinguished by tight integration with 1C, the absence of any noticeable additional load and repeatedly proven suitability for practical use in combat situations.
Returning to our example, the most likely outcome is: The administrator says “The programmers who wrote the configuration are to blame”, the programmers answer - “We have everything written well - this server is not working well.” And the cart, as they say, is still there. As a result, 1C slows down, freezes or runs slowly.
In any case, to solve 1C performance problems, we recommend that you first purchase and use performance monitoring PerfExpert , this will allow you to make the right management decision and save money. The product is suitable both for small IS 1C:Enterprise - up to 50 users, and for systems - from 1000 users. From July 2015 performance monitoring PerfExpert received a certificate 1C: Compatible, was tested in Microsoft and helps to solve performance problems not only for 1C systems, but also for others information systems on the base MS SQL Server (Axapta, CRM Dynamics, Doc Vision and others).
If you liked the information, the recommended next steps are:
- If you want to independently deal with the technical performance problems of 1C (1C 7.7, 1C 8.1, 1C 8.2,1C 8.3) and other information systems, then you have a unique list of technical articles in our Almanac (Locks and deadlocks, high CPU and disk load, database maintenance and index tuning are just a small part of the technical materials that you will find there).
.
- If you want to discuss performance problems with our expert or order a PerfExpert performance monitoring solution then leave a request and we will contact you as soon as possible.
1C is a program designed to automate the activities of any enterprise. This utility greatly simplifies many actions within the enterprise. However, users of this product have repeatedly noticed that 1C sometimes slows down. There can be plenty of reasons for this, and it is not at all necessary that the matter is in the program itself. It is likely that you do not have all the programs necessary for normal operation system requirements, but sometimes there are other reasons for the slow operation of this utility.
What are the minimum system requirements for 1C to work?
As for all other software products designed for a computer, there are also minimum system requirements for 1C. We will analyze them now.
System requirements for 1C:
- core speed: 2.4 GHz (for client-server), 3 GHz (for file value);
- Memory (RAM): 8 GB ( file version), 4 GB (for client-server);
- Internet connection speed - at least 100 Mb / s;
- free hard disk space - at least 2 GB.