File database bottlenecks - how to avoid (from recent experience). File-based slowdowns - how to avoid (from recent experience) File-based version slows down 1C 8.3 over the network

2. Features of the program. Often, even with optimal settings, 1C works very slowly. Performance drops especially sharply when the number of simultaneously working with the database exceeds 4-5 users.

Who are you in the company?

The solution to the problem of slow 1C operation depends on who you are in the company. If you are a techie, just read on. If you are a director or accountant, follow the special link ↓

Network Bandwidth

As a rule, not one, but several users work with one information base (IS). At the same time, there is a constant exchange of data between the computer on which the 1C client is installed and the computer on which the information security is located. The volume of this data is quite significant. A situation often arises when a local network operating at a speed of 100 Mbit/s, which is the most common speed, simply cannot cope with the load. And again the user complains about the program being slow.

Each of these factors individually already significantly reduces the speed of the program, but the most unpleasant thing is that usually these things add up.

Now let's look at several solutions to the problem of low 1C speed and their cost, using the example of a local network of 10 medium-sized computers.

Solution one. Infrastructure modernization

This is perhaps the most obvious solution. Let's calculate its minimum cost.

At a minimum, for each computer we need a 2 GB RAM stick, which costs on average 1,500 rubles, a network card supporting a speed of 1 Gbit/s costs about 700 rubles. Additionally, you will need at least 1 router that supports a speed of 1 Gbit/s, which will cost approximately 4,000 rubles. Total cost - 26,000 rubles for equipment, excluding work.

In principle, the speed can increase significantly, however, now it is no longer possible to buy inexpensive computers for the office. In addition, this solution is not applicable for those who use Wi-Fi or want to work via the Internet - in their case, the network speed can be tens of times lower. The thought arises: “Is it not possible to implement the entire program on one powerful server, so that the user’s computer does not participate in complex calculations, but simply serves to transfer the image?” Then you can work even on very weak computers, even on low-bandwidth networks. Naturally, such solutions exist.

Solution two. Terminal Server

It gained great popularity back in the days of 1C 7. It is implemented on the server version of Windows and copes well with our task. However, it has its pitfalls, namely the cost of licenses.

The operating system itself will cost about 40,000 rubles. In addition to this, we will need for everyone who plans to work in 1C a Windows Server CAL license, costing about 1,700 rubles, and a Windows Remote Desktop Services CAL license, which costs about 5,900 rubles.

Having calculated the cost for a network of 10 computers, we end up with 116,000 rubles. only for one license. Add to this the cost of the server itself (at least 40,000 rubles) and the cost of implementation work, however, even without this, the price for licenses turned out to be impressive.

Solution three. Service 1C Enterprise

1C has developed its own solution to this problem, which can significantly increase the speed of the program. But there is a nuance here too.

The fact is that the cost of such a solution ranges from 50,000 to 80,000 rubles, depending on the edition. For a company with up to 15 users it turns out to be quite expensive. Great hopes were placed on the “1C enterprise mini-server”, which, according to the 1C company, is aimed at small businesses and costs around 10,000 - 15,000 rubles.

However, when it went on sale, this product was a big disappointment. The fact is that the maximum number of users with whom the mini-server could be used was only 5.

As one 1C programmer wrote on the forum: “It is still not clear why 1C chose exactly 5 connections! The problems only begin with 4 users, but with five it all ends. If you want to connect a sixth person, pay another 50 thousand. We could do at least 10 connections...”

Of course, the mini-server also found its consumer. However, for companies where 5 or more people work with 1C, a simple and inexpensive solution has not appeared.

In addition to the program acceleration methods described above, there is another one that is ideal for the segment of 5 - 15 users, namely web access for 1C in file mode.

Solution four. Web access for 1C in file mode

The principle of operation is as follows: an additional role of a web server is installed on the computer, on which information security is published.

Naturally, this should be either the most powerful computer on the network, or a separate machine dedicated to this role. After that, you can work with 1C in web server mode. All heavy operations will be performed on the server side, and traffic transmitted over the network will be minimized, as will the load on the client’s computer.

