8.3 8-Server-Cluster-Standardeinstellung

Dieser Artikel enthält Informationen zum 1C-Installationsverfahren in der Client-Server-Version.

Die Installation der 1C-Plattform wird in unserem anderen Artikel „1C-Administration“ im Abschnitt „1C-Installation“ beschrieben. Die Installation auf einem Server ist fast identisch mit der Installation auf einem lokalen Computer, mit nur einem Unterschied. In der Serverversion müssen Sie bei der Auswahl der zu installierenden Komponenten „1C:Enterprise Server“ und „1C:Enterprise Server Administration“ auswählen.

Installieren Sie 1C auf Client-Computern, von denen aus Verbindungen zum Server hergestellt werden.

Die Installation auf Client-Computern unterscheidet sich nicht von der zuvor im Artikel „1C-Administration“ beschriebenen Methode.

Erstellen Sie eine Infobase in SQL.

Auch das Erstellen einer Informationsbasis in SQL ist dem Erstellen einer Datenbank in der Dateiversion sehr ähnlich. Der Unterschied besteht darin, dass Sie bei der Auswahl des Standorttyps der Informationsbasis „Auf dem 1C:Enterprise-Server“ auswählen müssen.

Geben Sie im Punkt „Servercluster“ den Namen (oder besser noch die IP-Adresse) des Servers an, auf dem Sie SQL installiert haben.

Geben Sie im Abschnitt „Infobase-Name“ einen beliebigen Namen an, den Sie der Datenbank geben möchten.

DBMS-Typ – SQL.

Der Datenbankbenutzer und sein Passwort sind derselbe Superuser, der oben bei der Installation von MS SQL erwähnt wurde.

Behalten Sie den Datumsversatz als Standard bei.

Es ist notwendig, die Option „Datenbank erstellen, falls noch nicht vorhanden“ zu aktivieren und auf „Weiter“ zu klicken.

Nun wurde die Datenbank erfolgreich auf dem SQL-Server erstellt und zur Liste der verfügbaren Datenbanken hinzugefügt. Unten im Bild sehen Sie das Ergebnis der geleisteten Arbeit.

Es ist zu beachten, dass die erstellte Datenbank noch leer ist. Dies ist ein Framework, ein in SQL zugewiesener Platz für Ihre Informationsbasis. Um Ihre Datenbank in dieses Framework zu laden, müssen Sie die Tools zum Hochladen/Laden der Informationsbasis verwenden. Der Upload-/Download-Vorgang wird auch in unserem anderen Artikel „1C-Administration“ beschrieben.

Um das System in Zukunft in einen idealen Zustand zu bringen, ist es notwendig, einen „Wartungsplan“ für die erstellte Datenbank zu konfigurieren. Ein Wartungsplan ist eine Reihe von Verfahren, die SQL regelmäßig nach einem bestimmten Zeitplan ausführt. Beispielsweise werden regelmäßig Backups erstellt und temporäre Dateien gelöscht. Die Arbeit mit SQL geht über den Rahmen dieses Artikels hinaus und wird im Folgenden beschrieben.

Servercluster 1C:Enterprise 8 (1C:Enterprise 8 Servercluster)

Der 1C:Enterprise 8-Servercluster ist die Hauptkomponente der Plattform, die im Falle des Client-Server-Betriebs die Interaktion zwischen dem Datenbankverwaltungssystem und dem Benutzer gewährleistet. Der Cluster ermöglicht die Organisation einer unterbrechungsfreien, fehlertoleranten und wettbewerbsfähigen Arbeit für eine beträchtliche Anzahl von Benutzern mit großen Informationsdatenbanken.

Ein 1C:Enterprise 8-Servercluster ist ein logisches Konzept, das eine Reihe von Prozessen bezeichnet, die dieselben Informationsdatenbanken bedienen.

Die folgenden Fähigkeiten eines Serverclusters können als die wichtigsten identifiziert werden:

  • die Fähigkeit, sowohl auf mehreren als auch auf einem Computer (Arbeitsserver) zu funktionieren;
  • Jeder Worker-Server kann das Funktionieren eines oder mehrerer Worker-Prozesse unterstützen, die Client-Verbindungen innerhalb der Grenzen dieses Clusters bedienen.
  • die Einbeziehung neuer Kunden in die Arbeitsprozesse des Clusters erfolgt auf Basis einer Langzeitanalyse der Arbeitsprozess-Belastungsstatistiken;
  • Die Interaktion aller Clusterprozesse untereinander, mit Clientanwendungen und dem Datenbankserver erfolgt über das TCP/IP-Protokoll;
  • Clusterprozesse, die ausgeführt werden, können entweder ein Dienst oder eine Anwendung sein

Client-Server-Option. Arbeitsplan

Bei dieser Option interagiert eine Clientanwendung mit dem Server. Der Servercluster wiederum interagiert mit dem Datenbankserver.

Die Rolle des zentralen Servers des Clusters übernimmt einer der Computer, die Teil des Serverclusters sind. Neben der Bereitstellung von Client-Verbindungen verwaltet der zentrale Server auch den Betrieb des gesamten Clusters und speichert die Registrierung dieses Clusters.

Der Cluster wird bei Client-Verbindungen über den Namen des zentralen Servers und ggf. die Netzwerk-Portnummer angesprochen. Wenn ein Standard-Netzwerkport verwendet wird, müssen Sie zum Herstellen einer Verbindung lediglich den Namen des zentralen Servers angeben.

Beim Verbindungsaufbau kontaktiert die Client-Anwendung den zentralen Server des Clusters. Basierend auf der Analyse der Auslastungsstatistiken des Worker-Prozesses leitet der zentrale Server die Client-Anwendung an den erforderlichen Worker-Prozess weiter, der sie bedienen soll. Dieser Vorgang kann auf jedem funktionierenden Server im Cluster, insbesondere auf dem Zentralserver, aktiviert werden.

