1s 8 works slowly on the network. Automation Tips

Very often people come to me with questions like:

  • Why does the 1C server slow down?
  • computer running 1C is very slow
  • 1C client is terribly slow

What to do and how to overcome it, and so on in order:

Clients work very slowly with the server version of 1C

Except slow work 1C, there is also slow work with network files. The problem occurs during normal operation and with RDP

to solve this, after every installation of Seven or the 2008 server, I always start

netsh int tcp set global autotuning=disabled

netsh int tcp set global autotuninglevel=disabled

netsh int tcp set global rss=disabled chimney=disabled

and the network works without problems

sometimes the best option is:

netsh interface tcp set global autotuning= HighlyRestricted

this is what the installation looks like

Configure Anti-Virus or Windows firewall

How to configure an Anti-Virus or Windows firewall for running a 1C server (a combination of 1C Server: Enterprise and MS SQL 2008, for example).

Add rules:

  • If the SQL server accepts connections on standard TCP port 1433, then we allow it.
  • If the SQL port is dynamic, then you must allow connections to the %ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe application.
  • Server 1C runs on ports 1541, cluster 1540 and range 1560-1591. For completely mystical reasons, sometimes such a list of open ports still does not allow connections to the server. To make sure it works, allow the range 1540-1591.

Server/Computer performance tuning

In order for your computer to work at maximum performance, you need to configure it for this:

1. BIOS settings

  • In the server BIOS, we disable all settings to save processor power.
  • If there is “C1E” & be sure to DISCONNECT!!
  • For some not very parallel tasks, it is also recommended to turn off hypertrading in the BIOS
  • In some cases (especially for HP!) you need to go into the server BIOS and turn OFF the items there that have EIST, Intel SpeedStep and C1E in their names.
  • Instead, you need to find items related to the processor there that have Turbo Boost in their names, and ENABLE them.
  • If in the BIOS there is a general indication of a power saving mode & include it in maximum performance mode (it can also be called “aggressive”)

2. Scheme settings in the operating system - High performance

Servers with Intel Sandy Bridge architecture can dynamically change processor frequencies.

Everyone who works with products on the 1C:Enterprise platform has probably heard the phrase “1C is slow.” Some people complained about it, others accepted complaints. In this article we will try to look at the most common causes of this problem and options for solving it.

Let's turn to a metaphor: before finding out why a person did not come somewhere, you should make sure that he has legs to walk. So, let's start with the hardware and network requirements.

If Windows 7 is installed:

If you have Windows 8 or 10 installed:



Also remember that free space The disk must have at least 2GB, and the network connection must have a speed of at least 100 MB/sec.

Consider the characteristics of servers in the client-server version makes a lot of sense does not, because in this case everything depends on the number of users and the specifics of the tasks they solve in 1C.

When choosing a server configuration, keep the following in mind:

  • One 1C server worker process consumes an average of 4 GB (not to be confused with a user connection, since one worker process can have as many connections as you specify in the server settings);
  • Using 1C and a DBMS (especially MS SQL) on one physical server gives benefits when processing large amounts of data (for example, closing a month, calculating a budget based on a model, etc.), but significantly reduces performance during unloaded operations (for example, creating and conducting implementation document, etc.);
  • Remember that 1C servers and the DBMS must be connected over a channel “thick” of 1 GB;
  • Use high-performance disks and do not combine the 1C server and DBMS roles with other roles (for example, file, AD, domain controller, etc.).

If after checking the equipment 1C still “slows down”

We have a small company, 7 people, and 1C is slow. We contacted specialists, and they said that only the client-server option would save us. But for us such a solution is not acceptable, it is too expensive!

Carry out routine maintenance in the database*:

1. Launch the database in configurator mode.


2. Select “Administration” in the main menu, and in it – “Testing and correction”.


3. Check all the boxes as in the picture. Click Run.

*This procedure may take from 15 minutes to an hour depending on the size of the database and the characteristics of your PC.

If this does not help, then we make a client-server connection, but without additional investments in hardware and software:

1. Choose the least loaded desktop computer in the office (not a notebook): it must have at least 4 GB RAM and a network connection of at least 100 Mb/s.

2. Activate IIS (Internet Information Server) on it. To do this:





3. Publish your database on this computer. There is available material on this topic on ITS, or contact a support specialist.

4. On user computers, configure access to the database through a thin client. To do this:


Open the 1C launch window.


Select your work base. Here it is “Your Base”. Click "Edit". Set the switch to the “On a web server” position, indicate in the line below the name or IP address of the server on which IIS was activated, and the name under which the database was published. Click Next.


Set the "Basic startup mode" switch to "Thin Client" mode. Click "Done".

We have a rather large company, but not a very big one, about 50–60 people. We use a client-server option, but 1C is terribly slow.

In this case, it is recommended to split the 1C server and the DBMS server into two different servers. When separating, be sure to remember: if they remained on the same physical server, which was simply virtualized, then the disks of these servers must be different - physically different! Also, be sure to set up routine tasks on the DBMS server when it comes to MS SQL (more details about this are described on the ITS website)

