We work in 1c on a terminal server. Connecting to the server

Today we will look at the choice of server hardware for a small organization for 25-30 users, with a distributed infrastructure (retail outlets, warehouse), which requires a terminal server and the 1C: Enterprise program. All employees will use these services.

Most small companies, in order to reduce the cost of equipment, prefer to minimize the amount of equipment purchased and ask administrators to “push” all the services they request into one physical server. The desire is understandable and forgivable, but “there are nuances.”

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

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

To solve these problems, the following server configuration can be proposed:

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

In case of two physical servers We chose the following configurations:

  • Terminal server: IBM x3550 M3 with one Xeon E5620 processor, 32 GB of RAM and two SSDs in RAID 1, with an additional network card for two gigabit interfaces. This server also has rich upgrade options, as it is dual-processor, has 18 memory slots and supports up to 288 GB of RAM.
  • Database server: IBM x3250 M5 with one Xeon E3-1220v3 processor, 16 GB of RAM, an additional SAS/SATA RAID controller, four SAS disks in RAID 10, with an additional network card for 2 gigabit interfaces.
Why did we choose these particular configurations? To answer this question, let's calculate what we need to ensure a comfortable user experience in our small organization of 25-30 employees. To avoid any misunderstanding: this is just one example of inexpensive implementation of 1C, and in many cases it is more advisable to choose other configurations.

CPU

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

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

For a 1C: Enterprise server, it is not so much the number of cores that is important, but their clock frequency and bus frequency. Therefore, we will add two more cores to the 1C server.
And let’s not forget that if we use virtualization, one or two cores will be useful to us to ensure the operation of the host operating system.

In total we get:

  • a server with two virtual machines requires 12 physical cores. You can do less, but there should always be a reserve of power. A server with two six-core processors is ideal for this.
  • For a terminal server, one Xeon E5620 processor with six cores is sufficient; for a database server, a Xeon E3-1220v3 processor with four cores is sufficient.

RAM

First, let's see how much RAM is needed for services:
  • operating room Windows system Server only requires 2 GB of RAM.
  • For SQL and a small 1C database, 4-6 GB of RAM will be enough.
  • The 1C: Enterprise server requires another 2-3 GB of RAM.
  • We expect that each user will need 700 MB of RAM in a terminal session, then 30 users will need 21 GB.
Now let's apply this to our options.
  • One server with two virtual machines requires about 40 GB of RAM.
  • For a terminal server, 24 GB or 32 GB of RAM will be sufficient (we will take it with a margin, assuming future expansion). For a server with databases, you need at least 8 GB, but this is “back to back”, so 16 GB is with a reserve. Memory is now one of the cheapest server components.

Disk subsystem

This is the traditional bottleneck of many systems. Right choice hard drives very important for ensuring server performance. When 1C works with a SQL database, many read/write operations per second (IOPS) occur. If users work on a terminal server with thin clients(i.e. they fully use the terminal server as a working environment), this puts a lot of stress on disk system server. For example, 30 users of a terminal server on RAID 1, SATA 3 Gb/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 assembled into fault-tolerant arrays.

In addition to drives, attention should also be paid to the disk controller. Modern servers have quite good controllers on board, for example, HP SmartArray and DELL PERC. However, it would be incorrect to use “onboard” solutions under heavy loads when maximum performance is required. By saving a little, you can easily get a powerful server that does not pull the load at all. Therefore, the controller must have its own non-volatile memory.

Let's consider options for solving this problem.

  • For one server with two virtual machines, it is advisable to use two RAID arrays: one will contain the terminal server virtual machine files, the second will contain the database server and 1C: Enterprise virtual machine files. To create your first array, it is best to use two SSD drives in RAID 1 (mirror).

    It is better to create the second array from four SAS drives in RAID 10 (mirror + stripe), but it is also possible from two SSD drives in RAID 1. The choice depends only on the cost of the drives and the server model.

  • For two servers everything is the same, only the arrays will be distributed among the servers. On the terminal - RAID 1 of two SSDs, on the database server - RAID 10.

One or more servers

As mentioned above, small organizations have a fairly strong desire to place all services on one server.

The advantages of using a single server and virtualization include lower power consumption and more flexible distribution of resources between virtual machines. Well, transferring virtual machines, if something happens, is much more convenient than transferring physical OSes.

However, two servers have greater upgrade capabilities. For example, in our version, the inexpensive IBM x3550 M3 with the addition of another processor and RAM turns into an elegant short terminal server for 50 or even more users.

