📜 ⬆️ ⬇️

How to choose a server for 1C, SQL and terminals



Probably every sysadmin at least once in his life had to solve the problem of introducing 1C products, deploying SQL databases and creating terminal servers. Customers regularly contact us with a request to select a server for any of these tasks, or even all at once. There are three possible approaches here, and we want to share our experience in the selection of equipment, perhaps, it will make life easier for someone.

The main criterion when choosing servers for an organization is the set of services to be used, and the number of users.

Today we will look at the choice of server hardware for a small organization of 25-30 users, with distributed infrastructure (outlets, warehouses), which requires a terminal server and the 1C: Enterprise program. These services will be used by all employees.
')
Most of the small companies, in order to reduce the cost of equipment, prefer to minimize the amount of purchased equipment and ask administrators to “shove” all the services they requested into one physical server. The desire is clear and excusable, but here "there are nuances."

You can organize a terminal server and use the file version of 1C there, but with such a number of users, the developer company recommends switching to the client-server version. Therefore, we will need another server for “1C: Enterprise” and a database server. We’ll clarify right away that it is possible to organize a terminal server, SQL server and 1C server on the same operating system, but from the point of view of security and stability of the services, it is highly discouraged. And if you really want to use one physical server for all three roles, we recommend using virtualization, for example, VMWare ESXi or Hyper-V.
Thus, there are three options:

  1. One server with file 1C. The bad option, then we will not consider it.
  2. One server with two virtual machines.
  3. Two physical servers, one terminal, the second with the database and 1C.



To solve these problems, we can offer the following server configuration:

In the case of one physical server, we chose the Dell R710, with two six-core Xeon X5650 processors, 64 GB of RAM and six disks: two SSDs in RAID 1 and four SAS disks in RAID 10.

In the case of two physical servers, we chose the following configurations:


Why did we choose such configurations? To answer this question, let's calculate what we need to ensure comfortable work of users in our small organization with 25-30 employees. To avoid misunderstandings: this is just one example of an inexpensive implementation of 1C, and in many cases it is better to choose other configurations.

CPU


From the point of view of processor time, terminal sessions occupy a not very large share. According to the experience of implementing terminal solutions in various organizations, 4-6 physical cores of the processor will be enough to maintain the comfortable work of 30 users, one core for 6-8 sessions.

For a small database, the SQL server will need one kernel. But we will focus on expanding the database in the future (or increasing the number of databases) and take two cores on SQL.

For the 1C: Enterprise server, it’s important not so much the number of cores as their clock frequency and bus frequency. Therefore, we will lay two more cores on the 1C server.
And let's not forget that in the case of virtualization, one or two cores will be useful for us to ensure the operation of the host operating system.

Total we get:

RAM


First, let's see how much RAM is needed for services:


Now apply this to our options.


Disk subsystem


This is a traditional bottleneck of many systems. Choosing the right hard drives is very important for server performance. When working with 1C SQL database, there are many read / write operations per second (IOPS). If users are working on a terminal server from thin clients (i.e., they fully use the terminal server as a working environment), this greatly burdens the server’s disk system. For example, 30 terminal server users on RAID 1, SATA 3Gb / s, with WD Velociraptor drives feel uncomfortable when working with mail and actively surfing the Internet. For terminal servers, we recommend using SSD-drives. For database servers, SAS disks compiled into fail-safe arrays.

In addition to drives, you should pay attention to the disk controller. Modern servers have pretty good controllers onboard, for example, HP SmartArray and DELL PERC. However, it will be incorrect to use on-board solutions with a serious load when maximum performance is required. Having saved a little, you can easily get a powerful server that does not pull the load at all. Therefore, the controller must be hardware, not software , with its non-volatile memory.

Consider options for solving this problem.


One or more servers


As mentioned above, small organizations have a great desire to host all services on one server.

The advantages of using one server and virtualization can be considered lower power consumption and more flexible allocation of resources between virtual machines. Well, the transfer of virtual machines, in which case, much more convenient than the transfer of physical operating systems.

However, two servers have more opportunities to upgrade. For example, in our version of the low-cost IBM x3550 M3 with the addition of another processor and RAM, the terminal server for 50 or even more users turns into elegant shorts .

Another “bottleneck” in our case that needs to be considered when choosing two physical servers is the exchange of data between them over the network. Virtual servers exchange data through a virtual switch. Here, in order to increase network bandwidth, you can install each server via a network card with two gigabit interfaces that can be aggregated with each other and directly connect both servers with aggregated 2 gigabit links. Or use network cards with SPF + 10GBASE, but this is expensive.

Power reserve


When calculating and choosing a server, it is necessary to take into account peak loads. Also, be sure to remember that the database will only "swell", the volume of data on the terminal server will grow, and the number of users may increase. Many enterprises save on power reserves and in six months or a year they face interruptions in work and user complaints. This is the case when excessive savings lead to new costs in the future - the miser pays twice. The options chosen by us are calculated with a margin of power and the possibility of an upgrade. It is taken into account that in the DELL R710 it will be possible to add two more hard disks and RAM, as well as replace processors with more productive ones.

So, if you need an extension, or the number of services increases, there are great prospects, and the existing servers will effectively carry out their tasks for a long time. Maybe in a year we will unexpectedly need to double the number of users, up to 60 people? You are welcome.

If you used one DELL R710 server, then you can buy an inexpensive IBM x3550 M3, pick up a hypervisor on it, move a virtual machine with a database and a 1C server there, and give all resources to a virtual machine with a terminal. It will be fast, and you will not need to “throw everything out and buy something new.”
If you used two IBM servers, then the x3550 M3 with the addition of a second processor and a small amount of RAM turns from a middling into a fairly powerful machine. And in x3250 M5, you can upgrade the processor from E3-1220v3 to E3-1285v3.

Conclusion


Of course, the proposed configurations are far from the only equipment options , for example, for implementing the same 1C. Here a lot depends on the current infrastructure, the load level and its increase in the future, as well as the budget. Therefore, you can always choose a similar server models, or more powerful and expensive.

Source: https://habr.com/ru/post/305878/


All Articles