1C Terminalserver-Leistungstest


1CUm die tatsächliche Belastung der Geräte zu verstehen, musste die Leistung des 1C-Terminalservers in der Produktion getestet werden, was ich kürzlich getan habe.und jetzt möchte ich die Ergebnisse für alle sichtbar präsentieren.

Lesen Sie mehr im Artikel.


Weitere Artikel zu 1C finden Sie im entsprechenden Abschnitt – 1C.


1C Terminalserver-Leistungstest

In mehreren früheren Artikeln zu 1C beschäftigte ich mich mit der Berechnung von Serverkonfigurationen für verschiedene Lasten, die durch die Bemühungen der Hauptbenutzer von 1C, nämlich der Mitarbeiter der Buchhaltungs- und Vertriebsabteilungen, erzeugt wurden. Die Aufgaben der Buchhalter bestehen nicht nur darin, Berichte zu erstellen und Daten in das Programm einzugeben. Daher ist für sie ein vollwertiger Terminalzugriff vorzuziehen und funktioniert bereits mit allem, was von dort aus erforderlich ist (1C Terminal Server). Für Manager ist alles viel einfacher und für sie ist die Veröffentlichung einer Anwendung (Terminalserver 1C RemoteApp) ein völlig akzeptabler Anwendungsfall.

Ich habe es nicht gewagt, den Server ohne echte Tests in Produktion zu bringen, und deshalb wurden umfangreiche Tests organisiert. Das Plus für mich persönlich war auch die Tatsache, dass ich meine theoretischen Berechnungen, die auf sehr subjektiven Leistungsindikatoren der Arbeitsplätze der Mitarbeiter basierten, in der Praxis unterstützen (oder widerlegen) konnte.

Test Umgebung

Zum Testen wurde also ein Server mit einer CPU verwendet Intel Xeon E5-1650 v3 bei 3,50 GHz, 128 RAM, 2 * SSD – RAID 1… Auf diesem Server, bei dem es sich lediglich um einen Terminalserver handelt, wird eine virtuelle Maschine bereitgestellt, auf der die Anwendungen 1C 8.2, 1C 8.3 und MS Office 2013 Pro installiert sind.

Ich muss sofort sagen, dass die Art der Last gemischt war, das heißt, es gab Clients, die über RemoteApp arbeiteten, und es gab diejenigen, die vollständig über RDP eintraten und die für ihre Arbeit erforderlichen Programme verwendeten (nicht nur 1C, sondern auch Office). Die Verteilung war ungefähr wie folgt: 24 RemoteApp-Sitzungen, 5 RDP-Clients.

Die Benutzer standen alle 30 Minuten zwei Stunden lang vor der Aufgabe, Anwendungen einzugeben und tägliche Aufgaben darin auszuführen – Berichte zu erstellen, Daten zu drucken, Dokumentbuchungen vorzunehmen, Daten in andere Formate zu exportieren usw. Die Hauptsache ist, dass es keinen Zweck gab, den Server herunterzufahren, Ziel war es, eine echte durchschnittliche tägliche Arbeitsbelastung zu erreichen.

Testergebnisse

Alles begann wie gewohnt – Benutzer ab dem dritten Tritt der Abteilungsleiter und höher begannen immer noch, 1C einzugeben und Routineaufgaben auszuführen. All dies dauerte nicht lange und ich hatte nur eine Chance, die Serverleistungsindikatoren so nah wie möglich an die tatsächliche Last heranzuführen. Folgendes habe ich erreicht:

CP:

Terminalserver-Leistungstest 1C 02

RAM (dynamisch zugewiesener Speicher wurde auf dem virtuellen Server festgelegt, daher änderte sich die aktuelle RAM-Größe bei Bedarf ständig nach oben):

Leistungstest des Terminalservers 1C 03

Festplatten:

Terminalserver-Leistungstest 1C 01

Jetzt müssen Sie die Ergebnisse analysieren und Bilanz ziehen.

Datenanalyse

Es ist zu beachten, dass sich die Berechnungen für den Prozessor als äußerst genau herausstellten.