Thus, even very weak machines can be used to work in 1C, and network bandwidth becomes not critical. Our tests have shown that you can comfortably work via the mobile Internet on a cheap tablet without experiencing discomfort.

This option is inferior to the enterprise 1C server in terms of operating speed, but this difference is practically invisible up to 15-20 users. By the way, to implement a web server you can use IIS (for Windows) and Apache (for Linux) and both of these solutions are free!

Despite the obvious advantages, this method of optimizing 1C operation has not gained much popularity.

I can’t say for sure, but most likely this is due to two reasons:

  • Quite a weak description in the technical documentation
  • Located at the intersection of responsibility of the system administrator and 1C programmer

Usually, when a system administrator is approached with a problem of low speed, he suggests upgrading the infrastructure or a terminal server; if a 1C specialist is contacted, he is offered a 1C enterprise server. So, if in your company, a specialist responsible for infrastructure and a specialist responsible for 1C work “hand in hand,” then you can safely use a solution based on a web server.

Let's speed up 1C. Remotely, quickly and without your participation

We know how to speed up 1Ski without disrupting the customer. We delve into the problem, do our job and leave. If you want the program to just work normally, contact us. We'll figure it out.

Leave a request and receive a free consultation on accelerating the program.

In many ways, 1C optimization and speed of work depend on working with locks, queries and indexes. We will try to answer the question “how to speed up the work of 1C” (we will consider the question of how to speed up the launch of 1C in another article) and avoid user complaints about “long processing of documents”, which inevitably affects business processes.

Part 3. 1C performance

Locks in 1C 8.3: search and elimination in the code, transfer to managed locks

Locks are part of the ACID mechanism. Let's consider its concept, presented in the form of a simplified diagram, using the example of SQL SERVER

In automatic mode, locks are managed by the DBMS itself. At the same time, side effects appeared on the MS SQL server, such as locking empty tables and border data ranges (Serializable level), which created additional problems in multi-user work. To solve these problems, 1C created controlled locks.

1C Controlled locks

The locking mechanism was moved to the 1C server, and at the DBMS level, isolation was reduced to a minimum. On MS SQL, the isolation level was lowered to Read Committed with a shared locking mechanism on the 8.2 platform and a row versioning mechanism on the 8.3 platform (the so-called Read Committed Snapshot Isolation). More precisely, this is the database property of the same name and two Read Committed operating modes that depend on this parameter.

At the last level of isolation (RCSI), the mechanism made it possible not to intersect reading and writing transactions on the same resources on the DBMS server. All the main work was taken over by the 1C blocking service, which determines, based on native metadata, whether or not to allow transactions to the DBMS server, so that there are no violations of business logic. Problems with locking empty tables and border ranges are a thing of the past.

DBMS Lock type Transaction isolation level Read outside of transaction
Automatic locks
File Database Tables Serializable Dirty read
MS SQL Server Posts Dirty read
IBM DB2 Posts Repetable Read or Serializable Dirty read
PostgreSQL Tables Serializable Consistent reading
Oracle Database Tables Serializable Consistent reading
Managed locks
File Database Tables Serializable Dirty read
MS SQL Server 2000 Posts Read Committed Dirty read
MS SQL Server 2005 and higher Read Committed Snapshot Consistent reading
IBM DB2 before version 9.7 Posts Read Committed Dirty read
IBM DB2 version 9.7 and higher Posts Read Committed Consistent reading
PostgreSQL Posts Read Committed Consistent reading
Oracle Database Posts Read Committed Consistent reading

In order to find out what locking mode the 1C program database is in, you need to run the following request from SSMS in the context of the desired database:


1C locks. The user will not wait on locks, 1C will speed up if you adhere to certain rules:

  • The duration of transactions should be reduced as much as possible. Carrying out lengthy calculations in a transaction in 100% of cases will lead to blocking when working on an OLTP system.
  • Long external operations within a transaction are eliminated, for example, sending and receiving confirmations by email, working with the file system and other additional actions. All operations must be placed in deferred short tasks.
  • Queries are optimized to the maximum.
  • Indexes should be created only as needed to ensure optimal query performance within the application.
  • Inclusions of frequently updated columns in the clustered index have been minimized. Updates to a clustered index key column/s require a lock on both the clustered index and all nonclustered indexes (because their locator row contains the clustered index key).
  • Where possible, a covering index is created and used to reduce data retrieval time.
  • Using the lowest level of transaction isolation, which will require switching to managed locking mode.