We have a rather large company, more than 100 users. Everything is configured in accordance with 1C recommendations for this option, but when processing some documents, 1C is very slow, and sometimes a blocking error occurs. Maybe do a base roll?

A similar situation arises due to the size of a very specific accumulation or accounting register (but more often - accumulation), due to the fact that the register either “closes” altogether, i.e. there are incoming movements, but no flow movements, or the number of dimensions by which register balances are calculated is very large. There may even be a mix of the two previous reasons. How to determine which register is ruining everything?

We record the time when documents are processed slowly, or the time and user who has a blocking error.

Open the registration log.



We find the document we need, at the right time, for the right user with the event type “Data.Post”.



We look at the entire block of execution until the transaction is canceled if there was a blocking error, or we look for the longest change (the time from the previous record is more than a minute).

After this, we make a decision, keeping in mind that collapsing this particular register is in any case cheaper than the entire database.

We are a very large company, more than 1000 users, thousands of documents per day, our own IT department, a huge fleet of servers, we have optimized queries several times, but 1C is slow. We have apparently outgrown 1C, and we need something more powerful.

In the vast majority of such cases, it is not 1C that is slowing down, but the architecture of the solution used. Making a choice in favor new program for business, remember that writing your business processes in a program is cheaper and easier than converting them to some, especially a very expensive program. Only 1C provides this opportunity. Therefore, it is better to ask the question: “How to correct the situation? How can you make 1C “fly” at such volumes?” Let's briefly look at several treatment options:

  • Use parallel and asynchronous programming technologies that 1C supports (background jobs and queries in a loop).
  • When designing the solution architecture, avoid using accumulation registers and accounting registers in the most bottleneck areas.
  • When developing a data structure (accumulation and/or information registers), adhere to the rule: “The fastest table for writing and reading is a table with one column.” About what we're talking about, it will become clearer if you look at the typical RAUZ mechanism.
  • To process large volumes of data, use auxiliary clusters where the same database is connected (but in no case should this be done during interactive work!!!). This will allow you to bypass standard 1C locks, which will make it possible to work with the database at almost the same speed as when working directly with SQL tools.

It is worth noting that 1C optimization for holdings and large companies is a topic for a separate great article, so stay tuned for updated materials on our website.

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” and above, 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 high frequency 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. ( Good description at Gilev's. 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 use the BIOS settings so that the mode Windows performance 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 average speed copying 100 MB/sec, good work - 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 one more thing. With default settings windows client works best with a windows server (or even a windows workstation) and the SMB/CIFS protocol, a linux client (debian, ubuntu haven’t looked at the others) works better with linux and NFS (it also works with SMB, but NFS is superior). 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:

IN command line(or in policies, or as you prefer) - 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, test server not configured properly yet). 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 graph 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.

Other than that equal conditions(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 explicit 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. During active work large quantity users (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 tested in 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 drive, I also test in to a greater extent cache of this disk, the actual 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 don't put 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 terminal server run the Gilev test (from the same disk where the working databases are located) and in those moments when the working database slows down, and the Gilev test shows a good result (above 30) - then the programmer is most likely to blame for the slow operation of the main working database.

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 options servers and the 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

Everything seems to be interesting options I’ve looked into it, if there’s anything else you’re interested in, write in the comments, I’ll try to do it.

SAS on storage systems works slower than local SSDs, even though the storage system has large sizes cache. SSDs, both local and on storage systems for Gilev’s test work at comparable speeds. 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.

Users often complain that “1C 8.3 is slow”: document forms open slowly, documents take a long time to process, the program starts, reports take a long time to generate, and so on.

Moreover, such “glitches” can occur in different programs:

The reasons may be different. This is not restored documents, a weak computer or server, the 1C server is incorrectly configured.

In this article I want to look at one of the simplest and most common reasons for a slow program - . This instruction will be relevant for users of file databases for 1-2 users, where there is no competition for resources.

If you are interested in more serious optimization of client-server options for system operation, visit the section of the site.

Where are the scheduled tasks in 1C 8.3?

Before I had time to load the program, 1C executed many background jobs. You can view them by going to the “Administration” menu, then “Support and Maintenance”:

Get 267 video lessons on 1C for free:

This is what the window with completed tasks looks like:

And so full list everyone routine tasks, which are launched:

Among these tasks you can see such as ““, loading various classifiers, checking the relevance of the program version, and so on. For example, I have no use for almost all of these tasks. I don’t keep currency records, I control the versions myself, and load classifiers as needed.

Accordingly, it is in my (and in most cases in your) interests to disable unnecessary tasks.

Disabling routine and background tasks in 1C 8.3

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, network card with support for speed 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. Besides, this decision 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

Gained great popularity back in the days of 1C 7. Implemented on the server Windows versions and copes with our task perfectly. However, it has its pitfalls, namely the cost of licenses.

Herself operating system 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 must 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 throughput the network becomes no longer critical. Our tests have shown that you can work comfortably through mobile internet on a cheap tablet without experiencing any 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 optimization of 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 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.