Verbindungswartung und Benutzerauthentifizierung werden von diesem Workflow unterstützt, bis der Client die Arbeit mit einer bestimmten Infobase einstellt.

Servercluster

Ein einfacher Servercluster kann aus einem einzelnen Computer bestehen und nur einen Arbeitsprozess enthalten.

In der Abbildung können Sie alle Elemente beobachten, die auf die eine oder andere Weise am Betrieb des Serverclusters beteiligt sind. Dies sind die folgenden Elemente:

  • Serverclusterprozesse:
    o ragent.exe;
    o rmngr.exe;
    o rphost.exe;
  • Datenspeicher:
    o Liste der Cluster;
    o Cluster-Registrierung.

Der Prozess ragent.exe, genannt Serveragent, stellt die Funktion des Computers als Teil eines Clusters sicher. Daher sollte der Computer, auf dem der Prozess ragent.exe ausgeführt wird, als Produktionsserver bezeichnet werden. Eine der funktionalen Aufgaben von ragent.exe besteht insbesondere darin, eine Registrierung von Clustern zu verwalten, die sich auf einem bestimmten Arbeitsserver befinden.

Weder die Cluster-Registry noch der Server-Agent sind integraler Bestandteil des Server-Clusters, sondern ermöglichen lediglich die Funktion des Servers und der darauf befindlichen Cluster.

Der Servercluster selbst besteht aus folgenden Elementen:

  • ein oder mehrere rmngr.exe-Prozesse
  • Cluster-Registrierung
  • ein oder mehrere rphost.exe-Prozesse.

Clustermanager (Prozess rmngr.exe). Es dient der Steuerung der Funktionsweise des gesamten Clusters. Ein Cluster kann mehrere rmngr.exe-Prozesse umfassen, von denen einer immer der Hauptmanager dieses Clusters sein wird und die übrigen Prozesse zusätzliche Manager sein werden. Der zentrale Server des Clusters sollte als Arbeitsserver bezeichnet werden, auf dem der Hauptclustermanager arbeitet und der die Clusterliste enthält. Die Pflege der Cluster-Registrierung ist eine der Funktionen des Haupt-Cluster-Managers.

Arbeitsprozess (rphost.exe-Prozess). Er ist es, der Clientanwendungen direkt bedient und mit dem Datenbankserver interagiert. Während dieses Vorgangs können einige Servermodul-Konfigurationsvorgänge ausgeführt werden.

Skalierbarkeit von 1C Version 8.3

Die Skalierbarkeit eines Serverclusters wird auf folgende Weise erreicht:

  • Erhöhen Sie die Anzahl der Manager im Cluster und die Verteilung der Dienste zwischen ihnen
  • Erhöhen Sie die Anzahl der Arbeitsprozesse, die auf einem bestimmten Arbeitsserver ausgeführt werden
  • Erhöhen Sie die Anzahl der funktionierenden Server, aus denen der Cluster besteht.

Verwendung mehrerer Manager gleichzeitig.

Die vom Clustermanager ausgeführten Funktionen sind in mehrere Dienste unterteilt. Diese Dienste können verschiedenen Clustermanagern zugewiesen werden. Dadurch ist es möglich, die Last gleichmäßig auf mehrere Prozesse zu verteilen.

Einige Dienste können jedoch nur vom Hauptclustermanager genutzt werden:

  • Cluster-Konfigurationsdienst
  • Debug-Elementverwaltungsdienst
  • Cluster-Sperrdienst.

Für andere Dienste können beliebige Clustermanager zugewiesen werden:

  • Protokolldienst
  • Objektblockierungsdienst
  • Arbeitsvermittlung
  • Volltextsuchdienst
  • Sitzungsdatendienst
  • Nummerierungsdienst
  • benutzerdefinierter Einstellungsdienst
  • Zeitdienst
  • Transaktionsblockierungsdienst.

Mehrere Arbeitsabläufe gleichzeitig nutzen.

Durch den Einsatz mehrerer Arbeitsprozesse ist es einerseits möglich, die Belastung jedes einzelnen Arbeitsprozesses zu reduzieren. Andererseits führt der Einsatz mehrerer Worker-Prozesse zu einer effizienteren Nutzung der Hardware-Ressourcen des Produktionsservers. Darüber hinaus erhöht das Verfahren zum Starten mehrerer Arbeitsprozesse die Zuverlässigkeit des Servers, da es Gruppen von Clients isoliert, die mit unterschiedlichen Informationsbasen arbeiten. Ein Worker-Prozess in einem Cluster, der die Ausführung mehrerer Worker-Prozesse ermöglicht, kann innerhalb eines vom Cluster-Administrator festgelegten Zeitintervalls automatisch neu gestartet werden.

Die Möglichkeit, mehr Worker-Prozesse zu verwenden (wodurch sich die Anzahl der Client-Verbindungen erhöht), ohne die Belastung eines bestimmten Worker-Prozesses zu erhöhen, führt zu einer Erhöhung der Anzahl der Worker-Server, die Teil des Clusters sind.

Fehlertoleranz von 1C Version 8.3

Die Widerstandsfähigkeit gegenüber Clusterausfällen wird auf drei Arten sichergestellt:

  • Redundanz des Clusters selbst
  • Reservierung von Arbeitsabläufen
  • Widerstand gegen Unterbrechung des Kommunikationskanals.

Sichern eines 1C-Clusters Version 8.3

Mehrere Cluster werden zu einer Redundanzgruppe zusammengefasst. Cluster, die sich in einer solchen Gruppe befinden, werden automatisch synchronisiert.

Fällt der aktive Cluster aus, wird er durch den nächsten funktionierenden Cluster in der Gruppe ersetzt. Sobald der ausgefallene Cluster wiederhergestellt ist, wird er nach der Datensynchronisierung aktiv.