Tools for diagnosing blockages:

  • Technology magazine;
  • Performance Management Center from 1C tools;
  • Gilev cloud services;

Below is an example of system monitoring using the Gilev service. The total duration of blocking is ~15 hours. More than 400 active users. After making decisions and optimization, timeouts are less than a minute, and the number of blockings has been reduced by ~670 times.

Was:



Became:


In a situation where “everything hangs and takes a long time,” and monitoring services are not configured or are not used at all, remembering the Pareto principle, you need to focus on the code.

In automatic mode, the presence of locks on the server can be detected using a system procedure in the context of the desired database. This stored procedure allows you to determine in what mode locks operate, their status, type, etc.:



Having finalized the procedure for 1C, you can get visual information about what is currently happening on the server, taking into account the specifics of the 1C tables:


Fragment 1

//Locks in terms of 1C SELECT * FROM dbo.ReturnLockName1C(DEFAULT,DEFAULT) as t Where TableName1C IS NOT NULL ORDER BY t.Resource

The use of this mechanism allows you to obtain complete information about the current locks. If the report contains only S-locks, the problem may be a long-running query or queries. To establish the cause and place of their appearance in the code, you can take different paths: use DMO objects of the SQL server (but keep in mind that the data from them is reset after the server is rebooted) or configure the Data Collector, saving monitoring data in tables for a certain time. The main thing is to get the texts of problematic requests.

Using SQL Server DMO Objects

We display the server start date to understand the relevance of the data. We split the package by reading rating (physical, logical, processor load). In this case, the master data from sys.dm_exec_query_stats is used. We translate the request text into 1C terms. If you can understand the context of the call from the request text, then all that remains is to look at the request plan, find problematic operators and understand what can be done.

Fragment 2

//start time SELECT sqlserver_start_time FROM sys.dm_os_sys_info; //Top requests for physical reading SELECT TOP (50) (total_physical_reads) AS Total_physical_reading,

Identifying problematic queries as a result of Data Collector collection

Using this tool, you can rank data according to the necessary parameters, such as processor load, duration, logical I/O, physical read operations, which allows you to save complete statistics for further analysis, despite rebooting the SQL server.


After problematic requests are collected by the server without third-party monitoring, you can rank the received data according to the necessary parameters.

Next, by turning on the technological log and specifying in the settings “search by string” and the part of the request that is guaranteed to be encountered, you can find out where the problematic request was called from. If the server has several databases or the user name is known, it is worth adding additional fields for the filter to reduce the load on the server when collecting the process log.

An example of a problematic request and an example of setting up a technological log:



Query optimization as an opportunity to speed up 1C 8.3


The consequences of suboptimal queries can manifest themselves in the form of lengthy processing of documents, painfully long generation of reports, system freezes and other unpleasant events.

When working with requests, you CANNOT:

  • Join tables with subqueries;
  • Connect regular tables with virtual ones;
  • Use logical "OR" in conditions;
  • Use subqueries in join conditions;
  • Receive data via a dot from fields of a composite type without the “Express” keyword.

When working with requests, YOU CAN:

  • Create indexes on query conditions, join, aggregation and sort fields;
  • Filtering virtual tables must be done using selection parameters.

Using indexes and their impact on system performance quality

A lot has been written about indexes, the need for their use and the impact on the quality of system operation. Let's try to understand the intricacies of the “design” of indexes, application options and advantages over regular tables.

Indexing is an important part of the DBMS kernel. Missing indexes, or vice versa, an excessive number of them, affect the speed of retrieval, modification, addition and deletion of data. Let's look at indexing using the example of the most common Microsoft DBMS.

For a general understanding of how this works, let's look at the details of the data storage mechanism, which we usually represent in the form of a table (for example, Excel).

