Open
Close

Load testing 1s. Standard load test. Operating system ms server and ms sql database

Results of the TPC-1 load test of 1C performance according to Gilev for a configuration with a file database:

Server performance is assessed not by workload and CPU queues, but by the ability to perform a certain number of operations per unit of time.
Contention for resources such as the processor reduces the speed of operations when response time is determined by:

  • operation time
  • equipment waiting time
  • time of logical waits like locks

The key characteristic is the speed of the operation.

Note. For a processor, the most significant characteristic is the processor frequency and not the load. Below is a screenshot of the test results (Click on the image to enlarge).

System performance and planning of the necessary computing resources for its implementation is a mandatory operation for any implementation or change of an existing IT system.

Most existing performance evaluation methods rely on some type of testing.

There are two main types of testing: component and integral.

Component testing involves testing individual components of a solution, ranging from the performance of processors or storage subsystems to testing the performance of the server as a whole, but without the payload in the form of a particular business application.

The integrated approach is characterized by an assessment of the performance of the solution as a whole, both its software and hardware parts. In this case, both a business application can be used, which will be used in the final solution, as well as some model applications that emulate some standard business processes and loads.

Our test uses exactly this approach.

We received as a result a certain performance (speed) index. This is the result of the platform as a whole running on our hardware. In the case of the client - server version, this is the result of a complex chain of requests passing through various sections. You get the total actual result, which is determined by the bottleneck in the system. DBMS settings, OS settings, and hardware settings affect the overall performance of the system.

The test evaluates the amount of work per unit of time in one thread and is suitable for assessing the speed of single-threaded loads, including the speed of interface rendering, the impact of costs on maintaining the virtual environment and, if any, transfer of documents, month-end closing, payroll calculation, etc.

The standard load test is designed to evaluate the performance of server hardware and software in the so-called “Standard 1C Users”. The main area of ​​application of this test is the selection of server hardware and software configurations for the purposes of a specific implementation.

Problems to be solved

  • Calculation of the performance of a given configuration of server hardware and software
  • Comparing the performance of different server hardware and software configurations
  • Selecting the equipment necessary for the operation of this information system
  • Calculation of the parameters of the equipment necessary for the operation of this information system

What does the test evaluate?

The test evaluates performance the entire set of server hardware and server software from the point of view of tasks typical for systems running on the 1C:Enterprise 8 platform. That is, the resulting assessment does not reflect the performance of any one server component of the system (for example, a working server in a 1C:Enterprise cluster), but rather the entire server configuration as a whole. The server part of the system, the performance of which is measured by this test, includes:

  • all working servers used to deploy the 1C:Enterprise cluster and DBMS servers
  • operating systems of all working servers;
  • settings of operating systems, 1C:Enterprise and DBMS.

During testing, the test will automatically increase the number of concurrent users until one of the system's hardware or software components can no longer cope with the load. This will result in a bad performance rating and the test will stop with the last good value as the result. At the same time, the remaining components may be underloaded to one degree or another.

Thus, the test evaluates the performance of the server part of the system based on its bottleneck, that is, its least productive component.

If the server part of the system is not well balanced to work with 1C:Enterprise, then by eliminating the bottleneck (replacing or upgrading the least productive component) you can get a higher performance rating.

Please note that the test does not evaluate the performance of the client part of the system in any way, so this factor should be completely excluded. In other words, client workstations should not become a bottleneck of the system. This issue is discussed in more detail in the chapter “Preparing the client part of the test bench.”

How the test works

The standard load test is a 1C:Enterprise 8.2 information base with a configuration based on “Manufacturing Enterprise Management”.

The configuration is combined with Test Center 2.0, which includes one test script.

The testing scenario includes emulation of the “sales in SCP” business process, namely: the creation of several different documents, the generation of reports and other applied actions. The test works in full parallel mode, that is, each user works with their own unique data, and there are no waits on locks. The user completes one complete sales cycle per minute.

Background
A mandatory operation for any implementation or change of an existing information system is to assess the required speed of the system and plan the necessary computing resources for its implementation. Currently, there is no exact solution to this problem in general form, and if, despite
its complexity and cost, such an algorithm will be proposed by any manufacturer, then even small changes in hardware, software version, system configuration or the number or standard behavior of users will lead to significant errors.

Nevertheless, there are a sufficient number of ways. All of these methods can be used in the selection process, but the consumer must understand their applications and limitations.
Most existing performance evaluation methods are based on

or other type of testing.
There are two main types of testing:

component and integral.
When component testing is carried out
testing individual components of the solution, starting from performance
processors or storage subsystems before testing
business applications.