Sicherung von 1C-Arbeitsprozessen Version 8.3

Für jeden der Workflows können Optionen für seine Verwendung angegeben werden:

  • verwenden
  • verwende nicht
  • als Backup verwenden.

Wenn ein Prozess abstürzt, beginnt der Cluster stattdessen mit der Verwendung eines derzeit inaktiven Backup-Prozesses. In diesem Fall wird die Belastung automatisch umverteilt.

Widerstand von 1C Version 8.3 gegen Kommunikationskanalunterbrechung

Da jedem Benutzer eine eigene Kommunikationssitzung zur Verfügung gestellt wird, speichert der Cluster Daten über die Benutzer, die eine Verbindung hergestellt haben, und welche Aktionen sie ausgeführt haben.

Wenn die physische Verbindung verschwindet, wartet der Cluster auf eine Verbindung mit diesem Benutzer. In den meisten Fällen kann der Benutzer nach Wiederherstellung der Verbindung genau an der Stelle weiterarbeiten, an der die Verbindung unterbrochen wurde. Es ist nicht erforderlich, die Verbindung zur Infobase erneut herzustellen.

Sitzungen in 1C Version 8.3

Eine Sitzung ermöglicht es, den aktiven Benutzer einer bestimmten Infobase zu ermitteln und den Kontrollfluss von diesem Client aus zu bestimmen. Es werden folgende Arten von Sitzungen unterschieden:

  • Thin Client, Web Client, Thick Client – ​​diese Sitzungen finden statt, wenn die entsprechenden Clients auf die Infobase zugreifen
  • Verbindung vom Typ „Konfigurator“ – erfolgt beim Zugriff auf die Konfigurator-Infobase
  • COM-Verbindung – wird gebildet, wenn eine externe Verbindung für den Zugriff auf eine Infobase verwendet wird
  • WS-Verbindung – entsteht beim Zugriff auf die Webserver-Infobase als Folge des Zugriffs auf einen auf dem Webserver veröffentlichten Webdienst
  • Hintergrundjob – wird erstellt, wenn ein Cluster-Worker-Prozess auf die Infobase zugreift. Eine solche Sitzung wird verwendet, um den Code der Hintergrundjobprozedur auszuführen.
    Clusterkonsole – wird erstellt, wenn das Client-Server-Verwaltungsdienstprogramm auf einen Arbeitsprozess zugreift
  • COM-Administrator – tritt auf, wenn über eine externe Verbindung auf einen Arbeitsprozess zugegriffen wird.
  • Arbeiten Sie unter verschiedenen Betriebssystemen

Alle Serverclusterprozesse können sowohl unter dem Linux-Betriebssystem als auch unter dem Windows-Betriebssystem ausgeführt werden. Dies wird dadurch erreicht, dass die Cluster-Interaktion unter der Kontrolle des TCP/IP-Protokolls erfolgt. Der Cluster kann auch funktionierende Server umfassen, auf denen eines dieser Betriebssysteme ausgeführt wird.

Server-Cluster-Verwaltungsdienstprogramm 8.3

Das Systempaket enthält ein Dienstprogramm zur Verwaltung der Client-Server-Option. Dieses Dienstprogramm ermöglicht es, die Zusammensetzung des Clusters zu ändern, Informationsdatenbanken zu verwalten und Transaktionssperren schnell zu analysieren.

Mehrere Worker-Prozesse auf einem Server ermöglichen es, die Menge an RAM- und Prozessorressourcen effektiv für die Ausführung von Anforderungen zu nutzen und eine Client-Sitzung mit einem anderen Worker-Prozess zu verbinden, wenn der aktuelle „abstürzt“.
Das Programm Server Agent (ragent) ist dafür verantwortlich, zu verstehen, was auf einem bestimmten Server ausgeführt wird. Durch das Stoppen des Serveragenten ist der Server für die Verwendung durch den Cluster nicht mehr verfügbar. Der Agent speichert seine Informationen in der Datei srvribrg.lst.

Informationen über Arbeitsdatenbanken und beteiligte Arbeitsprozesse sind Eigentum des „Server Managers“ (rmngr). Diese Informationen werden in der Datei 1CV8Reg.lst gespeichert. Das Stoppen des Server-Managers kann bei erfolgreichem Neustart des Managers zu einem Neustart der Client-Anwendungen oder zu einem vollständigen Stopp der Arbeitsserver des gesamten Clusters führen.

1C: Das Unternehmen bietet die Möglichkeit, mehrere unabhängige Cluster auf einem Server zu erstellen. Jeder von ihnen wird im Netzwerk durch einen eindeutigen „IP-Port“ und eine eindeutige Nummer in den Servicedateien identifiziert. Der erste Cluster erhält standardmäßig Port 1541.

Das Snap-In „Enterprise Server“ ist für die Verwaltung des Clusters konzipiert.
Sie können über den Servernamen oder die IP-Adresse eine Verbindung zu Servern herstellen.

Serveragent

Der Serveragent „weiß“ über alle Cluster Bescheid, die auf dem Server ausgeführt werden. Diese Informationen werden in der Datei srvribrg.lst mit einer Liste von Clustern und Listenadministratoren gespeichert. Der Hauptport des Agenten ist 1540. Auf jedem Arbeitsserver kann nur ein Agent gestartet werden, der alle möglichen Cluster auf diesem Server bedient.

Schauen wir uns die Clustereigenschaften genauer an

Neustartintervall