The unit of physical data storage is the page - an 8 KB module that belongs to only one object (for example, a table or index). A page is the smallest unit for reading and writing. Pages are collected into extents. An extent consists of 8 consecutive pages. Extent pages can belong to one or more objects. When pages belong to multiple objects, the extent is called "mixed".

Its contents can be viewed below:





Now that we have an idea of ​​how a disk storage unit works, let's talk more about tables and indexes.

By default, if you do not use special T-SQL statements, the empty table is created as a "heap" - a simple set of pages and extents. The data in the heap has no logical order. The SQL Server engine keeps track of page and extent ownership of a specific object using special system pages called Index Allocation Maps. Every table or index has at least one IAM page, called the "first IAM page".


Thus, after creating a regular table, by default, the result is a chaotic arrangement of data. You can view the table status using the following procedure:


The main indices used by the 1C platform

Fragment 3

Myths and reality:

Myth one: clustered indexes and a data table are two different entities, stored separately from each other.

Myth two: there can be many clustered indexes in one table.

I downloaded a program to optimize the DBMS. Created recommended indexes. Sampling speed increased by 50%. Changing and adding data slowed down 7 times.

Clustered (clustered) index

Clustered indexes are a set of pages that sort and store rows of data in tables or views based on their key values—the columns included in the index definition. There is a limitation on this type of index of 16 columns and 900 bytes. For each table there is only one clustered index, because data rows can only be sorted in one order. Creating a clustered index occurs by reorganizing the table rather than copying the data, which allows the table to be stored as a balanced tree.

Fragment 4

SELECT NAME, TYPE, TYPE_DESC FROM sys.indexes WHERE object_id = OBJECT_ID("Trace Data")

Non-clustered index

Nonclustered indexes have a structure separate from the data rows. A non-clustered index contains the values ​​of the clustered index key, and each record contains the clustered index key (not RID, since 1C tables do not use heaps, with rare exceptions).

You can add nonkey columns to the leaf level of a nonclustered index and bypass the existing index key limit (900 bytes and 16 key columns) by running fully indexed queries.

After adding a non-clustered index, the data was copied and another object appeared:



Fragment 5

SELECT NAME, TYPE, TYPE_DESC FROM sys.indexes WHERE object_id = OBJECT_ID("Trace Data")

Schematic of the clustered index after retrieving it from the heap in the form of a balanced tree:



Schema of a non-clustered index derived from a clustered table (note that the row locator column has a clustered index key):



Impact of indexes on query performance

Using an index, the query optimizer searches the key columns in the index, finds where the query rows are stored, and retrieves matching rows from there. Searching an index is much faster than searching a table because, unlike a table, an index often contains fewer columns per row, and the rows are sorted in order.

Creating multiple indexes leads to the fact that the sampling speed increases, and the write speed during modification is significantly reduced. To solve this problem, first of all, you need to delete unnecessary indexes or first lock them without deleting them, which will allow you to simply enable them if such a need arises.

Please note that a clustered index cannot be blocked under any circumstances, because this will block access to the table data. This only applies to indexes that you created yourself via T-SQL. The reason for creating indexes using T-SQL, bypassing 1C:Enterprise, is associated, first of all, with the limited capabilities of the 1C platform in terms of manipulating indexes and including additional fields in the created index.

T-SQL statement that performs the action of locking an index:

//Lock a separate index in the table -ALTER INDEX _Reference22_ByPredefinedIDNotUniq ON _Reference22 DISABLE; //Include the desired index -ALTER INDEX _Reference22_ByPredefinedIDNotUniq ON _Reference22 REBUILD;

In addition to the above steps, it is important to create a filegroup on a physical disk that does not contain the current database files and move the non-clustered indexes there. This will speed up data modification by parallelizing their recording.

Determining which indexes are needed or unnecessary to speed up queries

By default, 1C creates a certain basic set of indexes. Often, there are simply not enough of them. SQL Server has mechanisms that allow you to understand, based on your workload, how necessary your existing indexes are.

The Database Engine Tuning Advisor analyzes databases and makes recommendations for optimizing query performance. It can be used to select and create optimal index sets without having an expert level of understanding of database design or the internal processes of SQL Server. The Database Engine Configuration Assistant allows you to perform the following tasks:

  • Troubleshoot the performance of a specific problematic query;
  • Configure a large set of queries in one or more databases.