Another “bottleneck” in our case, which must be taken into account when choosing two physical servers, is the exchange of data between them over the network. U virtual servers Data exchange occurs through a virtual switch. Here, to increase network throughput, you can install in each server a network card with two gigabit interfaces, which 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 selecting a server, peak loads must be taken into account. It is also necessary 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 after six months or a year they are faced with interruptions in work and user complaints. This is the case when excessive saving leads to new costs in the future - the stingy one pays twice. The options we have chosen are designed with power reserves and upgrade options. It is taken into account that it will be possible to add two more to the DELL R710 hard drives and RAM, as well as replace processors with more efficient ones.

So, if you need expansion, or the number of services increases, then there are great prospects, and existing servers will effectively perform their tasks for a long time. Perhaps in a year we will suddenly need to double the number of users to 60 people? Please.

If you used one DELL R710 server, then you can buy an inexpensive IBM x3550 M3, install a hypervisor on it, transfer a virtual machine with a database and a 1C server there, and give all the resources to DELL virtual machine with a terminal. It will be quick, and you won’t need to “throw everything out and buy 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 an average machine into a fairly powerful machine. And in the x3250 M5 you can upgrade the processor from E3-1220v3 to E3-1285v3.

Many users of 1C Enterprise programs 8.3, 8.2 or 7.7 sooner or later encounter the fact that 1C network programs begin to work slowly or, as experts say, “the server is slow.” The problem manifests itself on any configuration and platform - Accounting, Trade Management, Payroll and HR Management and others.

The reason is that the more users work in the network infobase and the more operations they perform, the harder it is for the server to process network requests.

Bandwidth local network it is impossible to increase indefinitely, and increasing the computing power of each workplace is quite expensive.

What to do, is it really necessary to wait a long time for the re-processing of documents or, which is performed not once a month, but much more often?

A modern solution to the problem of performance of accounting and other programs is the use of a terminal server.

What does installing a terminal server give?

A terminal server is a computer that not only distributes access to a network information base like a regular server, but also executes user programs in its memory and on its processors (serves client terminals).

When working over a regular local network, the user’s computer performs all calculations itself, and accesses the network only to obtain data from a common storage - a network database (DB). The database can be file or client-server, it is not so important.

1C terminal server performs all calculations itself and the necessary processing, while it does not go anywhere over the network, since information base the data is stored on it, and the result (just a screen image) is sent to the client’s computer. In essence, the 1c terminal (client computer) is simply a keyboard and monitor that are connected via a network to a terminal server, and the network traffic when transmitting screen images is very small.

Therefore, for terminal clients there is no need to have powerful expensive computers and there is even no need to install a high-speed network, because a small amount of data is transferred over the network, and calculations are not performed at all on the client’s computer.

Thus, we must install and configure one 1C terminal server (a computer with powerful processor and a large amount of memory), it is not necessary to have a high-speed local network and the users’ computers are not at all fast (now they are called terminal clients).

By the way, in this case there is not even a need to install 1C Enterprise programs on client PCs. They are launched and executed on the terminal server, and the result, i.e. the image on the screen is sent to the client.

Using terminal mode provides a number of important advantages for users and the organization as a whole:

  • significant increase in operating speed network programs 1C with a significant reduction in the load on the local network. This is especially noticeable when using a file server. The speed of 1C programs increases several times;
  • guaranteed data preservation in case of network failures, since the data itself is not transmitted over the network. This fact is extremely important for file server architecture, because 1C file databases really do not like network failures and unexpected power outages;
  • a noticeable reduction in the cost of the organization's IT structure, since acquiring powerful computer only one is required, and not according to the number of jobs;
  • increasing work security both in terms of physical data integrity and in terms of protecting confidential information, since copying a working database from a terminal server is more difficult than from a file server;
  • significant savings during subsequent upgrades of the computer park, because again only the server needs to be upgraded or changed.

Thus, the uniqueness of the proposed solution lies in the fact that it is possible significantly increase the performance of a network computing system and at the same time significantly reduce its overall cost.

How to configure a server to run 1C programs in terminal server mode

In order for our powerful computer to become a 1C terminal server, it is necessary to install a special software solution to organize such access for network users.

The ideal solution for organizing terminal operation on a network is to use a terminal server from the domestic developer “ViTerminal”.

Significant benefits of installing this solution:

Works without a server operating system on common operating systems: Windows XP, Windows 7 and 8. This means that the server does not need to purchase an expensive server OS (such as Windows Server 2012 R2), which results in a significant reduction in the final cost

High speed and stability, especially if you use 1C file mode