Dieser Parameter startet die Arbeitsprozesse des 1C-Servers gemäß dem angegebenen Wert in Sekunden neu. Typischerweise wird der Parameter auf Anwendungsservern verwendet, die über ein 32-Bit-System verfügen, da dort die Speicherkapazität auf ~ 3,7 GB begrenzt ist, wenn das Betriebssystem 64-Bit und der Anwendungsserver 32-Bit ist. Wenn das Betriebssystem eine 32-Bit-Architektur verwendet, beträgt der Gesamtspeicherverbrauch des Arbeitsprozesses ~ 1,7 GB. Und Benutzer erhalten möglicherweise häufig eine Fehlermeldung wie „Nicht genügend Speicher auf dem 1C Enterprise-Server“. Der einfachste Weg, diesen Fehler zu vermeiden, besteht darin, die Arbeitsprozesse neu zu starten, beispielsweise 86400 Sekunden (1 Tag). Beim Ändern des Parameters beginnt die Zeitzählung mit dem Start des 1C-Anwendungsserverdienstes.

Erlaubte Speichergröße

Neustart von Worker-Prozessen, wenn ein bestimmter Schwellenwert des vom Worker-Prozess belegten Speichers in Kilobyte erreicht wird.

Intervall für die Überschreitung der zulässigen Speichermenge

Dies bedeutet, dass der 1C-Server entscheidet, den Workflow neu zu starten, wenn innerhalb einer bestimmten Anzahl von Sekunden der im Parameter „Zulässige Speichermenge“ angegebene Speicher überschritten wird.

Zulässige Abweichung der Anzahl der Serverfehler

Es wird wie folgt berechnet. Wir haben Serveraufrufe, die im Technologieprotokoll durch das Ereignis „CALL“ sichtbar sind, und es gibt auch verschiedene Ausnahmesituationen, die im Technologieprotokoll durch das Ereignis „EXCP“ sichtbar sind. Die Plattform berechnet das Verhältnis dieser Ereignisse. Es wird davon ausgegangen, dass diese Ereignisse ungefähr gleich sein sollten. Wenn in einem Arbeitsprozess dieses Verhältnis das Verhältnis dieser Ereignisse in anderen Arbeitsprozessen um ein erhebliches Maß übersteigt, wird ein solcher Arbeitsprozess als problematisch angesehen. In diesem Parameter wird genau dieser Wert eingestellt. Der empfohlene Wert ist 50.

Erzwingen Sie die Beendigung problematischer Prozesse

Wenn wir diesen Parameter aktivieren, werden problematische Prozesse gemäß dem Parameter „Zulässige Abweichung der Anzahl der Serverfehler“ beendet. Wenn der Parameter deaktiviert ist, zeigt die Plattform das Prozessprotokollereignis „ATTN“ an, das auf den problematischen Prozess hinweist.

Stoppen Sie anschließend deaktivierte Prozesse

Wenn einer der Parameter „Neustartintervall“ oder „Zulässige Speichergröße“ ausgelöst wird, kann es beim Neustart des Arbeitsprozesses zu einem „Abfall“ kommen. Wenn der Client während des Neustarts nicht auf den Server zugreift (inaktiv ist), wechselt er beim nächsten Zugriff reibungslos zum neuen Arbeitsprozess. Wenn der Client zum Zeitpunkt des Neustarts des Workflows Kontakt zum Server aufnimmt, erhält er in diesem Fall eine Fehlermeldung und bricht seine Arbeit ab. Um dies zu verhindern, müssen Sie den Wert dieses Parameters in Sekunden festlegen. Normalerweise reichen 120 Sekunden. In dieser Zeit hat der Workflow Zeit, aktuelle Kundenanfragen zu bearbeiten und in einen neuen Workflow zu überführen. Die aktiven Clients, für deren Verarbeitung der Prozess keine Zeit hatte, werden beendet und die Clients erhalten möglicherweise eine Fehlermeldung.

Fehlertoleranzniveau

Diese Einstellung bleibt unabhängig von der Anzahl der zentralen Server bestehen. Die Fehlertoleranzstufe kann einen beliebigen Wert annehmen. Beispiel: Ausfallsicherheitsstufe = 1, dann wird jede Benutzersitzung verdoppelt. Wenn die Fehlertoleranzstufe = 2 ist, wird jede Sitzung mit 3 multipliziert. Außerdem erhöht sich die Belastung des Servers. Wenn wir die Fehlertoleranzstufe ändern und einen zentralen Server haben, wird dieser auf jeden zentralen Server repliziert: „Cluster-Registrierung“, „Cluster-Sperrdienst“. Es gibt auch eine Replikation von Diensten wie „Sitzungsdatendienst“, „Online-Zeitstempeldienst“, „Objektblockierungsdienst“, „Lizenzierungsdienst“ und „Nummerierungsdienst“ auf andere Server. Unter ihnen ist der „Sitzungsdatendienst“ der schwerste.

Lastverteilungsmodus

Was die Leistung angeht. Wenn eine Clientverbindung hergestellt wird, stellt sie eine Verbindung zu dem Server her, der über einen Arbeitsprozess mit mehr verfügbarer Leistung verfügt. Die verfügbare Leistung wird in den Workflow-Eigenschaften eingestellt:


Die verfügbare Leistung auf 1C-Ebene wird wie folgt berechnet: Alle 10 Minuten wird ein Referenzserveraufruf an alle Arbeitsprozesse durchgeführt und die Zeit dieses Aufrufs gemessen. Die resultierende Zahl wird durch 10.000 (zehntausend) geteilt und die Mechanismen des Anwendungsservers berechnen die Referenzzeit. Für den Fall, dass die Produktivität eines Arbeitsprozesses um 25 % geringer ist als die der anderen, beginnen Verbindungen von diesem Arbeitsprozess zu anderen Arbeitsprozessen zu gehen, bis alle Verbindungen verschwunden sind.

Speicherpriorität. Benutzerverbindungen werden zu einem Produktionsserver hergestellt, der über mehr verfügbaren Speicher verfügt.

Cluster-Manager