DMOs (dynamic management objects), which include dynamic management views and dynamic management functions. For example, a T-SQL statement can retrieve all indexes that have not been used since the server was last started.



Fragment 6

WITH vl as (SELECT OBJECT_NAME(I.object_id) AS objectname, I.name AS indexname, I.index_id AS indexid FROM sys.indexes AS I INNER JOIN sys.objects AS O ON O.object_id = I.object_id WHERE I.object_id > 100 AND I.type_desc = "NONCLUSTERED" AND I.index_id NOT IN (SELECT S.index_id FROM sys.dm_db_index_usage_stats AS S WHERE S.object_id=I.object_id AND I.index_id=S.index_id AND database_id = DB_ID("Database_name '))) SELECT objectname,T1.NameTable1C, indexid, indexname FROM vl OUTER APPLY dbo.ReturnTableName1C(objectname) as T1 ORDER BY objectname, indexname;

Instructions that can be used to create the necessary indexes recommended by the DBMS kernel:



Fragment 7

SELECT T1.NameTable1C as Table_Name_1C, "CREATE INDEX " + " ON "
The query optimizer, when generating the query execution plan, identifies the need to create the missing index. It stores this information in XML ShowPlan. Because query plans are hashed and instructions are saved (until the next server restart), then they can be retrieved, processed and ready-made instructions for creating the necessary indexes for any execution plan in the cache. It is worth paying attention to the frequency of query execution: the higher it is, the more relevant are the results of the query and, accordingly, the collected indicators. If the query was executed once, its results are not so indicative.


Fragment 8

CROSS APPLY query_plan.nodes('//StmtSimple") AS stmt(stmt_xml) WHERE stmt_xml.exist("QueryPlan/Missinglndexes") = 1) SELECT TOP 30 DatabaseName as Database_Name, TableName as Table_Name, T1.NameTable1C as Table_Name 1C, equality_colum ns as Comparison_columns, include_columns as Columns_to_include,

Fragment 9

USE [Database_name] GO CREATE NONCLUSTERED INDEX ON .[_Document497] ([_Fld12771_TYPE],[_Fld12771_RTRef]) INCLUDE ([_Date_Time],[_Fld12771_RRRef],[_Fld12782RRef],[_Fld12784]) GO Some features of indexing by aggregate fields and sorting fields.

Creating an index on the columns specified in the ORDER BY clause helps the query optimizer quickly organize the result set because the column values ​​are sorted in advance in the index. The internal implementation of the GROUP BY mechanism also sorts the column values ​​first to quickly group the required data.

When using standard recommendations, it is worth checking the result before and after optimization. Let's give an example of using the logical union “OR” and its alternative (to solve the problem using standard recommendations) - the technique of changing a query using the “UNITE ALL” syntax.

The 1C request itself with “OR”:

SELECT Code, Name, Link FROM Directory. Counterparties AS Counterparties WHERE Counterparties. Code = "000000004" OR Counterparties. Code = "0074853" OR Counterparties. Code = "000000024" OR Counterparties. Code = "009679294" OR Counterparties. Code = " 0074742" OR Counterparties.Code = "000000104";

Modifying the query with “UNITE ALL”:

SELECT Code, Name, Link FROM Directory. Counterparties AS Counterparties WHERE Counterparties. Code = "000000004" COMBINE ALL SELECT Code, Name, Link FROM Directory. Counterparties AS Counterparties WHERE Counterparties. Code = "0074853" COMBINE ALL SELECT Code, Name, Link FROM Directory.Counterparties AS Counterparties WHERE Counterparties.Code = "000000024" COMBINE ALL SELECT Code, Name, Link FROM Directory.Counterparties AS Counterparties WHERE

Actual query plan (for ease of display and performance comparison, queries intercepted and executed in SSMS):


In this case, after optimization, performance dropped by half due to the repeated use of the Key Lookup operator, which is always accompanied by the Nested Loops operator. Therefore, when using a query optimization scheme, you should measure the target time before and after using improvements. This example is shown for the purpose of “trust but verify” since there may be inconsistencies between typical recommendations and practical tasks.

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 1C system today is one of the main tools for running small and medium-sized businesses. As a rule, all employees of the organization have access to the program. Thus, if 1C starts to slow down or work slowly, then this significantly affects the conduct of business. Let's look at how you can speed up and optimize work in 1C yourself.


Optimization using 1C update

New versions of 1C always work more successfully and quickly, so it is imperative to follow the updates. It is recommended to update your accounting records as often as possible. Especially when versions of regulated reporting are released.

Many people have been using the ability to automatically update the program for a long time. Although this issue can be easily resolved manually for 1C Enterprise 8.3, updating which will not cause any trouble.

The first step is to download the latest version of the platform you are currently using. This is done either using the ITS disk, or through the web interface, where they provide ongoing support to users of a program such as 1c Enterprise 8.3, a configuration update for which is also provided officially.

In the latter case, the archive with update data is downloaded separately. It is unpacked in any folder that is considered most convenient for the user. Then you need to run the .exe file. In the next window, simply click the “Next” button.

Another page will appear. On it, the user selects the path in which the installation is completed. But this step is recommended only for advanced personal computer owners. The default functions are usually sufficient to solve most problems. By default, in this case, one folder is specified where all updates are installed at once. This is much more convenient than when the final paths are different. We simply click on the “Next” buttons several times in the 1c Enterprise 8.3 program, the configuration of which should be updated quickly.

All that remains is the final button, which offers “Install”.

How to speed up 1C if the platform is slow

Problems most often result from the fact that at one of the stages the performer’s concentration of attention decreases. Here it is important to choose the right update scheme, only in this case we will not encounter a problem when 1c freezes during the update.

Version 7.7 update

There are several types of configuration. Depending on this, the course of further actions is chosen.

  • Standard – in this case it is assumed that the update is also carried out for regulated reporting.
  • Typical industry configurations are largely reminiscent of previous options. It is important to read the instructions provided by the developer in advance. Otherwise, you won’t be able to figure out why 1C 8.3 crashes during the update.
  • Modified standard - the user always has the opportunity to modify the application himself so that it meets current needs. Another option for expanding functionality is moving to new platforms. For example, version 8.

About version 8.0 and 8.1

Currently, platform 8.0 is already being withdrawn from support. New standard developments will only work when using the latest versions. You just need to remember that all intermediate releases are completed without fail. Otherwise, there is a high probability of simply losing information. Or encounter a situation where 1c freezes when updating the configuration.

An option is possible when a new standard configuration is implemented, and then the remains from the old information databases are transferred to it.

As for version 8.1, you can update to it in several ways:

  1. manually;
  2. in automatic mode;
  3. contacting specialists from companies providing services in this area.

Working with non-standard or modified versions

Initially, any configuration refers to standard developments. It ceases to be such if certain changes are made at the enterprise. For example, during installation. There are two classes that stand out among non-standard configurations:

  1. changed;
  2. created from scratch, taking into account the needs of a specific enterprise.

Sometimes a second class configuration is actively distributed among users. Then it is considered typical. It’s just that the manufacturer is not considered to be 1C itself, but the company that created the new version.

Configurations can be kept up to date by the following actions:

  • Error correction.
  • Expansion of functionality.
  • Improvement.
  • Change in 1C 8.3, the configuration is not updated in case of maintenance errors.

The installation process may take different times depending on the Internet speed at which you are currently using it. In a separate window, the user selects whether to update upon completion of work, or immediately. With the latter option, you need to make sure that no one else is working with the application. The process itself involves the use of exclusive mode within the 1c Enterprise 8.3 application, the latest update is no exception.

  • We must remember that not all release versions may be suitable for the current configuration.
  • If updates have not been carried out for a long time, you may have to download several files or archives at once.
  • In the list it is easy to understand which version of 1C Enterprise 8.3 is needed, the update is selected by the user.

When the process is completed, the Configurator itself can be closed. This mode is most often used if an update is necessary. It is convenient and automates almost the entire process. When you launch it for the first time, a message may appear indicating that the platform is out of date. And that it is not recommended to use it at the current moment.

Additional reasons for braking

If the program is updated correctly and without any errors, however, 1C still slows down, then the reason may be the following:

  • Antivirus - if configured correctly, no antivirus will interfere with the system, however, if you use factory settings, 1C performance may decrease by 5–10%. You can optimize your antivirus using additional settings by removing the background mode (if absolutely necessary).
  • Computer parameters - often insufficiently powerful computers lead to a significant decrease in 1C performance. Particular attention must be paid to the video card, operating system and processor.

Such methods will significantly optimize and speed up work in 1C for any company or enterprise, after which the program’s performance will significantly increase.

How to increase the speed and ease of use in 1C

Patient symptoms and history:

The work of several users over the network with the same file (database) includes a network blocking mechanism. This forces the system to waste valuable time identifying open recording sessions and resolving conflicts accordingly.

The main signs of blocking operation:

  • fast user work with the database over the network in exclusive mode and extremely slow when several users work simultaneously
  • fast user experience with a local database on the server and slow work over the network
  • file system accesses are just under 10 MB/sec

So, I was given the task of making sure that as many as three users could work in 1C at the same time! Funny, isn't it?

I forgot all the jokes when I saw what I had to deal with: a “server” in the form of an ordinary office computer and two laptops.

Happiness would be incomplete if not for the wonderful operating systems - Windows 7 on the computer and on one laptop, Windows 8 on the other.

When trying to simultaneously post documents on laptops, one was stuck for about a minute, and the second crashed out of 1C with the error text “could not lock the table...”.

Launching 1C on a laptop is a separate show that lasted about 3 minutes!

On many resources I came across advice to switch to working in terminal access. Unfortunately, Windows 7 does not allow you to turn into a terminal server using standard tools - there is a maximum of one active connection. In this case, the remaining sessions do not terminate; you can reconnect under another user - “throwing out” the previous user, but without terminating his session. Therefore, you should transfer 1C to a server OS, where there are no such restrictions. The client, at his own risk, solved the problem using a third-party utility instead Windows7_SP1_RDPhack.

But the adventures didn't end there. Even in the terminal connection there were significant delays. Once again the almighty search engines helped me out. Below are tips for speeding up file 1C, which I followed:

1. Disable use of network protocol IPv6, configure addressing on the “old” IPv4.

2. Add 1C processes to the Windows firewall exceptions, as well as to the antivirus exceptions, or disable them completely (more risky, but a simple test showed speed increase retransfer of documents when Avast antivirus is disabled factor of!)

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

4. Run Testing and fixing the database, checking with the ChDbfl utility

5. Run the Check Configuration item in the configuration (if the configuration is not standard, this may be useful). Based on the results of checking the configuration, it magically decreased in size by almost a third. I didn’t really delve into exactly what the incoming programmers updated before me, but the fact is obvious.

6. Disable unnecessary functional options.

7. Set up user rights. (This and the previous advice seemed stupid until I observed the rendering of managed forms when opening a list of documents. The less unnecessary in a managed interface, the faster it works, as a rule)

8. Start recalculating the totals and restoring the sequence (a significant increase can only occur if the totals have not been restored for a long time)

9. Specify "Connection speed - low" in the database list settings (this did not give much result, except that the images of the subsystems were turned off :))

After completing all these steps, the 1C file database started working much faster. It started to launch in a maximum of 10 seconds, and the speed of document transfer increased on average 12 times.

Perhaps this short article will be useful to you if you suddenly need to speed up your 1C file database.

P.S: But launching a file 1C using network access to a shared folder is still unrealistic, because... Even the fastest solid-state drive, RAM and processor will run into network blockages, and the work of more than one user will be virtually impossible. We are talking specifically about the configuration of UT 11.1. Self-written small configurations can work quite quickly even in the file version.

Additions from comments for publication:

Disk Defragmenter with file base

Convolution database (may be useful if the database is large, for example, for several years). The client's database was quite young, so reduction was impractical.

Hardware upgrade - faster hard drive, new switch, processor, etc.

Install on web server, access using a thin client. Here opinions are divided. Some say it is many times faster, others say that there is no acceleration noted.

Publications on the topic