Configurable access rights to server resources in Viterminal

Low price of both server part and terminal client licenses

Simple procedure for installing and configuring a terminal server

Extremely simple procedure server administration (in fact this is regular computer without complex server services and the nuances of their operation)

Possibility of working Viterminal via the Internet if available static IP address on server

Guaranteed support from a Russian developer.

The last point is of considerable importance. Suffice it to recall how Microsoft and Oracle refused to support their software to several Russian banks during the last political crisis. It is unlikely that commercial or budget organizations will now want to play the lottery with their own money with foreign structures and risk their information security.

Diagram for setting up Viterminal terminal mode

Choose a sufficiently powerful computer ( good processor and a lot of memory), which we want to use as a terminal server for Viterminal. It is not at all necessary that it will be a real expensive server with RAID arrays, with hot swap electronic components, etc. For a small number of users a reliable personal computer, By at least at the initial stage.

  1. We install the server part of the terminal on the server (a simple installation procedure is performed - standard installation)
  2. We create on this server users with passwords who will be given access to this terminal server
  3. We install the client software on each client PC. As a result, when starting his client application, the user enters his login and gets to the server (although he may not know this). Further, the work of an accountant is no different from ordinary work.

The final cost of the solution is calculated based on the number of required servers and clients in the network. The terminal is registered with the Federal Service for Intellectual Property of the Russian Federation (certificate N 2009613085), and end users receive a license certificate.

It is also obvious that the terminal itself does not care what programs will be launched on such a server. This can be 1C Enterprise 8.2 or 8.3 or 7.7 of any configuration, text editors, spreadsheets and any other programs that network clients will need to use.

For consultations on Viterminal, as well as on issues of calculating costs and issuing invoices and providing a working demo version of the terminal server with setup instructions, please contact us by e-mail: [email protected] or to the page.

Here we will look at how to configure 1-C via remote desktop connection(RDP), i.e. using a terminal server on the Windows Server 2003 operating system.

This procedure is for those who do not use special database servers designed for 1-c, but simply use the usual 1-c configuration located on the server and connect to it via a local network indicating the database path. This is mainly how they work in small offices, and when using this connection method, 1-C works quite slowly, and that is why I will describe the process of how you can increase the speed of the program in a fairly simple way.

So, to begin with, you must have a good, powerful computer, and best of all, a real server with the Windows Server 2003 or higher operating system installed. In it you must configure the terminal server, it is configured as follows:

Start->Administration->Manage this server ->add or remove a role ->click next ->select a special configuration ->opposite the terminal server you have “no”, just select and click next -> then a reboot will occur -> then create users to the group " Remote Desktop Users"and you can connect ( example more detailed installation and terminal server settings can be found in the article - Installing a terminal server on Windows Server 2008).

Now we set up the connection on the client computer, to do this you run “ remote Desktop» Start -> Programs -> Accessories -> Remote Desktop Connection ( RDP client). In the window that appears, in the field “ computer" or " server» write the IP address or name of the computer on which the terminal server and, accordingly, the 1-C database itself are installed.

After logging in you will be asked to enter “ user" And " password» ( You should have already created them on the server). Then, finally, that same remote desktop will open for you. First, find where you have the shortcut or exe file to launch 1c, copy the path, for example it will be D:\BIN\1cv7s.exe and save it. Then disconnect ( You always need to press start->exit system because... if you just close by X it will be incorrect).

Next, you launch the remote desktop again and click the “ options" and fill in the fields " user" And " password", so that you don’t have to enter it every time you connect. Then go to the program tab and check the box next to “start the program when connected” and paste the same path that you saved ( in our example D:\BIN\1cv7s.exe). Let's look at the pictures:

Now you can connect, and already at this launch you will start the 1-C program, but already on remote computer, i.e. server. All you have to do is configure the path to the database. But remember that we are on the server and, accordingly, the database is also on the server, and we will show the path locally, and not over the network.

If you do everything correctly, then you yourself will notice that the speed of 1-C will increase, since the client computer is no longer using its own resources, but the resources of the server. This method connection is great for small offices where approximately 50 people work in the 1-C program; to be honest, we simply haven’t tried it anymore because there are simply no people.

Today we will look at the choice of server hardware for a small organization for 25-30 users, with a distributed infrastructure (retail outlets, warehouse), which requires a terminal server and the 1C: Enterprise program. All employees will use these services.