Der Clustermanager ist für den Betrieb des Clusters verantwortlich. Jeder Cluster hat seinen eigenen Manager. Der Manager speichert Informationen über den Cluster in der Datei 1CV8Reg.lst (Cluster-Registrierung). Jeder Cluster Manager verfügt außerdem über einen eigenen Port auf dem Work Server. Für den ersten Cluster ist der Standard-Manager-Port 1541. Dieser Port wird im Snap-In „1C Servers: Enterprise“ im Zweig „Cluster“ angezeigt und identifiziert den Cluster.
Der Manager erhält Anfragen vom Kundenteil von 1C: Enterprise und entscheidet, an welchen Workflow er diese Serviceanfrage weiterleitet.

Der Manager verwendet den Service-Port, um mit Arbeitsprozessen zu interagieren.

Der Arbeitsprozess

Der Arbeitsprozess ist für die „Arbeit mit Kunden“ verantwortlich. Im 1C: Enterprise 8-Cluster können mehrere Worker-Prozesse vorhanden sein. Die Anzahl der Arbeitsprozesse wird nicht manuell erstellt, sondern anhand von Beschreibungen der Aufgabenanforderungen an Fehlertoleranz und Zuverlässigkeit berechnet. Der Servermanager entscheidet, welcher Arbeitsprozess die Clientverbindung bedient. Für Client-Verbindungen wird Worker-Prozessen standardmäßig ein Bereich von IP-Ports 1560 – 1591 zugewiesen. Darüber hinaus wird jedem Worker-Prozess ein Service-Port für die Kommunikation mit dem Cluster-Manager zugewiesen.

Die Arbeitsservereinstellungen können laut 1C-Dokumentation nur in der CORP-Version des 1C-Anwendungsservers geändert werden. Tatsächlich funktionieren die Einstellungen sowohl in der CORP- als auch in der PROF-Version. Werden diese Einstellungen in der PROF-Version verwendet, stellt dies einen Verstoß gegen die Lizenzvereinbarung dar.

Maximaler Arbeitsspeicher

Dieser Parameter an sich schränkt nichts ein. Es funktioniert in Verbindung mit dem Parameter „Sicherer Speicherverbrauch pro Aufruf“. Stellen wir uns vor, dass alle unsere Arbeitsprozesse insgesamt ungefähr den Speicherverbrauch des angegebenen Werts dieses Parameters erreicht haben. Und nun möchte ein bestimmter Benutzer einen bestimmten Serveraufruf tätigen, der viel Speicher verbrauchen möchte. Sobald der Serveraufruf die in diesem Parameter angegebene Speichermenge um die Speichermenge im Parameter „Sicherer Speicherverbrauch für einen Aufruf“ überschreitet, erhält dieser bestimmte Benutzer eine Fehlermeldung der Form: „Sicherer Speicherverbrauch für einen Client.“ -Serveraufruf wurde überschritten.“ Dies ist notwendig, damit ein einzelner Benutzer den Arbeitsserver nicht überlasten kann. Der Wert des Parameters 0 entspricht 80 % des auf dem 1C-Server installierten Speichers.

Sicherer Speicherverbrauch pro Anruf

Ein Wert von 0 (Standard) entspricht 5 % des maximalen Arbeitsspeicherwerts. Der Wert kann -1 sein. Dies bedeutet, dass jeder Client-Server-Aufruf den angegebenen Wert des Parameters „Maximale Worker-Speichergröße“ überschreitet.

Die Menge an Arbeitsspeicher, bis zu der der Server als produktiv gilt

Bedeutet: Wenn dieser Wert auf einen Wert gesetzt ist und Arbeitsprozesse die in diesem Parameter angegebene Menge an Speicher belegt haben, läuft der Server weiter, akzeptiert jedoch keine neuen Verbindungen, bis der Speicher freigegeben wird.

Anzahl der Informationssicherheit pro Prozess

Bei vielen Infobases und einem Workflow kann es zu Leistungseinbußen kommen. Daher ist es mit diesem Parameter möglich, die Anzahl der Datenbanken pro Prozess zu reduzieren. Wenn Sie den Wert auf 1 setzen (in den meisten Fällen funktioniert das ganz optimal), dann wird für jede Infobase ein neuer Worker-Prozess (rphost) erstellt.

Anzahl der Verbindungen pro Prozess

Wie der obige Parameter, hängt jedoch von der Anzahl der Verbindungen pro Prozess ab. Ein Wert von 0 bedeutet, dass es auf jedem Worker-Server nur einen Worker-Prozess gibt.

Manager für jeden Dienst

Jeder zentrale Worker-Server verfügt über einen Haupt-Cluster-Manager mit bestimmten Diensten:


Sie werden von einem Dienst „rmngr“ ausgeführt. Stellen wir uns vor, dass dieser Dienst beginnt, viel Speicher zu verbrauchen oder CPU-Ressourcen zu verschwenden. Meist gibt es ein paar typische Verdächtige. Aber plötzlich befinden Sie sich in einer „Sackgasse“ und können nicht verstehen, was genau den Dienst lädt. Sie können das Kontrollkästchen „Manager für jeden Dienst“ aktivieren. Der Dienst wird in 21 Prozesse unterteilt (dies ist die Anzahl der Dienste im Wesentlichen). Clustermanager). Und dementsprechend kann anhand der PID des Prozesses berechnet werden, welcher Dienst das System belastet.

Zentraler Server

Dies ist der Server, der die Cluster-Registrierung in der Datei 1CV8Clst.lst speichert. Die Datei speichert eine Liste von Datenbanken, eine Liste von Cluster-Administratoren, eine Liste von Funktionszuweisungsanforderungen, eine Liste von Sicherheitsprofilen und im Allgemeinen alle Cluster-Einstellungen. Diese Datei ist nur dort vorhanden, wo das Kontrollkästchen „Zentraler Server“ aktiviert ist. Es können mehrere zentrale Server vorhanden sein. Auch auf den zentralen Servern gibt es Dienste wie „Cluster-Blocking-Dienst“, „Cluster-Konfigurationsdienst“. Solange mindestens ein zentraler Server betriebsbereit ist, funktioniert der Cluster. Sobald der letzte zentrale Server ausfällt, wird der Cluster unabhängig von den Fehlertoleranzeinstellungen unbrauchbar.

