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?
This sizing guide, based on the official
To perform the calculations we downloaded
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:
- CPU cores - 8
- RAM size - 24 Gb
- CPU cores - 24
- RAM size - 96 Gb
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
Disk array performance calculation
Our model system (
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
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
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).