The integral approach is characterized by an assessment
performance of the solution as a whole, both its software and hardware parts.
In this case, it can be used as a business application that will be used
in the final solution, as well as some model applications emulating
some standard business processes and workloads.

Tests TPC and other universal tests allow you to select the most promising platforms and compare offers from different manufacturers, but are only reference information that does not take into account the specifics of the business. Specialized tests allow you to more accurately select a specific server model and its configuration. However, the most informed decisions are made only based on the results of load tests. Only they allow you to optimally configure the selected
server platform and configure it for maximum performance.

What's happened TPC-1C-GILV

This is a series of independent tests designed to evaluate the performance of the 1C:Enterprise 8.1 platform on your computer(s).

Of course, an “independent” test means that it is not sponsored by 1C.

The test is currently available" TPC-A-local Throughput / TPC-1C-GILV-A" (last update - August 2008 version 1.0.3)

Test idea TPC-A-local Throughput / TPC-1C-GILV-A

You download the configuration download file (~400 KB) from this site and upload it to yourself. If you expand the configuration in the file version, then to a large extent the test will test the connection “CPU of your computer - HDD where the base is located.”

If you deploy the configuration in a client-server version, then the CPU of the application server - the CPU of the subdatabase server - - the subdatabase server will be primarily subject to the load.

The test performs intensive recording of 5000 documents. There is no deep meaning in the business logic of the code; the performance of document X, conditionally chosen as a standard, is simply evaluated.

The main beauty of the test is that you don't need to know the technical details. The test runs itself and produces its own score. Besides, you don’t have to tell anyone the result either :)

You can compare the performance of several servers, or one server with different disk subsystem characteristics.

By performing a test from the application server and from the client over the network, you can understand the impact of the network in the area from the client to the server.

How to run a test

Running a test is very easy. You have to press a button

and wait until the test indicator (to the right of the button) reaches 100%.

The test usually lasts about 8 minutes.

What do the test results mean?

The test result is reported as the "write speed" of the test data. The test error is 2 units. For an accurate assessment, you can repeat the test 3 times.

After the test indicator reaches 100%, you will see graphs like this:

Below the graphs are some previously conducted similar tests.

The color of the graph indicates the current quality of the "overall" performance for work without blocking.

The green color of the graph, together with some conditionally selected indicators on the right, allows us to make a cross-platform generalized assessment of “good” performance :)

How to be happy about your test results

You received as a result a certain performance index (count speed). It doesn’t matter whether the result is good or bad - this is the result of the PLATFORM running on your hardware. In the case of a client-server version, this is the result. You get the total actual result, which is determined by the BOTTLE POINT in the system. THERE IS ALWAYS A BOTTLE PLACE!

In other words, both DBMS settings, OS settings, and hardware influence the overall team result :)

Which server is better

This test, performed on a specific server, gives the result based on the totality of hardware settings, operating system, database, etc. However, a high result on a particular server hardware means that, under normal conditions, the same result will be obtained on identical server hardware. This test is a free tool to help you compare the installation of 1C:Enterprise under Windows and Linux, three different DBMSs supported by the 1C:Enterprise 8.1 platform.

Test safety

The test is absolutely safe. It does not lead to a “crash” of the server (there is no “stress” algorithm) and does not require preliminary measures even on a “combat” server. Confidential data is also not recorded in the test results. Information about CPU, RAM, HDD parameters is collected. Device serial numbers are not collected. You can easily verify all this - the test code is 100% open. It is impossible to send any information without your knowledge.

How to publish test results

If you want to help develop the test, you can run a number of tests on your servers. Then leave the general list of tests done only those that you want to publish and send a dt upload with the results.

The data will be manually verified (that it is not incorrect), the test recipient will be added to the “author” column of the tests, and will be added to the download, available for download by everyone.

Classification TPC-A-local Throughput / TPC-1C-GILV-A

The test belongs to the section of universal integral cross-platform tests. Moreover, it is applicable for file and client-server options for using 1C:Enterprise. The test works for all DBMSs supported by 1C.

Universality allows you to make a generalized performance assessment without being tied to a specific typical platform configuration.

On the other hand, this means that for accurate calculations of a custom project, the test allows you to make a preliminary assessment before specialized load testing (for example, using 1C: Test Center).

Note. Test modification " A" means "automatic lock management". After the release of official versions of standard solutions from 1C, it is planned to modify the test to work in the "managed locking" mode and denote it with the letter " M".

Download test

This test is not commercial and.

Test results

Top - 3 best client-server installations of 1C on MS SQL Server. You too can get into this table. You can see the results in more detail by downloading the test.