Anforderung an die Funktionszuweisung

Der 1C Enterprise 8.3-Servercluster bietet einen bestimmten Satz an Funktionen (sogenannte Anforderungsobjekte), deren Verteilung zwischen funktionierenden Servern innerhalb des Clusters gesteuert werden kann. Sie können beispielsweise festlegen, dass alle Hintergrundjobs im Cluster auf einem ausgewählten Worker-Server ausgeführt werden. Um einen Verbindungs- oder Clusterdienst auf einem beliebigen Produktionsserver zu platzieren, müssen Sie eine Funktionszuweisungsanforderung für den ausgewählten Produktionsserver erstellen. Diese Anforderung bestimmt die Fähigkeit oder Unmöglichkeit eines bestimmten Servers, eine bestimmte Aufgabe auszuführen. Schauen wir uns genauer an, was eine Funktionszuweisungsanforderung ist.

Benutzerverbindungen migrieren

Nehmen wir an, wir möchten, dass Benutzerverbindungen auf Worker-Server Nr. 1 funktionieren, aber wenn dieser Server ausfällt, soll ein Failover auf einen anderen Worker-Server Nr. 2 erfolgen

Dazu müssen wir auf Server Nr. 1 eine Funktionszuweisungsanforderung erstellen:


Stellen Sie auf Server Nr. 2 die gleichen Einstellungen ein, ändern Sie jedoch die Priorität:


Die Bedeutung der Priorität wird umgekehrt umgesetzt. Das heißt, Priorität 1 ist höher als Priorität 2.

Entfernen Sie den Produktionsserver aus dem Cluster

Wir können den funktionierenden Server einfach aus dem Cluster entfernen, indem wir ihn aus der Liste löschen. In diesem Fall werden jedoch alle Benutzer aus dem System „herausgeschmissen“. Um den Entzug schmerzloser zu gestalten, können Sie Folgendes tun:

Erstellen Sie eine Funktionszuweisungsanforderung mit den folgenden Einstellungen:


Diese Einstellung bedeutet, dass keine neuen Verbindungen zu diesem Arbeitsserver hergestellt werden. Diejenigen Benutzer, die gearbeitet haben, werden weiterhin arbeiten, aber nach und nach auf andere funktionierende Server wechseln.

Lizenzierungsservice

Verschieben Sie den Lizenzierungsdienst auf einen separaten Server. Das ist gut, weil Softwarelizenzen an einen bestimmten Computer gebunden werden können. Erstellen wir eine Funktionszuweisungsanforderung mit den folgenden Einstellungen:


Hintergrundjobs

Mit der Veröffentlichung der Plattform 8.3.7 wurden Hintergrundjobs in zwei Gruppen unterteilt:

1. Hintergrundjobs, die vom Konfigurationscode aufgerufen werden

2. Routineaufgaben

Daher sind mehrere Einstellungen zur Funktionszuweisung erforderlich:



1. Damit Hintergrundjobs schnell ausgeführt werden, müssen Sie Sitzungsdaten für Hintergrundjobs und geplante Jobs hinzufügen



Nachdem Sie die erforderlichen Anforderungen für die Zuweisung von Funktionen erstellt haben, müssen Sie diese anwenden:


Teilweise – Anwendung, die das Benutzererlebnis nicht beeinträchtigt

Vollständig – eine Anwendung, die das Benutzererlebnis beeinträchtigen kann.

In der Praxis habe ich noch nie eine Situation erlebt, in der es bei vollständiger Anwendung zu Beeinträchtigungen des Benutzererlebnisses oder Ähnlichem kam. Aber alles ist möglich, denken Sie daran. Nach der Anwendung ist ein Neustart des 1C-Anwendungsserverdienstes nicht erforderlich.

Sie können sich jederzeit an die Optimierungsspezialisten von 1C wenden; unsere praktische Erfahrung wird Ihnen Zeit sparen.

Zusätzlich zur Dateiversion kann das 1C:Enterprise-System mit Informationsdatenbanken in einer Client-Server-Version arbeiten. Unter letzterem versteht man eine Architektur, die aus mehreren Softwareschichten besteht, schematisch dargestellt in der folgenden Abbildung.

  • Client-Anwendungen, Thin Clients und Web-Clients- das ist „1C:Enterprise“ in verschiedenen Startmodi, mit denen der Endbenutzer arbeitet. Für Client-Anwendungen und Thin Clients reicht für einen Web-Client ein Webbrowser auf den Computern der Benutzer (oder darauf) aus.
  • Servercluster „1C:Enterprise“ ist eine Sammlung von Arbeitsprozessen, die auf einem oder mehreren Computern laufen, und eine Liste von Informationsdatenbanken, die sich in diesem Cluster befinden. Im Servercluster werden alle Arbeiten der Anwendungsobjekte ausgeführt, Vorbereitungen für die Anzeige von Formularen (Infobase-Objekte lesen, Formulardaten ausfüllen, Elemente anordnen usw.) und die Befehlsschnittstelle, die Erstellung von Berichten und die Ausführung von Hintergrundjobs getroffen. Clients zeigen nur im Servercluster vorbereitete Informationen an. Darüber hinaus werden Servicedateien sowie ein Infobase-Registrierungsprotokoll auf dem 1C:Enterprise-Clusterserver gespeichert.
  • Datenbankserver— Auf dem Datenbankserver erfolgt die direkte Speicherung und Arbeit mit Daten, bereitgestellt durch eines der folgenden Datenbankverwaltungssysteme (DBMS), die vom 1C:Enterprise-System unterstützt werden:
    • Microsoft SQL Server ab Microsoft SQL Server 2000 und höher;
    • PostgrageSQL seit Version 8.1;
    • IBM DB2 seit Version 9.1;
    • Oracle-Datenbank seit Version 10g Release 2.
  • Webserver Nur für Web-Clients und eine der Thin-Client-Optionen erforderlich. Bietet die Interaktion dieser Verbindungstypen mit einem Cluster von 1C:Enterprise-Servern.