In dem Artikel Terminal Server 1C RemoteApp habe ich empirisch festgestellt, dass der Verbrauch von CPU-Ressourcen durch eine 1C RemoteApp-Sitzung durchschnittlich 122.775 Einheiten Prozessorleistung beträgt (Leistungsdaten stammen von der Website www.cpubenchmark.net ). In einem anderen Artikel – Terminal Server 1C – habe ich die für eine vollständige RDP-Sitzung erforderlichen Ressourcen berechnet und sie beliefen sich auf 4% des Core i5 4460, dh auf 0,04 * 6622 (die Daten sind noch vorhanden) www.cpubenchmark.net) = 264,88.

Insgesamt erhalten wir:

  • Die vollständige RDP-Sitzung ist voll 264,88 Einheiten der CPU-Leistung;
  • Sitzung 1C RemoteApp verbraucht 122.775 Einheiten.

Oben erwähnte ich, dass es 24 RemoteApp-Benutzer und 5 RDP-Benutzer gab. Wir erwägen:

24 * 122,775 + 5 * 264,88 = 4271

Der relative Leistungsindex des Intel Xeon E5-1650 v3 beträgt 13477 Punkte. Das heißt theoretisch Die CPU-Auslastung sollte bei 32% liegen (4271/13477 * 100).

Das Diagramm der CPU-Auslastung zeigt, dass im Zeitintervall 10:30 – 10:50 die CPU um 25 – 40% ausgelastet ist (Peaks zählen nicht). Natürlich erhalten Sie bei 32% keine gerade Linie der CPU-Auslastung, es gibt immer noch Schwankungen von Minimum zu relativen Maximum, aber im Allgemeinen können wir davon ausgehen, dass die realen Daten mit den theoretischen übereinstimmen. Übrigens, je mehr Benutzer sich auf Ihrem Server befinden, desto gleichmäßiger wird die Last.

Tatsächlich erwiesen sich RAM-Daten als wertvoller. Nach Berechnungen aus früheren Artikeln hatte ich:

  • 2 GB pro RDP-Sitzung;
  • 100 MB pro RemoteApp-Sitzung.

Das heißt, die verwendete Speichermenge sollte für das Betriebssystem maximal 12,4 GB + ein wenig betragen. Aber wie sich herausstellte und ich im Prinzip eine Ahnung hatte, stellte dieser Wert in der Praxis eine völlig andere Zahl dar. 1C erwies sich zu meinem Bedauern als sehr gierig nach RAM. Darüber hinaus verhält sich die Anwendung so, dass sie, sobald sie ein bestimmtes Volumen belegt hat, es nicht für erforderlich hält, sie in dem Moment freizugeben, in dem sie nicht mehr benötigt wird:

Leistungstest des Terminalservers 1C 04

Nun, ist es in Ordnung, unter 2 GB RAM zu verschlingen und gleichzeitig nichts zu tun (die CPU-Auslastung der Sitzung beträgt 0%). Moderne Programmierer kümmern sich überhaupt nicht um die optimale Nutzung der Ressourcen. Als ich auf dem College war, war ich persönlich gezwungen, den Anwendungscode neu zu schreiben, wenn er im Hinblick auf die Verwendung von Rechenressourcen irrational geschrieben wurde. Anscheinend sind die Qualifikationen moderner Programmierer unter den Sockel gefallen, oder vielleicht ist dies nur ein Ansatz – warum bereits geschriebenen Code optimieren, wann ist es besser, neue Funktionen zu entwickeln. Im Allgemeinen geht es nicht darum, es wurde bombardiert und ist in Ordnung.

Von den 16 GB “Lautsprechern”, die dem Server zugewiesen waren, aß er sie alle und benötigte höchstwahrscheinlich mehr. Theoretisch wechselt das Betriebssystem bei einem RAM-Mangel auf die Festplatte, und in diesem Fall beginnt ein starker Leistungsabfall. In meinem Fall war dies nicht der Fall, und höchstwahrscheinlich ist dies der Vorteil der SSD, die fast überhaupt keine Belastung aufwies – nur zwei kurzfristige Spitzenwerte für den gesamten Testzeitraum (von 10:00 bis 12:00 Uhr). . Wie die Praxis zeigt, empfehle ich jedoch nicht, im RAM von Terminalservern zu sparen.

Kommentare bereitgestellt von HyperComments

Leave a Reply

Your email address will not be published. Required fields are marked *