Technical details

What happens in the test within the framework of “one” operation cycle?

How to measure iron load

It should be noted that the test itself already partially performs the measurement. For a more detailed picture, I recommend using Mark Rusinovich’s utility.

The figure shows an example of measurement for the file version.

Contacts for TPC-1C-GILV

http://site/1c/ tpc

test results, development proposals

A mandatory operation for any implementation or change of an existing information system is to assess the required speed of the system and plan the necessary computing resources for its implementation. Currently, there is no exact solution to this problem in general form, and if, despite its complexity and cost, such an algorithm is proposed by any manufacturer, then even small changes in hardware, software version, system configuration or quantity or standard user behavior will lead to significant errors.

However, there are plenty of ways to evaluate the software and hardware configuration needed to achieve the required performance. All of these methods can be used in the selection process, but the consumer must understand their applications and limitations.

Most existing performance evaluation methods rely on some type of testing.

There are two main types of testing: component and integral.

Component testing involves testing individual components of a solution, ranging from the performance of processors or storage subsystems to testing the performance of the server as a whole, but without the payload in the form of a particular business application.

The integrated approach is characterized by an assessment of the performance of the solution as a whole, both its software and hardware parts. In this case, both a business application can be used, which will be used in the final solution, as well as some model applications that emulate some standard business processes and loads.

The green color of the graph, together with some conditionally selected indicators on the right, allows us to make a cross-platform generalized assessment of “good” performance.

How to be happy about your test results

You received a certain performance (speed) index as a result. It doesn’t matter whether the result is good or bad - this is the result of the PLATFORM running on your hardware. In the case of the client - server version, this is the result of a complex chain of requests passing through various sections. You get the total actual result, which is determined by the bottleneck in the system. There is always a bottleneck.

In other words, both DBMS settings, OS settings, and hardware have an impact on the overall team result.

Which server is better

This test, performed on a specific server, gives the result based on the totality of hardware settings, operating system, database, etc. However, a high result on a particular server hardware means that, under normal conditions, the same result will be obtained on identical server hardware. This test is a free tool to help you compare the installation of 1C:Enterprise under Windows and Linux, three different DBMSs supported by the 1C:Enterprise 8 platform.

Test safety

The test is absolutely safe. It does not lead to a “crash” of the server (there is no “stress” algorithm) and does not require preliminary measures even on a “combat” server. Confidential data is also not recorded in the test results. Information about CPU, RAM, HDD parameters is collected. Device serial numbers are not collected. You can easily verify all this - the test code is 100% open. It is impossible to send any information without your knowledge.

Classification TPC-A-local Throughput / TPC-1C-GILV-A

The test belongs to the section of universal integral cross-platform tests. Moreover, it is applicable for file and client-server options for using 1C:Enterprise. The test works for all DBMSs supported by 1C.

Universality allows you to make a generalized performance assessment without being tied to a specific typical platform configuration.

On the other hand, this means that for accurate calculations of a custom project, the test allows you to make a preliminary assessment before specialized load testing.

Download test

This test is not commercial and can be downloaded for free for 8.2 and free for 8.3.

Technical details

What happens in the test within the framework of “one” operation cycle?

Features of using a test on a PostgreSQL database

Set the standard_conforming_strings parameter in the postgresql.conf configuration file to 'off'

How to measure iron load

It should be noted that the test itself already partially performs the measurement. For a more detailed picture, I recommend using Mark Rusinovich’s Process Explorer utility.

The figure shows an example of measurement for the file version.

Computers (conventional name) participating in the tests - description (disks are indicated only for the database):

(clarification between servers 1 Gbit network)

1) IT33- desktop on Core i5 4 cores 2.8 GHz, DDR3 3 GB, one 7200 rps hard drive.

2) REAL- THE MOST POWERFUL as I thought)) 8 Xeon cores at 3 GHz, DDR2 48 GB, RAID10 on SSD

3) REAL2- 8 Xeon cores at 2 GHz, DDR2 22 GB,RAID10 on 10,000 rps SAS hard drives

Tests were carried out in configuration 1c from Gilev:

"SQL Server" ---> "1C Server" ---> "Evaluation" + "Name of client computer (if not specified, then it is the same one in the list)"

>1)REAL2--->REAL2--->25.64(TCP--SQL)
>2)REAL2--->REAL2--->26.32(SQL--Shared Memory)

>3)REAL2--->REAL2--->25.64(SQL--Shared Memory) + IT33(client) - from client to Servers network=10 Mbit