Es ist auch erwähnenswert, dass sich jede Softwareschicht nicht unbedingt auf einem separaten physischen Computer befinden muss. Ein Server-Cluster kann sich auf demselben Rechner wie ein Datenbankserver, ein Webserver etc. befinden. Beispielsweise ist in kleinen Organisationen häufig folgende Arbeitsstruktur anzutreffen:

In diesem Artikel beschreibe ich die Installation der 1C:Enterprise-Serverversion 8.3.4.389 (für andere Versionen der 1C:Enterprise-Plattform 8.1, 8.2 und 8.3 sind die Schritte ähnlich) auf einem Computer mit Windows Server 2008 (R2) oder Windows Server 2012 (R2). Als DBMS kommen Microsoft SQL Server 2008 (R2) oder Microsoft SQL Server 2012 in Betracht. Dafür benötigen wir:

  1. Ein Computer, der die Systemanforderungen für die Installation des 1C:Enterprise-Servers erfüllt und auf dem das Betriebssystem installiert ist oder .
  2. Ein Computer für einen Datenbankserver, auf dem auch ein Betriebssystem ausgeführt wird oder (kann der Computer aus Schritt 1 sein).
  3. Lokale Administratorrechte auf beiden Computern.
  4. Distributionskit zur Installation des 1C:Enterprise Servers 8.
  5. Softwarelizenz oder HASP4 Net-Schutzschlüssel für den 1C:Enterprise-Server.
  6. Distributionskit zur Installation von Microsoft SQL Server 2008 (R2) oder Microsoft SQL Server 2012.

2. Installation des MS SQL Server DBMS

Wir installieren das MS SQL Server DBMS auf dem Computer, der als Datenbankserver dient. Für den Betrieb des 1C:Enterprise-Systems genügt die Installation folgender Komponenten:

  • Datenbank-Engine-Dienste
  • Verwaltungstools – Basic
    • Verwaltungstools – vollständig.

Sortieroptionen auswählen " Cyrillic_General_CI_AS" Details zur Installation von Systemen

3. Konfigurieren der Windows-Firewall für den DBMS-Betrieb

Wenn sich der Datenbankserver und der 1C:Enterprise-Clusterserver auf verschiedenen physischen Computern befinden, müssen Sie die Windows-Firewall auf dem Datenbankserver konfigurieren, damit der 1C:Enterprise-Server mit dem DBMS zusammenarbeiten kann, nämlich eingehende Verbindungen am Port öffnen kann 1433 (für die Standard-SQL Server-Instanz).

  • Ich habe ausführlich über die Einrichtung der Windows-Firewall für Microsoft SQL Server 2008 (R2) / 2012 geschrieben.

4. Hinzufügen eines Benutzers zu MS SQL Server

Als nächstes fügen wir einen separaten Benutzer zu MS SQL Server hinzu, unter dem die Datenbanken des 1C:Enterprise-Servers verbunden werden. Dieser Benutzer ist auch Eigentümer dieser Datenbanken. Der hinzuzufügende Benutzer muss auf dem Server mit einem Passwort autorisiert sein und über die folgenden Rollen verfügen: dbcreator, Prozessadministrator, öffentlich. Details zum Hinzufügen eines Benutzers zu

  • Microsoft SQL Server 2008 (R2) habe ich geschrieben.
  • Ich habe Microsoft SQL Server 2012 geschrieben.

5. Installation des 1C:Enterprise-Servers

Fahren wir nun mit der Installation der 1C:Enterprise-Serverdateien und dem Starten des entsprechenden Dienstes fort. Für die Installation ist ein Distributionskit der 1C:Enterprise-Technologieplattform erforderlich. Aus der Liste der mitgelieferten Distributionen sind folgende geeignet:

  • 1C:Enterprise-Technologieplattform für Windows – ermöglicht die Installation eines 32-Bit-1C:Enterprise-Servers
  • 1C:Enterprise-Server (64-Bit) für Windows – ermöglicht die Installation von 32-Bit- und 64-Bit-1C:Enterprise-Servern

(Es gibt auch eine erweiterte Version des KORP-Servers 1C:Enterprise 8.3, Details finden Sie auf der 1C-Website)

Öffnen Sie das Verzeichnis mit den Installationsdateien des 1C:Enterprise-Servers und führen Sie die Datei aus setup.exe.

Der 1C:Enterprise-Systeminstallationsassistent wird gestartet. Klicken Sie auf der ersten Seite auf „ Weiter».

Auf der nächsten Seite müssen Sie die Komponenten auswählen, die installiert werden sollen; wir benötigen folgende Komponenten:

  • Server 1C:Enterprise— 1C:Enterprise-Serverkomponenten
  • Serververwaltung 1C:Enterprise 8— zusätzliche Komponenten zur Verwaltung eines Clusters von 1C:Enterprise-Servern

Die restlichen Komponenten (die Liste der Komponenten kann von der jeweiligen Distribution abhängen) können je nach Bedarf auch auf diesem Computer installiert werden. Nachdem Sie Ihre Wahl getroffen haben, klicken Sie auf „ Weiter».

Wählen Sie die Sprache der Benutzeroberfläche aus, die standardmäßig verwendet werden soll, und klicken Sie auf „ Weiter».