Most small companies, in order to reduce the cost of equipment, prefer to minimize the amount of equipment purchased and ask administrators to “push” all the services they request into one physical server. The desire is understandable and forgivable, but “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 development company recommends switching to the client-server version. Therefore, we will need another server for “1C: Enterprise” and a database server. Let us clarify right away that it is possible to organize a terminal server, SQL server and 1C server on one operating system, but from the point of view of security and stability of services, this is highly not recommended. But if you still really want to use one physical server for all three roles, then we recommend using virtualization, for example, VMWare ESXi or Hyper-V.
Thus, three options emerge:

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

To solve these problems, the following server configuration can be proposed:

In 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 case of two physical servers We chose the following configurations:

  • Terminal server: IBM x3550 M3 with one Xeon E5620 processor, 32 GB of RAM and two SSDs in RAID 1, with an additional network card for two gigabit interfaces. This server also has rich upgrade options, as it is dual-processor, has 18 memory slots and supports up to 288 GB of RAM.
  • Database server: IBM x3250 M5 with one Xeon E3-1220v3 processor, 16 GB of RAM, an additional SAS/SATA RAID controller, four SAS disks in RAID 10, with an additional network card for 2 gigabit interfaces.
Why did we choose these particular configurations? To answer this question, let's calculate what we need to ensure a comfortable user experience in our small organization of 25-30 employees. To avoid any misunderstanding: this is just one example of inexpensive implementation of 1C, and in many cases it is more advisable to choose other configurations.

CPU

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

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

For a 1C: Enterprise server, it is not so much the number of cores that is important, but their clock speed and bus frequency. Therefore, we will add two more cores to the 1C server.
And let’s not forget that if we use virtualization, one or two cores will be useful to us to ensure the operation of the host operating system.

In total we get:

  • a server with two virtual machines requires 12 physical cores. You can do less, but there should always be a reserve of power. A server with two six-core processors is ideal for this.
  • For a terminal server, one Xeon E5620 processor with six cores is sufficient; for a database server, a Xeon E3-1220v3 processor with four cores is sufficient.

RAM

First, let's see how much RAM is needed for services:
  • The Windows Server operating system only requires 2 GB of RAM.
  • For SQL and a small 1C database, 4-6 GB of RAM will be enough.
  • The 1C: Enterprise server requires another 2-3 GB of RAM.
  • We expect that each user will need 700 MB of RAM in a terminal session, then 30 users will need 21 GB.
Now let's apply this to our options.
  • One server with two virtual machines requires about 40 GB of RAM.
  • For a terminal server, 24 GB or 32 GB of RAM will be sufficient (we will take it with a margin, assuming future expansion). For a server with databases, you need at least 8 GB, but this is “back to back”, so 16 GB is with a reserve. Memory is now one of the cheapest server components.

Disk subsystem

This is the traditional bottleneck of many systems. Choosing the right hard drives is very important to ensure server performance. When 1C works with a SQL database, many read/write operations per second (IOPS) occur. If users work on the terminal server from thin clients (that is, they fully use the terminal server as a working environment), this greatly loads the server’s disk system. For example, 30 users of a terminal server on RAID 1, SATA 3 Gb/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 assembled into fault-tolerant arrays.

In addition to drives, attention should also be paid to the disk controller. Modern servers have pretty good controllers on board, for example, HP SmartArray and DELL PERC. However, it would be incorrect to use “onboard” solutions under heavy loads when maximum performance is required. By saving 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 own non-volatile memory.

Let's consider options for solving this problem.

  • For one server with two virtual machines, it is advisable to use two RAID arrays: one will contain the terminal server virtual machine files, the second will contain the database server and 1C: Enterprise virtual machine files. To create your first array, it is best to use two SSD drives in RAID 1 (mirror).

    It is better to create the second array from four SAS drives in RAID 10 (mirror + stripe), but it is also possible from two SSD drives in RAID 1. The choice depends only on the cost of the drives and the server model.

  • For two servers everything is the same, only the arrays will be distributed among the servers. On the terminal - RAID 1 of two SSDs, on the database server - RAID 10.

One or more servers

As mentioned above, small organizations have a fairly strong desire to place all services on one server.

The advantages of using a single server and virtualization include lower power consumption and more flexible distribution of resources between virtual machines. Well, transferring virtual machines, if something happens, is much more convenient than transferring physical OSes.

However, two servers have greater upgrade capabilities. For example, in our version, the inexpensive IBM x3550 M3 with the addition of another processor and RAM turns into an elegant short terminal server for 50 or even more users.