>4 )REAL2--->REAL2--->24.27(SQL--Shared Memory) + REAL(client) - hmm.. strange 1 Gbit network... why are there fewer parrots..
>5)REAL2--->REAL2--->37.59(File)

** **** **************************
>1)REAL--->REAL--->8.73(TCP--SQL)

>2)REAL---> Real2--->11.99(TCP--SQL) --- this is already starting to give me some thoughts))

>3)REAL--->REAL--->17.48 (File)

** **** ******************************

>1)IT33--->IT33--->26.88(TCP--SQL)
>2)IT33--->IT33--->34.72(SQL--Shared Memory)
>3)IT33--->IT33--->59.52(File)

Results:

I looked at the test results... twisted this way and that)) and then it dawned on me (I took measurements of the speed of the RAM),

what about the speed of 1s 8.x (I note that the Test Results are based on SINGLE-USER mode, but also for the client-server version with multi-user work - I think they will also have a considerable share of influence) -

So the speed of 1C is affected by: CPU bus frequency + RAM memory frequency

----> what affects WRITE and READ speeds in RAM. Which is the basis of the performance of 1s 8.x.

Computers that shared prizes in terms of operating speed 1s))

1)IT33--->IT33--->59.52(File)

RAM DDR 3 (Read 11089 MB/s, Write 7047 MB/s) ------ as I expected the difference will be significant with servers

2)REAL2--->REAL2--->37.59(File)
- RAM DDR2 (Read=3474, Write=2068)

3)REAL--->REAL--->17.48(File)
- RAM DDR2 (Read=1737 MB/s, Write=1042 MB/s) - as it turned out, the speed is lower than on Real2 - exactly 2 times,

Due to the enabled Virtual Cores (Hyper Trading), we will most likely disable it.

CONCLUSIONS:

The highest operating speed of 1s 8.x is achieved:

I) for the File option (I personally am not interested)

A) launching the Client (any) on a computer with high speed of working with RAM. (for example Terminal Server

DB there).

II) for Client-Server option

1) Thick clients 1C on the "Terminal Server" - with +

2) Thin clients 1C- there is no particular difference where... but it is advisable to configure it via "HTTP://".
3a) "SQL Server" + "1C Enterprise Server"(in Shared Memory mode) - on one car with Highest speed Writing/Reading RAM + Highest frequency GHz CPU cores disks

Clarifications:

- supportShared Memory- appeared on the engine starting from 8.2.17 (ATTENTION in the configuration - the compatibility mode with previous versions of the engine should not be enabled), on previous engines Naimed Pipes will be used - also showing good results))

- RAID on SSD drives- it is advisable to use RAID10 - for fault tolerance, while taking into account the Write SCALE:

example RAID10 (4 pcs Write penalty = 2), Write speed = 4/2 = 2 disks, No read penalty.

You can also further increase the reliability and stability of the SSD speed - using not the entire disk capacity.

example (raising the reliability of a Desktop SSD to the level of a Server SSD):

If, for example, SSD Intel 520 series 120GB, and allocate 81 GB, and leave the rest of the space unallocated -

then about 32% of the SSD space will be allocated for over provisioning in addition to the already existing hidden 8%. In total we get about 40%

The difference between the server SSD Intel 710 series and the desktop SSD Intel 320 series is precisely the difference in over provisioning: more than 40% for the Intel 710 and 8% for the Intel 320.

If there are many 1C clients from 100 onwards:

1) On current Ethernet network technologies - It is NOT advisable to delete "SQL" "Server 1C".

for example due to latency (delays) in the Gigabit network Ethernet - real exchange speed with SQL = 30 Megabytes/s - which is not enough even for intensive work with the Database of 1 user.

2) Because in fact, "Server 1C" = "Object DBMS" (multidimensional objects), and "SQL" = "Relational DBMS"(flat-tabular data storage)

=> in the SQL database, a FLAT projection of 1C Objects is stored and 1C Server collects an Object from this projection, then works with this Object and finally, upon completion of the work, again lays it out in a flat view and stores it in SQL.

As a result, between “SQL” and “1C Server”, you have to give up splitting it into two physical servers. But you can use the full implementation of NUMA nodes. ( This must be supported by the OS and the processors themselves).


3b) We separate SQL servers and 1c servers separately: On current Ethernet technologies - for example Gigabit - NOT Practical
-SQL to server with Highest speed Writing/Reading RAM + Highest frequency GHz CPU cores
-Some PHYSICAL servers in Cluster 1c c Highest speed Writing/Reading RAM + Highest frequency GHz CPU cores+ it is advisable to use RAID on SSD- disks