Wenn der 1C:Enterprise-Server als Windows-Dienst installiert ist (und in den meisten Fällen sollte er als solcher installiert werden), empfehle ich, sofort einen separaten Benutzer zu erstellen, unter dem der erstellte Dienst gestartet wird. Dafür

  • Lassen Sie die Flagge „an“ Installieren Sie den 1C:Enterprise-Server als Windows-Dienst (empfohlen)»;
  • Wir verschieben den entsprechenden Schalter auf „ Erstellen Sie den Benutzer USR1CV8».
  • Geben Sie das Passwort für den zu erstellenden Benutzer zweimal ein. Standardmäßig muss das Passwort der Windows-Passwortrichtlinie entsprechen. Mehr dazu können Sie hier lesen:
    • Für Microsoft Windows Server 2008 (R2) - ;
    • Für Microsoft Windows Server 2012 – .

Sie können auch einen vorhandenen Benutzer auswählen, um den 1C:Enterprise-Server auszuführen. In diesem Fall muss der ausgewählte Benutzer über folgende Rechte verfügen:

  • Melden Sie sich als Dienst an
  • Melden Sie sich als Batch-Job an
  • Benutzer des Leistungsprotokolls.

Außerdem müssen dem Benutzer die erforderlichen Rechte für das Verzeichnis der Serverdienstdateien erteilt werden (standardmäßig). C:\Programme\1cv8\srvinfo für 64-Bit und C:\Programme (x86)\1cv8\srvinfo für einen 32-Bit-Server).

Automatisch erstellter Benutzer USR1CV8 verfügt über alle oben genannten Rechte.

Nachdem Sie die entsprechenden Parameter eingegeben haben, klicken Sie auf „ Weiter».

Und schließlich klicken Sie auf „ Installieren» um die Installation zu starten. Dadurch werden die Dateien der ausgewählten Komponenten kopiert, Konfigurationsdateien erstellt, Programmkomponenten registriert, Verknüpfungen erstellt und auch der 1C:Enterprise-Serverdienst gestartet.

Sobald die Installation abgeschlossen ist, werden Sie vom Assistenten aufgefordert, den Schutztreiber – HASP Device Driver – zu installieren. Wenn Sie eine Softwarelizenz für den 1C:Enterprise-Server verwenden, ist die Installation des Treibers nicht erforderlich. Lassen Sie die Flagge stehen oder entfernen Sie sie. Installieren Sie den Schutztreiber" und klicken Sie auf " Weiter».

Oftmals laufen auf dem Rechner neben dem 1C:Enterprise-Server auch andere Dienste – ein Terminalserver, ein SQL-Server usw. Und irgendwann verbraucht der 1C:Enterprise-Server bzw. der Rphost-Workerprozess mehr Speicher als geplant oder den gesamten Speicher. Dies führt zu einer Verlangsamung anderer Dienste und Zombies des Servers. Um solche Situationen zu vermeiden, müssen Sie den automatischen Neustart der 1C:Enterprise-Server-Workflows konfigurieren

Lösung

1. Öffnen Sie die Verwaltungskonsole der 1C Enterprise-Server;
2. Erweitern Sie den zentralen Serverbaum auf Cluster und wählen Sie den Cluster aus, der uns interessiert. Im Beispiel gibt es nur einen Cluster;
3. Öffnen Sie die Eigenschaften des ausgewählten Clusters und sehen Sie sich das folgende Formular an

Eigenschaften des 1C:Enterprise 8.3-Serverclusters

Schauen wir uns das im Bild gezeigte Beispiel an:

Neustartintervall— Zeit, nach der der rphost-Prozess zum Neustart gezwungen wird. Bevor der Prozess beendet wird, wird ein neuer rphost-Prozess gestartet, an den alle Verbindungen übertragen werden, und erst dann wird der alte Prozess beendet. Dies hat keinerlei Auswirkungen auf das Benutzererlebnis. Das Intervall wird in Sekunden angegeben, im Beispiel sind es 24 Stunden.

Erlaubte Speichergröße– die Speichermenge, innerhalb derer der Workflow problemlos ausgeführt werden kann. Das Volumen wird in Kilobyte angegeben, im Beispiel beträgt der Wert 20 Gigabyte (tatsächlich ist die Zahl zu groß und Sie müssen von dem spezifischen System ausgehen, aber der durchschnittliche Wert beträgt 4 GB). Sobald der vom Arbeitsprozess belegte Speicher den angegebenen Wert überschreitet, beginnt der Countdown.

Intervall für die Überschreitung der zulässigen Speichermenge— Nachdem der nach Überschreiten der zulässigen Speichermenge gestartete Timer die angegebene Zeit heruntergezählt hat, wird ein neuer Arbeitsprozess gestartet, an den alle Verbindungen übertragen werden. Der alte Prozess wird als deaktiviert markiert. Das Intervall wird in Sekunden angegeben, im Beispiel werden 30 Sekunden angegeben.

Stoppen Sie anschließend deaktivierte Prozesse— die Zeit, nach der der als deaktiviert markierte Workflow gestoppt wird; wenn der Wert 0 ist, wird der Prozess nicht abgeschlossen. Das Intervall wird in Sekunden angegeben, im Beispiel werden 60 Sekunden angegeben.

Nach dem Anwenden der Einstellungen müssen Sie den Serverdienst nicht neu starten; sie werden dynamisch angewendet.

Gesamt

Auf diese Weise richten wir den automatischen Neustart der Arbeitsprozesse des 1C:Enterprise-Servers ein und erhalten ein stabileres System; wenn ein Speicherverlust auftritt, wird die Arbeit einer bestimmten Sitzung beendet.

Außerdem können Sie in manchen Situationen mit den Einstellungen experimentieren und bei Fehlern einen möglichen Serverabsturz verhindern.