Another “bottleneck” in our case, which must be taken into account when choosing two physical servers, is the exchange of data between them over the network. For virtual servers, data exchange occurs through a virtual switch. Here, to increase network throughput, you can install in each server a network card with two gigabit interfaces, which 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 selecting a server, peak loads must be taken into account. It is also necessary 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 after six months or a year they are faced with interruptions in work and user complaints. This is the case when excessive saving leads to new costs in the future - the stingy one pays twice. The options we have chosen are designed with power reserves and upgrade options. It is taken into account that the DELL R710 can add two more hard drives and RAM, as well as replace processors with more efficient ones.

So, if you need expansion, or the number of services increases, then there are great prospects, and existing servers will effectively perform their tasks for a long time. Perhaps in a year we will suddenly need to double the number of users to 60 people? Please.

If you used one DELL R710 server, then you can buy an inexpensive IBM x3550 M3, install a hypervisor on it, transfer a virtual machine with a database and a 1C server there, and on DELL give all the resources to a virtual machine with a terminal. It will be quick, and you won’t need to “throw everything out and buy 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 an average machine into a fairly powerful machine. And in the x3250 M5 you can upgrade the processor from E3-1220v3 to E3-1285v3.

Terminal server for 1C on Windows server 2012.

Now we need to configure it so that our users can work in 1C on this server.

We will perform the setup as for a domain network when it works Active Directory, and without “AD”.

First, I’ll show you how to do all this without a domain controller.

It is assumed that you have already installed 1C Enterprise (I skip this step, since the installation of 1C is similar, without any additional settings).

Now we need to create users for the terminal server. We will, of course, create them on the same server since “AD” was not raised for us.

Click “Start” - “Control Panel” - “Administrative Tools” - “Computer Management” and find the “Local Users” window on the left.

Right-click and create the required number of new users to work on the terminal server.

For example, this will be the logins: PCN1, PCN2, PCN3... PCN27. The main thing here is not to create too predictable names like: User1, User2, User3. (Recommendation for protecting a terminal server).

We also create passwords in accordance with all the requirements of the local password security policy, that is, upper and lower case letters with the use of numbers, at least seven characters.

Remove the checkbox next to “Require a password change the next time you log in.”

Instead, check the box next to “Prohibit users from changing passwords.”

And “Password never expires.” If previously created strong password, then there is no point in changing it constantly.

As you can see, our user is included in the “Users” group. We also need to add this user to the “Remote Desktop Users” group.

To do this, click on the “Add” button, then click on the “Advanced” button and click on the “Search” button.

Then look for “Remote Desktop Users” in the list and click on the “Ok” button and “Ok” again. Loan needs to apply changes.

Now one more moment!

If you work in 1C on a terminal server in a simple file version, then you will need to perform one more small setup.

It is necessary to give additional rights to users who will work in 1C on the folder where the file information database is located.

We find this folder and right-click with the mouse, then go to the “security” tab.

As you can see in the screenshot, our users do not have the right to “Write”, only read and execute.

Let's fix this!

Click on the “Change” button, select the “Users” group and add birds next to:

“Full Control” and “Change”, then “Apply” and “OK”.

Setting up a terminal server for 1C when Active Directory is running.

So, we have already figured out the settings when our domain controller is not up, now we will look at when the AD service is still running.

As before, we will carry out the settings on Windows server 2012 R2, but I will also show you how to set up access when you have Windows server 2008.

First, go to the server where you have “AD” running.

Launch the “Active Directory Users and Computers” snap-in and create the required number of users. Creating users is very simple and is not much different from creating local users on the server, which is what we did earlier.

Therefore, I skip creating users in “AD”, and we move on.

Create a new group, for example “TS”.

And we include in this group our users already created in AD.

Now go to the terminal server (Login under account AD Administrator).

Certainly! The terminal server should already be included in our domain at this point.

And so we log in under the AD Administrator account on the terminal server.

In the window on the right we find the “Remote Desktop Users” group.

Let's open this group and add our created group there in “AD” - “TS”.

What does this give us?

Watch now when we need to add a new user for the terminal server.

We only need to create it in “AD” and include it in the “TS” group.

This way administration will be much easier and faster!

And the final settings (Similar on Windows server 2008)

Recruiting a team

Then when the " Local politics security", we open the folder in the window on the left

“Local policies” - “Assignment of user rights” and in the list on the right we look for “Allow logon through the Remote Desktop Service”.

We open this policy and see (On Windows server 2008) That there are only Administrators there.

You should add either our “TS” group or select the users who should work on the terminal server. Then “Apply” – “Ok”.

Well, that's all, if you have any questions, write them below in the comments.