Sizing guide for 1cfresh

1C Developer team

26.02.2019 15 min

Preface

There are two main questions to inevitably arise when deploying 1cfresh service (or any other system for that matter):

  • What kind of hardware do we need to cope with the expected workload?
  • How many users can comfortably work with the service at the hardware configuration that we have?
Answering the first question we are looking for a balance between hardware performance (we don’t want to pay for the power that we don’t really need) and user experience (we have to secure effective usage of the system). The second question arises, for example, when we are looking at our current hardware and trying to figure out how many users it can cope with.

This sizing guide, based on the official 1C recommendationsprovides information on various scenarios for choosing hardware. In our case we had the opportunity to use service 1cfresh.com hosted by 1C LLC as a model system, so we followed the scenario “Multi-user model systems \ Somebody else’s live system”.

To perform the calculations we downloaded "calculation.xls" file, removed sheets that are not applicable to our scenario, filled it out with our data and got the following "MyCalculation.xlsx" file.

CPU cores and RAM size calculation

We started with CPU cores and RAM size calculation (“CPU and RAM” sheet). First of all, we found out that one 1cfresh service node is able to cope with 300 users and has the following hardware characteristics:

1C:Enterprise server:
  • CPU cores - 8
  • RAM size - 24 Gb
DBMS:
  • CPU cores - 24
  • RAM size - 96 Gb
So we entered 300 in “Number of active users \ Model system” cell. We don’t know the number of active users in the target system (for the system is not existent so far), therefore we decided to calculate all hardware characteristics for 1 user and for that purpose we input 1 into the corresponding cell.

Then we input CPU cores and RAM size data into corresponding cells and set utilization ratio to 100% (on the assumption that the model system hardware is fully utilized by 300 users and its characteristics are in perfect balance). It gave us a bunch of coefficients that have clear meanings. For example, “0.027” in target system CPU cores cell means that one target system user will utilize 0.027 of one processor core (or, in other words, 2.7% of its time).

Having these coefficients we can draw up a sizing-guide table that automatically calculates hardware characteristics for any given number of users. We can also calculate the number of users who can cope with any given hardware configuration.
So, we created “sizing-gude.xlsx” file with a simple formula that contains only the number of users and the coefficients calculated earlier.

Disk array performance calculation

Our model system (1cfresh.com) divided into segments one of those works with IBM Storewize v7000 disk array. We collected the information of the overall disk array utilization during one working day when there were 470 concurrent users in the segment. Then we input this data into the sheet “Disk array” of "MyCalculation.xlsx" file. It gave us relative disk performance we need to provide per one user of our system: 0.1147% of the array read bandwidth and 0.0426% of its write bandwidth.

After this, we recalculated the relative performance into conventional disk performance characteristics: IOPs (input/output operations per second) and MB/s (megabyte per second). We know that the model system IBM Storwize v7000 disk array’s overall bandwidth is 250 IOPs and 125 MB/s. We also know that read/write operations ratio for the typical 1C system is 80/20, so we just take 0.8 fraction of one user read utilization and 0.2 fraction of its write utilization and multiplied it to the overall disk array bandwidth.

This calculation gave us IOPs and MB/s we need to provide for one user of the target system (0.2507 and 0.1254 respectively). Then we used these coefficients in our “sizing-gude.xlsx” file on the “Single server” sheet (the model system uses a single disk array, so we cannot divide its utilization into 1C:Enterprise and DBMS parts).

Sizing-guide usage

This sizing guide can help you choose well-balanced and efficient hardware for 1cfresh-based service you are about to deploy.
To get your hardware characteristics evaluation just download the “sizing-gude.xlsx” file and fill up the yellow cells with your data. The result will be automatically calculated in the green cells.

The first sheet of the file contains tables for two servers configuration (when 1C:Enterprise and DBMS work on separate computers). To use the first table of the sheet you need to input the number of users into A5 cell. The table will produce the recommended hardware characteristics. The second sheet solves the inverse problem, calculating the number of users from hardware characteristics you input into B11 - E11 cells.

Please note that every hardware characteristic has its own number of users it can cope with. The resulting number of users will be defined by the minimum number for all characteristics. The thing is that overall computer performance is as high as the performance of its slowest component. If, for instance, CPU can withstand 10 users only - it will be the limit for the entire system, even though other components can cope with a much higher workload.

The second sheet contains tables for single-server case - when both 1C:Enterprise and DBMS work on the same computer. Preparing formulas for these tables we just summed up the corresponding coefficients from the first sheet. Say, the CPU cores coefficients are 0.0267 and 0.08 for 1C:Enterprise and DBMS working on separate computers. It means that one user will utilize 2.67% of the first computer and 8% of the second. When we run both servers on a single computer the utilization will just sum up and comprise 2.67 + 8 = 10.67% or 0.1067 of 1 CPU core.

These tables also include the disk array performance calculation cells in terms of IOPs and MB/s. You can use these numbers as a criterion when choosing the disk array for your service. Please note that this sizing guide is only applicable when you use a single disk array for both 1C:Enterprise and DBMS (but the servers can be run on separate computers though).
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.