Heim / Sicherheit / Welcher Server für 1s 83. C: Buchhaltung auf einem separaten Server

Welcher Server für 1s 83. C: Buchhaltung auf einem separaten Server

Bis heute hat sich das 1C-Finanzprodukt von einer Buchhaltungsanwendung für die Buchhaltung zu einem großformatigen Komplex für die Buchhaltung und Unterstützung fast aller Arten von Unternehmen entwickelt und behauptet, mit den „Monstern“ der Welt, SAP R / 3 und Microsoft Dynamics AX (Axapta ).

Russische Unternehmen organisieren ihre Geschäftsprozesse zunehmend mit modernen Konfigurationen 1C 8.3 „Handelsmanagement“, „Produktionsmanagement“, „ERP-Unternehmensmanagement“ und dergleichen. Buchhaltung, Marketing, Produktion, Vertrieb werden auf 1C übertragen, die Integration mit IP-Telefonie- und Dokumentenmanagementsystemen wird durchgeführt. Unmittelbar nach den Absichten „Lassen Sie uns in 1C arbeiten“ stellen sich jedoch Fragen: Auf welchen Ressourcen wird die zentrale Basis von 1C arbeiten, welche Hardware zeigt das beste Ergebnis für ein angemessenes Budget? Großunternehmen im öffentlichen Sektor haben es in dieser Situation leichter - zahlreichen hauptberuflichen IT-Integratoren und -Architekten wurde ein klares Kommando erteilt, Mechanismen für Großbudget-Ausschreibungen begannen zu spinnen mit der obligatorischen Bedingung für die Bereitstellung eines schlüsselfertigen Konzepts und weiterer Unterstützung des Systems durch zertifizierte Spezialisten. Aber was ist mit Unternehmen, die eines der 1C: Enterprise-Produkte selbst kaufen und installieren und ihr Budget sinnvoll einsetzen möchten?

Der grundlegendste Fehler, wenn Sie die Verwendung von Raubkopien oder nicht verifizierter Software nicht berücksichtigen, ist das Einsparen von Hardware für 1C. Diese Trends sind besonders häufig in Start-ups und kleinen Unternehmen zu finden. Бытует мнение, что не обязательно покупать дорогое серверное оборудование с процессорами типа Intel Xeon, не нужно предварительно рассчитывать объемы ОЗУ, нагрузку на ЦПУ и дисковую подсистему, что нет необходимости создавать избыточность дисковых массивов (Raid), использовать профессиональные дисковые контроллеры с Cache-RAM и usw. Fehler in den Berechnungen der IT-Architektur für 1C führen zu traurigen Folgen, von denen das Unternehmen bereits beim Stoppen von Geschäftsprozessen erfährt. Daher ist es sehr wichtig, auf jeden Hardwareknoten der Serverplattform für 1C zu achten.

Beispiele für typische Probleme durch fehlerhaften Aufbau einer IT-Architektur für 1C:
  • "Bremsen" der Basis- und 1C-Schnittstellen aufgrund der übermäßigen Belastung wichtiger Ressourcen (normalerweise RAM oder Festplattensubsystem).
  • Fehler und "Abstürze" des 1C-Programms aufgrund der Instabilität des falsch ausgewählten Geräts.
  • Stillstand des Unternehmens durch Ausfall der Zentrale Hardware-.
  • Teilweiser oder vollständiger Verlust von 1C-Daten aufgrund zufälliger Hardware- oder Softwarefehler.

Hardwareressourcen des Servers 1C

Lassen Sie uns im Folgenden die wichtigsten Hardwareressourcen betrachten, der Fehler bei der Auswahl kann das gesamte Untruinieren, wenn Sie selbst einen Server unter 1C erstellen.

Central Processing Unit (CPU)

Die Anzahl der physischen CPU-Kerne. Das Thema ewiger Streitereien in diversen 1C-Foren ist wichtiger als CPU-Frequenz oder Multicore. Die Wurzeln dieser Widersprüche reichen bis in die Vergangenheit zurück, bis 1C 8.0 oder sogar 1C 7.7. In der Tat sind ausführbare 1C-Prozesse mehr frühe Versionen waren reine Single-Core, d.h. Egal wie viele Kerne der Zentralprozessor zur Verfügung stellt - der Enterprise Server Service 1C 8.0 oder der "Thick Client 1C 7.7" belegt immer nur einen "Null" Kern Betriebssystem. Heute hat sich das Bild geändert – das Betriebssystem verteilt die Aufgaben eines 1C: Enterprise (rphost)-Prozesses mutig auf mehrere CPU-Kerne (siehe Abbildung 1).




Abbildung 1 - CPU-Last während des Betriebs von 1C-Serverprozessen.


Dies bedeutet jedoch keineswegs, dass beim Kauf eines Prozessors mit der maximalen Anzahl von Kernen ein 1C-Server in Kombination mit einem DBMS (meistens bedeutet DBMS MS SQL) eine fantastische Leistung zeigt und Abrechnungsperioden im 1C-Programm neu geschrieben werden eine Sache von mehreren Minuten. Es ist notwendig, den Unterschied zwischen der Geschwindigkeit der Ausführung einer einzelnen Operation und dem Prozess der gleichzeitigen Verarbeitung einer großen Informationsmenge zu verstehen. Die Anzahl der physischen Kerne ermöglicht es Ihnen, das Problem der Stabilität und Leistung bei gleichzeitiger Arbeit mit vielen verschiedenen Aufgaben durch den 1C: Enterprise-Server und das DBMS zu lösen. Daher die Schlussfolgerung: Je größer die Anzahl der 1C-Benutzer, desto mehr spielt die richtige Anzahl von Kernen eine Rolle für den komfortablen gleichzeitigen Betrieb derselben Benutzer. Die Abhängigkeit der Anzahl der Benutzer von der Anzahl der Kerne für den 1C-Server ist in Tabelle 1 dargestellt.


Anzahl gleichzeitiger Benutzer auf dem 1C:Enterprise-Server Prozessortyp und -modell Anzahl der verwendeten Kerne
Bis zu 10 Benutzer Benutzerdefinierter Intel Core von 3,1 GHz Nicht mehr als 2-4
Bis zu 20 Benutzer Server Intel Xeon ab 2,4 GHz 4 bis 6
Bis zu 30 Benutzer Server Intel Xeon ab 2,6 GHz 6 bis 8 Kerne
Bis zu 50 Benutzer Server Intel Xeon von 2,4 Ghz - in Höhe von 2 Stk Ab 4 pro Prozessor

Tabelle 1 - Das Verhältnis der Anzahl der Benutzer auf dem 1C-Server und der empfohlenen Anzahl von CPU-Kernen.


CPU-Frequenz. Im Gegensatz zur Anzahl der Kerne beeinflusst die Frequenz des Zentralprozessors genau die Geschwindigkeit der gleichzeitigen Verarbeitung eines Teils einer Aufgabe, was das beliebteste Kriterium für 1C-Endbenutzer ist. Die Frequenz des Prozessors ist genau der Parameter, mit dem für einen einzelnen Benutzer die Geschwindigkeit der Verarbeitung von Anfragen durch den 1C-Server und das DBMS zunimmt und die Zeit, in der das System dem Endbenutzer das Endergebnis liefert wird abnehmen. Um dies zu untermauern, kam der bekannte Spezialist Gilev in einem seiner auf praktischen Tests basierenden Artikel zu einer eindeutigen Schlussfolgerung: „Die Geschwindigkeit von 1C wird viel stärker von der Frequenz des Zentralprozessors beeinflusst als von seinen anderen Parametern, sei es ist ein 1C-Endclient oder ein 1C: Enterprise-Server ". Dies ist die Architektur des 1C-Programms.

Cache, Virtualisierung und Hyper-Threading. In der Vergangenheit, als Mehrkernprozessoren noch nicht so verbreitet waren, hat Intel erfunden spezielle Technik der zentrale Prozessor, simuliert Multi-Core, das sogenannte "Hyper-Threading". Nach der Aktivierung wird ein physischer Prozessor (ein physischer Kern) vom Betriebssystem als zwei separate Prozessoren (zwei logische Kerne) definiert. Wir empfehlen, „Hyperthreading“ für den 1C-Server zu deaktivieren. Diese Technologie bringt keine Beschleunigung von 1C.

Verwenden virtuelle Maschinen Für den 1C:Enterprise-Server und das DBMS muss berücksichtigt werden, dass die Kerne virtueller Maschinen "schwächer" sind als echte physische Kerne, obwohl sie gleich genannt werden - "Kerne". Es gibt keine genauen offiziellen Koeffizienten, aber Artikel auf technischen Portalen von Microsoft empfehlen, 4-6 Prozessorkerne in einer virtuellen Maschine pro physischem Kern zu zählen.

Ein Cache ist ein Zwischenspeicher, der vom Prozessor verwendet wird, um die durchschnittliche Zugriffszeit auf den Computerspeicher zu reduzieren. Tatsächlich ist es ein integraler Bestandteil des Prozessors, da es sich mit ihm auf demselben Chip befindet und Teil der Funktionsblöcke ist. Hier ist alles sehr klar - je größer der Cache, desto größere "Stücke" an Informationen kann der Prozessor verarbeiten. Typischerweise hängt die Größe des Caches von den Prozessormodellen ab – je teurer das Modell, desto mehr Cache-Speicher ist in der Regel vorhanden. Wir glauben jedoch nicht, dass die Größe des Prozessorcaches die Leistung des 1C-Servers und des DBMS drastisch beeinflusst. Vielmehr gehört es in den Bereich „Feintuning“.

Prozessortyp. Jeder weiß, dass Hardware in Server und Benutzer unterteilt wird. Ist es in manchen Fällen möglich, eine kostengünstige Custom-CPU als Alternative zu einer professionellen, aber teuren Server-CPU zu verwenden? Es stellt sich heraus - es ist möglich. Stellen Sie sich eine Tabelle vor, in der die Hauptparameter von zwei Optionen für die Zentrale verglichen werden Intel-Prozessoren(siehe Tabelle 2).

Benutzerdefinierter Intel® Core™ i7-6700T-Prozessor (8 MB Cache, bis zu 3,60 GHz) Server Intel® Xeon® Prozessor E5-2680 v2 (25 MB Cache, 2,80 GHz)
Zwischenspeicher 8MB 25MB
Frequenz System Bus 8 GT/s DMI3 8 GT/s QPI
Befehlssatz 64-Bit-SSE4.1/4.2, AVX 2.0 64-Bit-AVX 2.0
Zahl der Kerne 4 10
CPU-Basistakt 2,8 GHz 2,8 GHz
max. Volumen und Typ Arbeitsspeicher 64 GB Nicht-ECC 768 GB ECC
Geschätzte Kosten 354$ 1 280$

Tabelle 2 - Vergleich der Hauptparameter der Heim- und Server-CPU von Intel.


Wie wir sehen können, hat der Server-Prozessor viel höhere Werte in der Anzahl der Kerne, der Cache-Größe, der Unterstützung für mehr RAM und natürlich zu einem höheren Preis. Die Server-CPU unterscheidet sich jedoch praktisch nicht von der Anwender-CPU hinsichtlich der Unterstützung bestimmter Prozessorbefehle (Befehle) und der Taktfrequenz. Daraus können wir schließen, dass es für kleine Organisationen durchaus akzeptabel ist, einen benutzerdefinierten Zentralprozessor für den 1C: Enterprise-Server zu verwenden. Das einzige Problem besteht darin, dass ein Benutzerprozessor nicht in einem Serversockel installiert werden kann. Hauptplatine und unterstützen Server-RAM mit Paritätsprüfung (ECC), und die Verwendung von benutzerdefinierten Komponenten birgt Risiken für die Stabilität des gesamten Systems als Ganzes.

Direktzugriffsspeicher (RAM)

RAM-Typ. Die RAM-Leiste (RAM) unterscheidet sich in ihrem Zweck - für Mehrbenutzer-Serversysteme oder für persönliche Geräte - PCs, Laptops, Nettops, Thin Clients usw. Wie im Fall der CPU - die Hauptparameter der RAM-Module sind ungefähr gleichwertig - bleibt das moderne PC-RAM praktisch weder in der Lautstärke eines Balkens noch in der Taktfrequenz noch in der Art der DDR-Module hinter dem Server zurück . Unterschiede zwischen Server-RAM und "Heim"-RAM in den Anwendungsfällen und dem Zweck der Hardwareplattform - hier entstehen auch die höheren Kosten:

  • Server-RAM hat ECC-Parität (Error Correction Code) - eine Codierungs-/Decodierungstechnik, mit der Sie Fehler in der Informationsverarbeitung direkt durch das RAM-Modul korrigieren können
  • Das Server-Motherboard hat viel mehr Steckplätze zum Installieren von RAM-Modulen als ein gewöhnlicher PC
  • Der Server-RAM enthält Register (Puffer), die eine Datenpufferung (teilweise registriert oder vollständig vollständig gepuffert) bereitstellen, wodurch die Belastung des Speichercontrollers bei vielen gleichzeitigen Anforderungen reduziert wird. Gepufferte "FB-DIMMs" sind mit ungepufferten nicht kompatibel.
  • Module Speicher registrieren Sie können auch die Skalierbarkeit des Speichers erhöhen - das Vorhandensein von Registern ermöglicht die Installation mehrerer Module in einem Kanal.

Wir können schlussfolgern, dass die Verwendung von Server-RAM-Modulen es ermöglicht, große Mengen an RAM in einem System zu installieren, und ECC-Paritätskontrolltechniken und die Verwendung von Puffern ermöglichen, dass das Server-Betriebssystem stabil und schnell arbeitet.

Die Menge an RAM. Einer der Schlüsselfaktoren für Hochleistung Server 1C und DBMS ist eine ausreichende Menge an RAM. Natürlich hängen die tatsächlichen RAM-Anforderungen von vielen Faktoren ab - der Art der 1C-Konfiguration, der Anzahl der 1C: Enterprise-Serverprozesse, der Größe der DBMS-Datenbank und so weiter. Allerdings lässt sich eine ungefähre Abhängigkeit der RAM-Menge von der Anzahl der Benutzer ableiten (siehe Tabelle 3).


RAM-Anforderung für Server 1c und DBMS Bis zu 10 Benutzer Bis zu 20 Benutzer Bis zu 30 Benutzer Bis zu 50 Benutzer
Server 1c:Unternehmen 4-6GB 6-8GB 12-14GB 18-24GB
MS SQL-Server 4-6GB 8-10GB 16-18GB 24-28GB

Tabelle 3 - Ungefähres Verhältnis der Anzahl der Benutzer des 1C-Servers und des empfohlenen Arbeitsspeichers für die Prozesse des 1C: Enterprise-Servers und des MS SQL-Servers.


In Bezug auf Serverprozesse 1C: Enterprise (rphost.exe) - moderne 1C-Plattformen lassen dies nicht zu manueller Modus Geben Sie die Anzahl der Serverprozesse an 1C. Stattdessen fordert das System Sie auf, Parameter wie die Nummer festzulegen Informationsbasen und die Anzahl der Benutzer pro rphost.exe-Prozess, wonach automatisch die optimale Anzahl von 1C:Enterprise-Serverprozessen ermittelt wird. Sie können auch die reibungslose Freigabe von RAM durch den Prozess rphost.exe konfigurieren, wenn sein Volumen einen vorbestimmten Schwellenwert überschreitet. Gleichzeitig erstellt der 1C-Server einen neuen rphost.exe-Prozess, der nach und nach die 1C-Aufgaben übernimmt, sodass Sie den erforderlichen 1C-Prozess entladen können.

Sie müssen auch beachten, dass die dem SQL-Dienst zugewiesene RAM-Menge als ausreichend angesehen wird, wenn der Treffer von SQL-Daten im Cache mindestens 90 % beträgt. Diese Metrik ist ziemlich praktisch, weil Sie können nicht nur die vom SQL-Server verbrauchte RAM-Menge betrachten - die neuesten Versionen von SQL haben RAM dynamisch verbraucht - die maximal mögliche RAM-Menge wird erfasst und freigegeben, wenn RAM von anderen Prozessen angefordert wird.

RAM-Frequenz. Kurz gesagt, das ist Durchsatz Kanäle, über die Daten zum Motherboard und von dort zum Prozessor übertragen werden. Es ist wünschenswert, dass dieser Parameter mit der zulässigen Frequenz des Motherboards übereinstimmt oder diese überschreitet, da sonst der RAM-Übertragungskanal Gefahr läuft, zu einem Engpass zu werden. Innerhalb eines DDR-Typs wirkt sich das Erhöhen / Verringern der Frequenz nicht drastisch auf die Leistung des 1C-Servers aus und betrifft eher den Bereich der „Feinabstimmung“.

RAM-Timings. Dies ist die Verzögerung oder Latenz (Latency) des RAM. Dieser Parameter ist durch die Datenverzögerungszeit beim Übergang zwischen verschiedenen Modulen des RAM-Bausteins gekennzeichnet. Kleinere Werte bedeuten schnellere Leistung. Die Auswirkungen auf die Gesamtleistung des Serversystems und noch mehr auf dem 1C:Enterprise-Server sind jedoch nicht hoch. Auf diese Parameter achten in der Regel nur Gamer und Overclocker, für die jeder zusätzliche Leistungsabfall das Teuerste ist.

Disk-Subsystem und Festplatten HDD

Festplatten-Controller. Das Hauptgerät zum Verbinden und Organisieren von Festplatten in einem Hardwaresystem ist der Festplattencontroller. Es gibt zwei Arten:

1. Eingebaut – das Controller-Modul ist in das System eingebaut, der Festplattenkäfig ist direkt mit dem Motherboard verbunden. Es gilt als wirtschaftlichere Lösung.

2. Extern - ist eine separate Leiterplatte(Gerät), das in den Motherboard-Anschluss eingesteckt wird. Es wird als professionellere Lösung angesehen, da es über separate Chips zum Ausführen und Steuern von Operationen mit Festplatten verfügt Festplatten. Empfohlen für wichtige Serversysteme wie 1C:Enterprise Server und DBMS.

Es gibt auch einen dritten Typ - ein Gerät zum Empfangen / Senden von Blockdaten über iSCSI-, FiberChanel-, InfiniBand- und SAS-Kanäle. In dieser Version wird jedoch das Festplattensubsystem "entfernt". separates Gerät Datenspeicher (SHD), der über ein optisches oder Kupferkabel mit dem Server verbunden ist. In unserem Artikel analysieren wir die Anforderungen an einen eigenständigen Server für 1C, daher werden wir diesen Typ nicht berücksichtigen.

Arten und Ebenen von RAID-Arrays. Es handelt sich um eine Datenvirtualisierungstechnologie, die mehrere Laufwerke für Redundanz und Leistung zu einer logischen Einheit kombiniert. Betrachten Sie die beliebtesten RAID-Spezifikationsstufen:

  • RAID 0 („Striping“) Es hat keine Redundanz und verteilt Informationen in Form von kleinen Blöcken ("Streifen") auf einmal über alle im Array enthaltenen Festplatten. Dies verbessert die Leistung erheblich, leidet jedoch unter der Zuverlässigkeit. Trotz des Leistungsgewinns raten wir davon ab, diesen Array-Typ zu verwenden.
  • RAID 1 („Spiegelung“, „Spiegelung“). Es bietet Schutz gegen den Ausfall der Hälfte der verfügbaren Hardware (im Allgemeinen eine der beiden Festplatten), bietet eine akzeptable Schreibgeschwindigkeit und einen Gewinn an Lesegeschwindigkeit aufgrund der Abfrageparallelisierung. Diese Art von Array wird einen 1C + DBMS-Server durchaus auf 25-30 Benutzer „ziehen“, insbesondere wenn SAS 15K- oder SSD-Festplatten verwendet werden.
  • RAID 10. Gespiegelte Festplattenpaare reihen sich in einer „Kette“ aneinander, sodass das Volumen des resultierenden Volumes die Kapazität von einem überschreiten kann Festplatte. Unserer Meinung nach die erfolgreichste Art von Disk-Arrays, weil Es kombiniert die Zuverlässigkeit von RAID1 und die Geschwindigkeit von RAID 0. In Kombination mit SAS 15K- oder SSD-Laufwerken kann es für 1C-Server von 40-50 Benutzern verwendet werden.
  • RAID 5. Bekannt für seine Wirtschaft. Indem wir aus Gründen der Redundanz die Kapazität nur einer Festplatte des Arrays opfern, erhalten wir Schutz vor dem Ausfall einer der Festplatten im System. (seine Variante RAID 6 erfordert zwei zusätzliche Festplatte um Prüfsummen aufzunehmen, behält aber Daten, selbst wenn zwei Festplatten ausfallen). Diese Art von Array ist wirtschaftlich, zuverlässig und hat eine ziemlich greifbare "Lese" -Geschwindigkeit. Leider ist der Engpass dieses Arrays die niedrige Schreibgeschwindigkeit, die eine komfortable Verwendung mit 1C-Serverkonfigurationen von bis zu 15-20 Benutzern ermöglicht. Es ist auch optimal für angewandte Zwecke - Speicherung von Aktendaten, Dokumentenverwaltungsarchiven usw.

Arten von Festplattenschnittstellen. Nach der Art der Verbindung werden Festplatten unterteilt:

  • HDD-Sata-Startseite. Die günstigste Option für Festplatten, konzipiert für den Einsatz in Heim-PCs oder Netzwerk-Media-Centern. Aufgrund der geringen Fehlertoleranz und Betriebsstabilität wird dringend davon abgeraten, solche Geräte in 1c-Servern zu verwenden - die Komponenten dieser Festplatten sind einfach nicht darauf ausgelegt, rund um die Uhr zu arbeiten und fallen schnell aus.
  • HDD-Sata-Server. Dieser Name bezieht sich in der Regel auf Festplatten mit einer Sata-Schnittstelle und einer Spindeldrehzahl von 7.200 U/min. Das Präfix „Server“ bedeutet, dass solche Laufwerke auf Leistung in Serversystemen getestet wurden und dafür ausgelegt sind stabile Arbeit im 24/7-Modus. Wird normalerweise in 1C-Servern verwendet, um große Informationsmengen zu speichern, die keine hohe Verarbeitungsgeschwindigkeit erfordern. Zum Beispiel - 1c-Archivdatenbanken, Ordner austauschen, Dateien hochladen Bürounterlagen usw.
  • HDD-SAS-Server. Unterschiede zwischen der SAS-Schnittstelle (dem modernen Analogon von SCSI) und SATA-Schnittstelle mehrere. Hier die durchschnittliche Reaktionszeit der Festplatte und arbeiten in einem gemeinsamen Festplattenregal und arbeiten mit dem HDD-Controller bei höheren Informationsaustauschraten - bis zu 6 Gb / s (im Vergleich zu Sata 3 Gb / s). Der Hauptvorteil ist jedoch die Existenz von SAS-Festplattenmodellen mit einer Spindeldrehzahl von 15.000 U / min. Es ist das Designmerkmal ermöglicht es SAS-Festplatten, im Vergleich zu Sata-Server-Festplatten fast dreimal mehr IOPS auszuführen. Solche SAS-Festplatten haben eine geringe Größe und werden für den Einsatz mit 1c-Hauptdatenbanken mit konstant hoher Arbeitslast empfohlen.
  • SSD-Laufwerke. Diese Laufwerke unterscheiden sich von den vorherigen nicht in der Verbindungsschnittstelle, sondern in ihrem Design - sie sind Solid-State und haben keine beweglichen Teile, d.h. Im Wesentlichen sind sie Analoga von "Flash-Laufwerken". Solche Technologien ermöglichen es SSDs, eine „unerhörte“ Anzahl von E / A-Operationen pro Sekunde zu produzieren (ab 10.000 Operationen bei den einfachsten SSD-Modellen). Dieser Vorteil hat jedoch auch eine Kehrseite – den höheren Preis von SSDs und ihre „Lebensdauerschwelle“, die von der Begrenzung der Anzahl der Schreibvorgänge auf SSD-Blöcke abhängt. Allerdings werden diese Discs jedes Jahr erschwinglicher und langlebiger. Da die Kosten für SSD-Festplatten je nach Volumen um ein Vielfaches steigen, wäre es am sinnvollsten, sie für kleine, aber superbelastete 1c-Datenbanken zu verwenden, die eine hohe Zugriffsgeschwindigkeit erfordern, sowie für temporäre Datenbanken von TempDB.

IOPS ist die Anzahl der E/A-Operationen pro Sekunde. Tatsächlich ist IOPS die Anzahl der Informationsblöcke, die in 1 Sekunde auf das Medium gelesen oder geschrieben werden können. Das heißt, in seiner reinsten Form - dies ist der Schlüsselparameter für die Geschwindigkeit der Informationsverarbeitung durch die Festplatte, die sich auf die Leistung des 1C-Servers auswirkt. Wenn wir zum Vergleich einen Standard-Informationsblock von 4 kb nehmen, dann können wir die folgenden IOPS-Indikatoren grob unterscheiden (siehe Tabelle 4).


Festplatte IOPS Schnittstelle
SATA-Laufwerke mit 7.200 U/min ~75-100 IOPS SATA 3 Gbit/s
SATA-Laufwerke mit 10.000 U/min ~125-150 IOPS SATA 3 Gbit/s
SAS-Laufwerke mit 10.000 U/min ~140 IOPS SAS
SAS-Laufwerke mit 15.000 U/min ~175-210 IOPS SAS
SSD-Laufwerke Ab 8.000 IOPS SAS oder SATA

Tabelle 4 – IOPS-Anzeigen auf verschiedenen Festplattentypen bei der Arbeit mit einem 4-kb-Datenblock.


Natürlich ist IOPS in seiner reinen Form wenig nützlich, um die endgültigen Berechnungen und Anforderungen für das Festplattensubsystem des 1C-Servers zu berechnen. Schließlich besteht die Gesamtleistung des Festplattensubsystems aus dem Typ des RAID-Arrays, den Festplattentypen und Indikatoren für die Geschwindigkeit seiner Schnittstelle, der Reaktionszeit (Latenz), der Direktzugriffszeit, dem Prozentsatz der Lese- und Schreibvorgänge und vielen anderen Faktoren. Dieser Parameter ist unserer Meinung nach jedoch ein Schlüsselindikator für die Geschwindigkeit des Festplattensubsystems und hilft in den Phasen der Entwicklung einer Serverarchitektur zu bestimmen, welche Art von Festplatten im Allgemeinen für bestimmte Anforderungen am besten geeignet ist. (siehe RAID-Rechner)

Übungstest

Welche Beziehung besteht zwischen der Anzahl der 1C-Benutzer und der Anzahl der IOps? Unser Team hat einen Praxistest (siehe Tabelle 5) durchgeführt, um die Belastung des Disk-Subsystems zu messen ein bestimmter Betrag Sitzungen 1C. Da das 1C-System eine programmierbare Umgebung ist und jedes Unternehmen seine eigenen Geschäftsprozesse in 1C haben kann, mussten wir zum Testen an eine bestimmte Referenzkonfiguration gebunden sein. In dieser Funktion wurde eine spezialisierte Konfiguration von TsUP 1C ausgewählt, die zum Testen und Debuggen entwickelt wurde. Auf dieser Grundlage haben unsere 1C-Programmierer eine Reihe von Abfragen hinzugefügt, die den normalen Betrieb eines herkömmlichen Unternehmens simulieren, mit der Bildung von Buchhaltungsabfragen, Buchungen, Berichten und der Durchführung von Betriebsdokumenten.


Systemfestplatte Datenbankfestplatte
Wiederholung Benutzer IOPS schreiben IOPS gelesen IOPS schreiben IOPS gelesen
Durchschnitte
1 12 9,1 0,1 13,1 1,5
2 20 7,9 0,1 21,8 0,4
3 32 5,2 0,006 36,1 5,2
4 40 7,7 0,013 27,52 1,3
5 52 7,7 0,006 32,04 0,94

Tabelle 5 - Ergebnisse eines Praxistests zur Belastung des Disk-Subsystems.


Die Testergebnisse zeigen, dass der Löwenanteil der Belastung des Disk-Subsystems entsteht, wenn 1C in die Datenbank des DBMS-Servers und auf die Systemplatte des Betriebssystems geschrieben wird (die standardmäßig die Dateien der 1C:Enterprise Cache-Server).

Gleichzeitig haben wir während des Testzeitraums - 5 Arbeitstage - praktische Messungen an bereits in Betrieb befindlichen 1C UPP 8.2-Datenbanken durchgeführt. Sie zeigen, dass ein 1C + DBMS-Server im Durchschnitt doppelt so viele IOps „zum Schreiben“ als „zum Lesen“ verbraucht. Ein solcher Unterschied zwischen synthetischen Tests und Überwachungsstatistiken eines echten 1C-Servers ist sowohl auf das regelmäßige Abtasten von Informationsdaten aus der Datenbank während des Arbeitstages als auch auf das regelmäßige Lesen der Datenbank während des Arbeitstages zurückzuführen Sicherung oder DBMS-Replikation.

Andere Komponenten der Festplatte, auf die es sich zu achten lohnt.

  • Physische Größe (Formfaktor). Bis heute sind fast alle bekannten Laufwerke z persönliche Computer und Server haben eine Größe von 3,5 oder 2,5 Zoll. Beachten Sie, dass 2,5-Zoll-Laufwerke nicht in großen Mengen produziert werden.
  • Zufällige Zugriffszeit- Zeit für die Festplatte garantiert einen Lese-Schreib-Vorgang auf einem bestimmten Bereich der Magnetplatte durchzuführen. In der Regel mehr hohe Ergebnisse Serverfestplatten haben. Das ist genug wichtiger Parameter beim Erstellen eines Arrays von Festplatten für den 1C-DBMS-Server.
  • Spulengeschwindigkeit- die Anzahl der Umdrehungen der Festplattenspindel pro Minute. Hier ist alles einfach und übersichtlich - die Zugriffszeit und die durchschnittliche Datenübertragungsrate der Festplatte hängen von der Drehzahl der Spindel mit Magnetplatten ab.
  • Pufferkapazität der Festplatte- Ein Puffer ist ein temporärer Speicher, der entwickelt wurde, um Unterschiede in der Lese-/Schreibgeschwindigkeit einer Festplatte und der Datenübertragung über die Schnittstelle auszugleichen.
  • Verlässlichkeit- ist definiert als Mean Time Between Failures (MTBF). In der Regel hängt die Zuverlässigkeit direkt vom Hersteller, dem Preis und der Einsatzumgebung der Festplatte ab. Wir betrachten die Zuverlässigkeit als einen wichtigen Festplattenparameter, der die Qualität des 1C-Servers beeinflusst.

Die richtige Wahl: Heim- oder Serverhardware

Die Verbilligung von Hardwarekomponenten und das aktive Wachstum der potenziellen Kapazitäten von "Heimcomputern" führen zu einem weiteren fatalen Missverständnis - kleine Unternehmen nutzen Workstations aktiv als Plattform für die Zusammenarbeit mit 1C-Datenbanken. Gleichzeitig, ohne zu wissen, dass es neben den Parametern der Kernfrequenz, der Speichergröße und der Möglichkeit, Budget-SSD-Laufwerke in einem normalen PC zu verwenden, systemische, tiefere und wichtigere Anforderungen an den Betrieb von Hardware gibt in einer kommerziellen Struktur (siehe Tabelle 6).

Um das Problem der Organisation eines 1C-Servers zu lösen, bieten wir die Vermietung von 1C-Cloud-Servern in Rechenzentren der Klasse Tier III an. Die wirtschaftliche Machbarkeit der Wahl einer Servermiete finden Sie im Artikel.


Optionen Server Persönlicher Computer
Ausreichende Rechenleistung v v
Garantierte Funktionsfähigkeit des Systems im 24/7-Modus v X
Zuverlässigkeit und Stabilität wichtiger Hardwarekomponenten v X
Wahrscheinlichkeit Fernbedienung Stromversorgung und Konsole (IPMI) v X
Budgetkosten der Hardwareplattform X v

Tabelle 6 - Vergleich von Heim- und Serverhardware nach den Kriterien, die für den qualitativ hochwertigen Betrieb des 1C-Servers erforderlich sind.

Fehlertolerante Arbeit 1C

Eine der wichtigsten Anforderungen an den Serverteil von 1C ist natürlich die Stabilität seines Betriebs und die Widerstandsfähigkeit gegen Ausfälle. Microsoft und 1C selbst haben große Anstrengungen in diese Richtung unternommen und Technologien entwickelt, um ihre Dienste auf einer ziemlich ernsthaften Ebene zu gruppieren (siehe Tabelle 7).


Fehlertoleranz von SQL-Servern Basierend auf dem Konzept eines einzigen gemeinsam genutzten Data Warehouse. Die integrierte SQL Server-Clustertechnologie kombiniert zwei SQL-Server zu einem Cluster mit einer einzigen virtuellen IP-Adresse und einer einzigen Datenbank. Wenn also das Haupt-SQL ausfällt, werden Abfragen automatisch an das Backup übertragen.
Die zweite Option ist das kürzlich erschienene AlwaysOn, eine Technologie zur automatischen regelmäßigen Replikation von DBMS-Datenbanken zwischen den primären und Backup-SQL-Servern. Gleichzeitig befindet sich der doppelte SQL-Server physisch auf einem anderen Speicher, was die Risikoresistenz erhöht
Failover-Dienstserver 1C:Enterprise 1C Enterprise-Server werden zu einem Aktiv-Aktiv-Software-Failover-Cluster mit automatischem Failover und Speichern aktueller Sitzungen kombiniert.

Tabelle 7 – Fehlertoleranz von SQL- und 1C-Servern.


Jede Technologie hat jedoch Vor- und Nachteile. Zusätzlich zu den wichtigsten Vorteilen müssen Sie einige Funktionen von 1C- und SQL-Clustering () kennen, um nicht zu einer Verschlechterung der Serviceleistung zu führen:

  • SQL-Clustering verwendet virtuelle IP. Und das bedeutet, dass das Zusammenspiel von 1C:Enterprise Server und MS SQL immer entsprechend erfolgt Netzwerkschnittstelle, auch wenn beide Dienste auf demselben Betriebssystem laufen. Dementsprechend wird die Arbeit von 1C im Vergleich zur klassischen Version der von 1C selbst empfohlenen Architektur - der Verwendung von Shared Memory - verlangsamt. Prinzipiell lässt sich diese Hürde beispielsweise mit der MS SQL Log Shipping-Technologie „umgehen“. In diesem Fall erfolgt der Wechsel zu einem Backup-SQL-Server jedoch nicht mehr automatisch, und diese Option kann nicht als vollwertiger Cluster betrachtet werden.
  • Ein SQL-Cluster erfordert ein großes Budget. Wenn wir über klassisches Clustering von MS SQL-Diensten sprechen, ist ein einzelner Datenbankspeicher erforderlich, der mit den Haupt- und Backup-SQL-Servern verbunden ist. Typischerweise übernehmen diese Rolle teure Speichersysteme, was das Budget um eine Größenordnung erhöht. Wenn wir über das neumodische AlwaysOn sprechen, dann ist eine einzige Datenbankspeicherung nicht erforderlich, die Technologie arbeitet mit lokale Laufwerke Primär- und Backup-Server über das Netzwerk. Sie benötigen jedoch eine Version von SQL Server Enterprise, deren Lizenz 4-mal mehr kostet als für einen regulären SQL Server Standard.
  • Anzahl der Lizenzen. Obwohl der zweite SQL-Server keine Daten verarbeitet und in Reserve ist, müssen Lizenzen für beide Server erworben werden – sowohl für den Haupt- als auch für den Backup-Server. Besonders schmerzhaft für das Budget sind SQL Server Enterprise-Lizenzen zur Implementierung eines verteilten Clusters von AlwaysOn High Availability Groups.
  • Für etwas so Wichtiges wie ein unternehmensweites Buchhaltungssystem müssen Sie keine billige kundenspezifische Hardware verwenden. Preis in dieser Fall bestimmt direkt die Qualität, Stabilität und Langlebigkeit einer solchen Plattform.
  • Bei der Auswahl einer Serverplattform empfehlen wir, auf das Vorhandensein von zwei Netzteilen, einer Remote-IPMI-Karte und der Marke des Herstellers zu achten. Natürlich wählt jeder eine Lösung nach seinem Budget, Top-Marken sind manchmal zu teuer und nicht ganz passend, aber am Hersteller sollte man auf keinen Fall sparen, das kann bei der Arbeit mit 1C zu unkontrollierbarer höherer Gewalt führen. Wir persönlich verwenden Supermicro-Serverplattformen in Kombination mit Intel-Server-CPUs.
  • Es gibt eine durch die Praxis bestätigte Meinung, dass die Leistung von 1C mehr von der höheren Frequenz der CPU als von der Anzahl der bereitgestellten Kerne abhängt.
  • Es ist nicht erforderlich, die für den 1C-Server und den SQL-Dienst zugewiesene RAM-Menge zu sparen. RAM an dieser Moment ist eine ziemlich billige Ressource, und ihre Verknappung (sogar um 10-15 Prozent) wird zu einem starken Leistungsabfall des 1C-Systems führen, weil ein langsameres Swap-System wird aktiviert. Außerdem wird das Disk-Subsystem durch Swap zusätzlich belastet, was die Situation noch weiter verschlimmert.
  • Das Unternehmen EFSOL bietet umfassende Dienstleistungen für die Auswahl eines 1C-Servers an, die Folgendes umfassen: Design, Kauf, Konfiguration und Wartung von 1C-Servern.
  • Eine Alternative zum Erstellen eines eigenen 1C-Servers ist das Mieten eines Servers für 1C. Cloud-Technologien ermöglichen es, zu niedrigen monatlichen Kosten einen zuverlässigen, fehlertoleranten Dienst für komfortables Arbeiten in 1C zu erhalten.

System Integration. Beratung

Bei der Auswahl des für 1C benötigten Servers ist zu beachten, dass während der Arbeit der Benutzer viele Datenlese- und Schreibvorgänge pro Sekunde ausgeführt werden.

Höchstwahrscheinlich ist sofort klar, warum ein kompetentes Serverdesign für 1C so wichtig ist – wenn die „Hardware“ anfangs falsch gewählt wurde und nicht der Belastung des Systems entspricht, dann besteht die Gefahr, dass wichtige Daten zeitweise oder gar nicht funktionieren wird verloren sein. Erstellen Sie andererseits einen Server unter 1C, kaufen Sie die gesamte Hardware und Software können für das Unternehmen erhebliche Kosten verursachen, daher ist es ratsam, die Ausrüstung so auszuwählen, dass unnötige Kosten vermieden werden.

Serverauswahl für 1C

Wenn unsere Spezialisten eine Konfigurationsauswahl für den 1C-Server treffen müssen, fragen sie als Erstes, wie viele Benutzer mit 1C im Unternehmen arbeiten und welche Dienste sie verwenden möchten, was sie sein werden und wer den 1C verwalten wird Server und wie. Wir gehen von diesen Informationen aus, wenn wir einen 1C-Server erstellen.

Anforderungen an den Server 1C

In der Hardwarestruktur des 1C-Servers sind für uns die Eigenschaften von Prozessor, RAM, Festplattensubsystem und Netzwerkschnittstellen wichtig.

Sie müssen einen stabilen und ausreichend produktiven Betrieb der folgenden Komponenten gewährleisten:

  • operationssystem;
  • Datenbankserver (meistens ist dies der Fall);
  • 1C-Serverteil (nicht für alle Fälle, da ein kleines Unternehmen mit 2-10 Benutzern mit 1C im Dateimodus arbeiten kann);
  • Benutzerarbeit im Remotedesktopmodus;
  • Arbeit von Remote-Benutzern durch Dünner Kunde oder Webclient.

Auswahl eines Prozessors für einen 1C-Server

Die optimale Anzahl an Prozessorkernen errechnet sich in der Regel daraus, dass Sie 1-2 Kerne für den Betrieb des Betriebssystems, 1-2 Kerne für den Betrieb der SQL-Datenbank, 1 weiteren Kern für den Betrieb des Applikationsservers reservieren müssen , und ungefähr 1 Kern für jeweils 8-10 gleichzeitige Benutzersitzungen (damit Benutzer sich später nicht darüber beschweren, dass der 1C-Server langsamer wird).

Bitte beachten Sie, dass die Geschwindigkeit der Anfrageverarbeitung nicht so sehr von der Anzahl der Kerne, sondern von der Taktrate des Prozessors abhängt und die Anzahl der Kerne die Stabilität der Arbeit bei einer großen Anzahl von Benutzern und gleichzeitigen Aufgaben von ihnen stärker beeinflusst.

Wie viel Speicher benötigt ein 1C-Server?

Wenn Sie darüber hinaus einen 1C-Server für 100 oder mehr Benutzer benötigen, empfehlen wir die Bereitstellung eines Clusters aus mindestens zwei physischen 1C-Servern.

Wir schlagen vor, die Menge des erforderlichen Arbeitsspeichers anhand der folgenden Indikatoren zu berechnen:

  • Für den Betrieb des Betriebssystems werden 2 GB benötigt
  • Mindestens 2 GB für den MS SQL Server-Cache, und es ist besser, wenn dieser Wert 20-30% des tatsächlichen Volumens der Datenbank beträgt - dies gewährleistet eine angenehme Benutzererfahrung damit
  • 1 - 4 GB für 1C-Anwendungsserver
  • 100 - 250 MB erfordern eine Benutzerterminalsitzung, abhängig von den Funktionen des 1C-Servers und der verwendeten Konfiguration

Hier sind unsere ungefähren Berechnungen der Parameter des Servers 1C 8.3:

RAM besser mit Marge kaufen – das ist einer der wichtigsten Faktoren für die hohe Performance eines 1C-Servers und gleichzeitig eine der günstigsten Komponenten. Wenn auf dem 1C Enterprise Server nicht genügend Arbeitsspeicher vorhanden ist, macht sich dies im laufenden Betrieb stark bemerkbar, achten Sie daher bei der Frage, für welchen 1C Server Sie sich entscheiden, immer darauf, dass dieser über genügend Arbeitsspeicher verfügt.

Server 1C: Ausrüstung für das Disk-Subsystem

Bei der Auswahl des für 1C benötigten Servers ist zu beachten, dass während der Arbeit der Benutzer viele Datenlese- und Schreibvorgänge pro Sekunde ausgeführt werden. Dieser Parameter - mit welcher Geschwindigkeit die Festplatte Daten verarbeiten kann - ist auch einer der Schlüssel zur Geschwindigkeit des 1C-Servers.

Beim Entwerfen eines 1C-Servers empfehlen wir, dass Sie die folgenden Anforderungen an die Ausrüstung des Festplattensubsystems erfüllen:

  • Es spielt keine Rolle, welchen Server Sie für 1C erstellen, auf keinen Fall empfehlen wir die Verwendung einzelner Festplatten in Servern - es ist ratsam, sie in RAID-Verbänden (RAID 10 für große oder RAID 1 für kleine Datenbanken) zu organisieren, in denen die Datenbanktabellen wird sich befinden.
  • Wir empfehlen, Indexdateien auf eine separate SSD zu verschieben, um schneller darauf zugreifen zu können
  • TempDB - auf 1-2 (RAID 1) SSDs.
  • Platzieren Sie Betriebssystem- und Benutzerdaten auf RAID 1 von SSD/HDD.
  • Weisen Sie für Protokolldateien eine separate logische Festplatte vom Array oder eine physische SSD-Festplatte zu.
  • Wenn möglich verwenden Hardware-Controller- Wir haben Situationen gesehen, in denen ein leistungsstarker und teurer Server aufgrund unzureichender Controller-Leistung langsamer wurde.

Serverauswahl für 1C

In diesem Artikel haben wir einige Tipps und ungefähre Berechnungen zur Auswahl eines Servers für 1C bereitgestellt. Wir hoffen, dass sie für Sie nützlich sind.

Lassen Sie uns abschließend noch etwas hinzufügen - Sie sollten nicht versuchen, Geld zu sparen, indem Sie einen Benutzercomputer für einen 1C-Server verwenden (wie dies häufig in kleinen Unternehmen der Fall ist). Benutzerhardware ist viel weniger zuverlässig und fehlertolerant als ähnliche Serverhardware Leistung. Es lohnt sich nicht, das Rechnungswesen Ihres Unternehmens zu riskieren. Wenn der Kauf der richtigen Hardware Ihr Budget übersteigt, sollten Sie die Bereitstellung von 1C in der Cloud in Betracht ziehen.

Wenn es Ihnen schwer fällt, herauszufinden, welchen Server Sie für 1C Enterprise 8.3 auswählen sollen, wie Sie einen 1C-Server erstellen, weil Sie diese Aufgabe noch nicht kennen, können Sie sich jederzeit an ein Systemintegrator-Unternehmen wenden, damit Ihnen erfahrene technische Spezialisten helfen Design, Kauf, Installation und Einrichtung eines geeigneten Servers für 1C.

Zunächst schlage ich vor, mehrere Arbeitsszenarien hervorzuheben:

1.) Arbeiten mit der Dateibasis über eine gemeinsame Ressource (Webserver)

2.) Arbeiten mit der Dateibasis im Terminal

3.) Arbeiten mit Server (MSSQL) Datenbank

Arbeiten mit der Dateibasis über eine gemeinsam genutzte Ressource (Webserver)


Hier ist alles ziemlich einfach. Wenn dies regelmäßige Formen und 1-3 Benutzer. Wählen Sie dann auf dem "Server" (der Maschine, auf der die Basis liegen wird:

  • schnelle Schrauben- achten Sie auf die Spindeldrehzahl (wir nehmen 7200rpm). Zum Beispiel nehmen wir nicht die grüne Serie von WD, wir nehmen schwarze oder rote. Siehe Seagates Constellation-Reihe.
  • Zentralprozessor- Kerne sind nicht so wichtig wie ihre Frequenz. 1C nutzt Multicore eher schlecht (überhaupt nicht), sodass Sie von einem 8-Kern-Prozessor keine Vorteile ziehen, ein 2-Kern-Prozessor mit einer höheren Frequenz wird es tun. Zum Beispiel Core i3 4360 - dies ist derzeit die maximale Frequenz für Intel (4 GHz im Turbomodus).
  • Rom - sie wird keine Rolle spielen. Wenn man bedenkt, wie moderne Anwendungen Speicher verschlingen, setzen Sie 8 GB ein
  • Netz- Nun, eigentlich werden Sie von einem 1-Gb-Netzwerk nicht wirklich profitieren, aber wenn ein 8-adriges Twisted-Pair-Kabel gestreckt ist (Sie können in den Anschlüssen nachsehen), ist es sinnvoll, gleichzeitig einen Gigabit-Switch zu installieren Zeit File-Sharing wird schneller sein.
    Und der letzte Schliff in diesem Szenario ist, dass Sie die Datenbank nicht irgendwo auf einem separaten Computer platzieren müssen – Vorgänge mit langer Laufzeit werden lokal viel schneller ausgeführt als über das Netzwerk. Setze dieses Auto ein Arbeitsplatz, von wo aus beispielsweise geplant ist, den Monat abzuschließen oder die Informationssicherheit zu aktualisieren.

Ein weiterer Punkt, wenn die Basis eingeschaltet ist verwaltete Formulare. Wenn hier alles wie oben beschrieben gemacht wird, erhalten Sie Bremsen. Es gibt jedoch einen Ausweg:

  • SSD* statt der üblichen Schraube wird uns retten. Nehmen Sie ein 120-GB-Laufwerk, da sie selbst unter Berücksichtigung des Wechselkurswachstums akzeptabel sind. Ich empfehle, auf die Intel 520/530-Serie, Kingston v300 zu achten. Besser noch, lesen Sie einfach die Bewertungen zu den neuesten Modellen, denn. Dieser Markt entwickelt sich recht schnell und neue Produkte kommen auf den Markt
    *Hinweis: Wenn Sie Festplatten in einem RAID mit Spiegelung kombinieren, z. B. RAID1. In diesem Fall gibt es einen solchen Moment: die meisten SSD-Laufwerke trim ist erforderlich, um Müll zu bereinigen (hauptsächlich für ziemlich alte Modelle), der Befehl wird im Raid-Modus möglicherweise nicht unterstützt und die Geschwindigkeit des Laufwerks verringert sich, während es funktioniert. Um dieses Problem zu vermeiden, können Sie mindestens zwei Methoden anwenden: Kaufen Sie idealerweise eine SSD der Enterprise-Klasse, z. B. Intel DC3500. Wenn es teuer erscheint, können Sie ein Bundle verwenden: Motherboard mit einem Chipsatz
  • Zentralprozessor- ähnlich wie im vorherigen Absatz. Je höher die Frequenz, desto besser.
  • Rom - groß sie wird keine Rolle spielen. Wenn man bedenkt, wie moderne Anwendungen Speicher verschlingen, setzen Sie 8 GB ein

Wenn 1 Benutzer lokal mit der Datenbank arbeitet, reicht dies für seine komfortable Arbeit aus, aber die Geschwindigkeit der Netzwerkarbeit über eine gemeinsam genutzte Ressource wird immer noch langsam sein. Aber hier gibt es einen Ausweg - arbeiten Sie über einen Webserver. Im Internet finden Sie eine große Anzahl von Artikeln, die beschreiben, wie Sie die Arbeit mit 1C auf ähnliche Weise organisieren. Ich werde in diesem Artikel nicht darauf eingehen. Das einzige, was ich mit Ihnen teilen werde, sind meine Beobachtungen: Es ist vorzuziehen, die Arbeit für Benutzer nicht über einen Webbrowser, sondern über einen Thin Client einzurichten (wenn wir der IS-Liste eine neue Datenbank hinzufügen, gibt es ein Element "auf der Webserver" auf der IS-Platzierungsseite). Das geht nach meinen Beobachtungen schneller als über den Browser. Darüber hinaus treten beim Arbeiten über einen Browser Fehler in der Benutzeroberfläche auf (verschobene PM usw.), die beim Arbeiten über einen Thin Client nicht vorhanden sind.

Eigentlich mit diesem Rezept (ssd, Prozessor mit hoher Frequenz, Webserver, Thin Client). Sie können den Mythos zerstreuen, "wenn die Anzahl der Benutzer mehr als 1 beträgt (je nach Version mehr als 0 :)) - Sie benötigen eine Serverbasis *.

*Allerdings natürlich mit der Maßgabe, dass dies kein SCP oder eine Datenbank > ~ 4GB groß ist, aber die Anzahl der Benutzer 4 nicht überschreitet (das sind die maximalen Datenbankgrößen und die Anzahl der Benutzer, die ich gesehen habe, vielleicht Jemand hat Fälle getroffen, in denen über einen Webserver mit mehr Personen mit der Dateibasis gearbeitet wurde? Schreiben Sie in die Kommentare)

Arbeiten mit der Dateibasis im Terminal

Kommen wir zur nächsten Option. Wir haben einen Terminalserver und eine Dateibasis. Hier ist bis auf den Prozessor alles ähnlich wie bei Szenario 1:

  • SSD-Laufwerk anstelle einer normalen Schraube.*
    *Notiz: Stellen Sie sicher, dass Sie die Festplatten in einem RAID mit Spiegelung zusammenstellen, z. B. RAID1. In diesem Fall gibt es einen solchen Punkt: Die meisten SSD-Laufwerke müssen getrimmt werden, um Müll zu bereinigen (hauptsächlich für ziemlich alte Modelle), im Raid-Modus wird der Befehl möglicherweise nicht unterstützt und die Geschwindigkeit des Laufwerks verringert sich, während es funktioniert. Um dieses Problem zu vermeiden, können Sie mindestens zwei Methoden anwenden: Kaufen Sie idealerweise eine SSD der Enterprise-Klasse, z. B. Intel DC3500. Wenn dies teuer erscheint, können Sie eine SSD der benutzerdefinierten Klasse verwenden, aber stellen Sie dann sicher, dass ihre Umschreibkapazität für Ihr Szenario ausreicht.
  • Zentralprozessor- Hier macht es Sinn Corei5 statt i3 zu nehmen, weil 1C funktioniert am Terminal, zusätzliche 2 Kerne stören nicht, aber vergessen Sie nicht die Frequenz.
  • Rom unter Admins gibt es so einen stabilen Ausdruck: Es gibt nie viel Speicher). Aus meiner Praxis belegen 7 Personen, wenn sie in BP3 arbeiten, 8-12 GB auf dem Terminal (es hängt davon ab, wie viele Dokumente für jeden Benutzer geöffnet sind). Für gewöhnliche Formulare kann die Speichermenge durch 2 geteilt werden :) Eine ungefähre Berechnung kann wie folgt durchgeführt werden: 256 MB für die Terminalsitzung selbst + 1,5 GB für 1C

Arbeiten mit Server (MSSQL) Datenbank


Dieses Szenario ist das komplexeste und erfordert möglicherweise einen separaten Artikel. Ich schlage vor, in diesem Artikel nur die Grundprinzipien zu betrachten, die sich auf die Leistung auswirken

  • Platzierung von SQL-Server und Server 1C. Auf verschiedenen Maschinen oder auf einer. Es gibt einen solchen Moment: Wenn sie sich auf demselben Computer befinden, erfolgt die Kommunikation zwischen ihnen über das Shared-Memory-Protokoll, und in diesem Fall erhalten wir einen Leistungsbonus, der nicht vorhanden ist, wenn sie sich auf verschiedenen Computern befinden.
  • ZENTRALPROZESSOR. Und hier ist schon brauchbar und hohe Taktrate und Multi-Core. Da Wir haben einen SQL-Serverprozess, wenn er sich auf demselben Computer befindet, und mehrere 1C-RPhost-Serverprozesse, die die Prozessorkerne laden. Separat möchte ich Zwei-Prozessor-Systeme hervorheben (d. h. wenn auf dem Motherboard zwei Sockel für und vorhanden sind mehr als eine Steckdose). Auch wenn Sie mit einem leeren Sockel "in Reserve bleiben, kaufen Sie später einen Prozessor, wenn Sie ihn plötzlich brauchen". Ich habe eine große Anzahl von Servern mit zwei Sockeln gesehen, die bis zum tiefen Ende ihres Lebens mit einem leeren zweiten Sockel dastanden. Obwohl, wenn die Firma zahlt ... warum sich das Vergnügen verwehren :)
  • Rom. Bei seiner Arbeit verwendet SQL Server * aktiv RAM, wenn es nicht ausreicht, klettert es auf Festplatten, die selbst im Fall von SSD langsamer als RAM sind. Es lohnt sich also nicht, hier am Speicher zu sparen. Planen Sie so viel wie möglich ein (vergessen Sie natürlich nicht den gesunden Menschenverstand :)), und lassen Sie freie Steckplätze auf dem Motherboard, damit Sie immer einen zusätzlichen Riegel liefern können.
    *Hinweis: Vergessen Sie nicht, das vom SQL-Server verwendete maximale RAM zu begrenzen, damit es für das Betriebssystem und die Terminalsitzungen ausreicht, und erhöhen Sie auch die Schritte zum Erhöhen von tmp und der SQL-Basis (der Standardschritt ist 1 MB, was sehr viel ist klein, eingestellt 200 MB für Basis und 50 MB für Protokoll)
  • Disk-Subsystem. Es mag der Gedanke auftauchen, dass, wenn die Menge an RAM größer als die Größe der Basis ist, alles im Speicher liegt und alles fliegt. Es kann gut gewesen sein ... vor dem ersten Schreibvorgang :), der auf Festplatten schreiben wird. Und hier werden Sie von Festplatten unterbrochen :) Verwenden Sie SSD-Laufwerke. Und hier sparen Sie nicht mehr an Nicht-Desktop-SSDs, sondern erhalten normale SSDs auf Unternehmensebene. Intel DC3700 -200 GB Ressource 3,7 Petabyte (10 Überschreibungen des Gesamtvolumens des Laufwerks pro Tag für 5 Jahre), kann für 24000r/Stück + Sekunde für RAID1=48000 gefunden werden. Die Lizenz wird viel mehr dauern.

Sieht so aus, als wäre es das. Bei Fragen/Beschwerden/Anregungen - gerne in die Kommentare ;)

1C:Enterprise 8 kann selbst bei einer kleinen Anzahl von Benutzern eine ressourcenintensive Anwendung sein. Bei der Auswahl eines Servers für 1C möchte jeder Besitzer "Geburtsverletzungen" vermeiden - potenzielle Engpässe, die darin eingebettet sind. Auf der anderen Seite kaufen heute nur wenige Menschen Server mit Überkapazitäten, „für Wachstum“. Gut, wenn sich das Lastprofil vorab entfernen lässt – dann ist es einfacher, einen Server für eine bestimmte Konfiguration von Unternehmensanwendungen auszulegen.

Betrachten wir zur Verdeutlichung die Plattform „1C:Enterprise 8.2“ in ihren beliebten Grundkonfigurationen „Buchhaltung“, „Handel und Lager“, „Lohn- und Personalverwaltung“, „Kaufmännisches Unternehmensmanagement“ und teilweise „Manufacturing Enterprise Management“. ". Wir gehen davon aus, dass für Unternehmen mit 10 oder mehr Mitarbeitern, die in 1C arbeiten, „1C: Enterprise 8.2. Anwendungsserver". Betrachten wir die Möglichkeit, im Remote-Desktop-Modus zu arbeiten, mit einer Anzahl von gleichzeitigen Datenbankbenutzern von bis zu 100-150. Die Empfehlungen werden auch für „schwerere“ DB 1C gelten, aber „schwere Fälle“ erfordern immer eine individuelle Vorgehensweise.

Prozessoren und RAM

Wenn das Unternehmen sehr klein ist (2-7 Benutzer im System), die Datenbank klein ist (bis zu 1 GB) und 1C:Enterprise 8.2 im Dateimodus auf dem Computer des Benutzers arbeitet, erhalten wir eine klassische Implementierung eines Dateiservers . Auch der Intel Core i3, insbesondere der Intel Xeon E3-12xx, ist einer solchen Aufgabe in Sachen CPU-Last gewachsen. Die erforderliche RAM-Größe ist recht einfach: 2 GB für das Betriebssystem und 2 GB für den Systemdatei-Cache.

Wenn das Unternehmen 5-25 1C-Benutzer hat und die Datenbankgröße bis zu 4 GB beträgt, sollte die 1C:Enterprise 8.2-Anwendung über genügend 4-Kern-Intel Xeon E3-12xx oder AMD Opteron 4xxx verfügen. Zusätzlich zu 2 GB RAM für das Betriebssystem müssen 1-4 GB für 1C:Enterprise 8.2 zugewiesen werden. Application Server" und die gleiche Menge für MS SQL Server als Cache - insgesamt 8-12 GB RAM. Bei kleinen Datenbanken ist es wünschenswert, mindestens 30 % der Datenbank im RAM zwischenzuspeichern, vorzugsweise alle 100 %.

Bekannter (wenn auch nicht besonders beworbener) Fakt: „1C: Enterprise 8.2. Application Server mag es nicht sehr, wenn das Betriebssystem es in eine Auslagerungsdatei auf der Festplatte entlädt, und neigt dazu, manchmal die Reaktion zu verlieren. Daher sollte auf dem Server, auf dem der „Application Server“ läuft, immer ein Vorrat an freiem Speicherplatz im Arbeitsspeicher vorhanden sein – zumal dieser heute preiswert ist.

In größeren Unternehmen arbeiten 1C-Benutzer normalerweise über den Fernzugriff auf die Anwendung (Remote Desktop), dh im Terminalmodus. In der Regel wird bei 10-100 1C-Benutzern mit einer Datenbank von 1 GB oder mehr „1C:Enterprise 8.2. Application Server“ und die Benutzeranwendung „1C:Enterprise 8.2“ laufen auf demselben Server.

Um die benötigten Prozessorressourcen zu ermitteln, wird davon ausgegangen, dass ein physischer Kern nicht mehr als 8 Benutzer-Threads effizient verarbeiten kann – dies liegt an der internen Architektur der Prozessoren. Wie die Praxis zeigt, sollten Sie für 1C + Remote Desktop-Aufgaben keine Serverprozessoren niedrigerer Linien mit niedrigen Frequenzen von Rechenkernen und einer abgeschnittenen Architektur verwenden. Bei wenigen Benutzern (bis zu 15-20) reicht ein hochfrequenter Intel Xeon E3-12xx-Prozessor aus. Gleichzeitig wird mindestens einer seiner physischen Kerne (2 Threads) für die Anforderungen von SQL Server verwendet, ein weiterer (2 Threads) für 1C:Enterprise 8.2. Anwendungsserver" und die verbleibenden 2 physischen Kerne (4 Threads) - für die Betriebssystem- und Terminalbenutzer. Bei mehr als 20 1C-Benutzern oder mehr als 4 GB Datenbankvolumen ist es an der Zeit, auf 2-Prozessor-Systeme auf Intel Xeon E5-26xx oder AMD Opteron 62xx umzusteigen.

Die Berechnung der benötigten RAM-Menge ist relativ einfach: 2GB müssen dem OS gegeben werden, 2GB oder mehr – MS SQL Server als Cache (mindestens 30% der Datenbank), 1-4GB – unter „1C: Enterprise 8.2 . Application Server" sollte der restliche Speicher des Servers für Terminalsitzungen ausreichen. Ein Terminalbenutzer verbraucht je nach Konfiguration in den Anwendungen "Buchhaltung", "Handel und Lager" - 100-120 MB, "Gehalts- und Personalverwaltung", "Verwaltung des Handelsunternehmens" - 120-160 MB, "Verwaltung der Fertigungsunternehmen“ – 180-240 MB. Wenn der Benutzer zusätzlich MS Word, MS Excel, MS Outlook auf dem Server startet, sollten weitere 100 MB für jede Anwendung zugewiesen werden. In der Regel beträgt das Minimum für einen Terminalserver 12 GB RAM.

Zum Beispiel für einen 1C-Server mit dem gesamten Softwarepaket, 50 Terminalbenutzern in der Trading Enterprise Management-Konfiguration und einer 8-GB-Datenbank wird die Rechenleistung von zwei Intel Xeon E5-2650-Prozessoren (8 Kerne, 16 Threads, 2,0 GHz) bereitgestellt optimal sein. RAM benötigt mindestens 2 (OS) + 4 (SQL) + 4 (1C-Server) + 8 (160 "UTP" * 50 Benutzer) = 18 GB und vorzugsweise 24-32 GB (6-8 DIMM-Kanäle mit jeweils 4 GB) .

Disk-Subsystem

Die meisten Beschwerden über den langsamen Betrieb von 1C:Enterprise 8-Servern beruhen auf einem Missverständnis darüber, welche Arten von E / A-Vorgängen auf ihnen ausgeführt werden, auf welchen Daten und mit welcher Intensität. Oft ist das Disk-Subsystem der Schlüssel für eine ausreichende Server-Performance als Ganzes - schließlich ist das größte Problem bei geladenen Datenbanken das Sperren von Tabellen, wenn viele Benutzer gleichzeitig damit arbeiten oder während Massen-Downloads / -Uploads / Beiträge. Überwachung und Optimierung des Disk-Subsystems des Servers.

1C hat 5 Datenströme für das Festplattensubsystem, mit dem es arbeitet:

  • Datenbanktabellen;
  • Indexdateien;
  • temporäre Dateien tempDB;
  • SQL-Protokolldatei;
  • Protokolldatei von 1C-Benutzeranwendungen.

Die Datenstruktur in 1C ist objektorientiert, mit vielen Objekten und Beziehungen zwischen ihnen. Für die Arbeit mit Datentabellen ist die Anzahl der Lese- und Schreiboperationen, die das Festplattensubsystem in einem bestimmten Zeitraum ausführen kann (Input Output Operation per Second, IOPS), äußerst wichtig. Gleichzeitig ist seine Fähigkeit, eine hohe Streaming-Datenrate (in MBp / s) zu liefern, viel weniger wichtig. Eine sehr bescheidene Basis von 200-300 MB mit 3-5 Benutzern kann in Spitzenzeiten bis zu 400-600 IOPS generieren. Eine Datenbank für 10–15 Benutzer und ein Volumen von 400–800 MB kann 1500–2500 IOPS liefern, 40–50 Benutzer einer Datenbank mit 2–4 GB generieren 5000–7500 IOPS, und Datenbanken für 80–100 Benutzer erreichen leicht 12000– 18000 IOPS.

Natürlich kann die durchschnittliche Belastung des Festplatten-Subsystems 10-15 % der Spitze betragen. Wichtig ist in der Realität nur die Performance in Zeiten von Spitzenlasten: automatischer Download von Daten aus anderen Systemen, Datenaustausch eines verteilten Systems oder Periodenwiederholung.

Moderne Laufwerke im Lese- und Schreibbetrieb mit wahlfreiem Zugriff (Random Read/Write) bewältigen solche Belastungen allein:

Intel 910 400GB

2400 - 8600 IOPS

Das sieht man deutlich:

  • der Engpass für HDD und SSD ist das Schreiben;
  • Herkömmliche HDDs sind keine Konkurrenten von SSDs in Bezug auf die Lesegeschwindigkeit in IOPS, selbst theoretisch übersteigt der Unterschied zwei Größenordnungen;
  • selbst nicht die modernste Desktop-SSD ist 3-40 Mal (je nach Konfiguration) schneller als jede HDD in Bezug auf die Schreibgeschwindigkeit in IOPS, Server-SSD ist 12-40 Mal schneller als HDD;
  • Die maximale Leistung in IOPS wird von der PCIe-SSD-Klasse Intel 910 oder LSI WarpDrive bereitgestellt.

In Datenbankservern werden keine einzelnen Festplatten verwendet, sondern nur RAID-Arrays. Um die reale Leistung des Disk-Subsystems weiter zu berechnen, müssen Sie die Kosten („Penalty“) für das Schreiben auf IOPS berücksichtigen, die der Disk-Gruppe im RAID entstehen:

Wenn Sie 6 Festplatten in RAID 10 sammeln, werden für jeden Datensatz von 1 IOPS an Daten 2 IOPS an physischen Festplatten ausgegeben, und wenn in RAID 6, dann 6 IOPS an Festplatten. Daher müssen Sie bei der Berechnung der Schreiblastkapazität einer Festplattengruppe zuerst die IOPS aller Festplatten in der RAID-Gruppe addieren und dann durch die „Penalty“ dividieren.

Beispiel 1: 2 SATA 7200-Festplatten in RAID 1 bieten Schreibzugriff: (100 IOPS *2) / 2 = 100 IOPS.

Beispiel 2: 4 SATA 7200 in RAID 5 liefern: (100 IOPS *4) / 4 = 100 IOPS pro Schreibvorgang.

Beispiel 3: 4 SATA 7200 in RAID 10 liefern: (100 IOPS *4) / 2 = 200 IOPS pro Schreibvorgang.

Die Beispiele 2 und 3 zeigen, warum RAID 10 zum Speichern von Datenbanken mit einer typischen Lese-/Schreibverteilung von 68/32 bevorzugt wird.

Aus diesen drei Tabellen wird deutlich, warum die Leistung eines typischen "Gentleman's Set" 2 HDD SATA 7200 in RAID 1 für einen Server nicht ausreicht: Bei Spitzenlast wächst die Warteschlange der Plattenzugriffe, Benutzer warten auf eine Antwort von der System, manchmal für viele Stunden.

Wie kann die Schreibleistung des Festplattensubsystems erhöht werden? Erhöhen Sie die Anzahl der Festplatten in einer RAID-Gruppe, wechseln Sie zu Festplatten mit einer höheren Rotationsgeschwindigkeit, wählen Sie ein RAID-Level mit einer geringeren Schreibstrafe. Das Caching durch einen RAID-Controller mit aktiviertem Write-Back-Modus ist sehr hilfreich. Daten werden nicht direkt auf Festplatten geschrieben (wie im Write-Through-Modus), sondern in den Controller-Cache und erst dann im Stapelmodus und in geordneter Form auf Festplatten. Je nach Aufgabenstellung kann die Schreibleistung um 30-100 % gesteigert werden.

Unter leicht belasteten oder relativ kleinen Datenbanken (bis zu 20 GB) bietet sich eine kostengünstige Möglichkeit zum „Extrahieren von IOPS“ an - Hybrid-RAID von SSD / HDD. Mehr und keine Branchendatenbank für 3-15 Benutzer in einer verteilten Struktur wie einem Netzwerk von Cafés oder Tankstellen.

Für große (200 GB oder mehr) Datenbanken mit einem langen historischen Datenpfad oder für die Wartung mehrerer großer Datenbanken kann SSD-Caching (LSI CacheCade 2.0- oder Adaptec MaxCache 3.0-Technologien) effektiv sein. Nach den Erfahrungen mit dem Betrieb solcher Systeme können sie bei 1C-Aufgaben relativ kostengünstig und ohne wesentliche Änderungen in der Speicherinfrastruktur verwendet werden, um den Festplattenbetrieb um 20-50% zu beschleunigen.

Der Champion in Bezug auf die Leistung bei IOPS sind erwartungsgemäß RAID-Arrays auf Server-SSDs – sowohl traditionell mit einem SAS-RAID-Controller als auch PCIe-SSDs. Ihre Popularität wird durch zwei Einschränkungen behindert: technologische (die Leistung von RAID-Controllern oder die Notwendigkeit, die Speicherstruktur radikal zu brechen) und der Verkaufspreis.

Separat sollte über die Speicherung von Indexdateien und TempDB gesprochen werden. Indexdateien werden sehr selten aktualisiert (normalerweise einmal täglich), aber sie werden sehr, sehr oft gelesen (IOPS). Solche Daten müssen einfach mit ihren Leseraten auf einer SSD gespeichert werden! TempDB, das zum Speichern temporärer Daten verwendet wird, ist normalerweise klein (1-4-12 GB), aber sehr anspruchsvoll in Bezug auf die Schreibgeschwindigkeit. Index- und temporäre Dateien haben gemeinsam, dass ihr Verlust nicht zum Verlust echter Daten führt. Das bedeutet, dass sie auf einer separaten (noch besser - auf zwei separaten Volumes) SSD platziert werden können. Zumindest auf dem Onboard-SATA-Controller des Mainboards. Aus Sicht der Zuverlässigkeit und Leistung ist es unter TempDB wünschenswert, einen Spiegel (RAID1) von der SSD zu geben, dies ist auf dem Onboard-Controller möglich, jedoch mit der obligatorischen Abschaltung aller Schreibcaches. Auch Desktop-SSDs können dieser Rolle gerecht werden - wie die Intel 520-Serie, bei der die Hardware-Datenkomprimierung beim Schreiben in TempDB genau richtig ist. Die Verlagerung dieser Aufgaben von einem gemeinsam genutzten Speichersystem auf ein dediziertes Hochgeschwindigkeits-Subsystem wirkt sich positiv auf die Performance des Gesamtsystems aus, insbesondere in Spitzenlastzeiten.

In Fällen, in denen eine schnellstmögliche Reaktion der Administratoren bei Ausfällen sichergestellt werden kann, und bei komplexen Rechenaufgaben (Lager- oder Transportlogistik, Produktion in SCP, Volumentausch in URDB) wird TempDB nach RAMDrive ausgelagert. Mit dieser Lösung können Sie manchmal bis zu 4-12% der Gesamtsystemleistung gewinnen. Einige Unannehmlichkeiten treten nur auf, wenn der Server neu gestartet wird: Wenn RAMDrive nicht automatisch startet, muss der Administrator eingreifen, um manuell zu starten - andernfalls wird das gesamte System.

Ein weiterer wichtiger Bestandteil sind die Protokolldateien. Sie haben eine unangenehme Eigenschaft für jedes Disk-Subsystem - sie erzeugen einen fast konstanten Strom kleiner Schreibzugriffe. Dies ist bei mittlerer Last nicht wahrnehmbar, verschlechtert jedoch die Leistung des 1C-Servers bei Spitzenlasten erheblich. Es ist sinnvoll, die Protokolldatei (insbesondere die SQL-Protokolldatei) auf ein separates physisches Volume zu verschieben, das keine hohen IOPS-Anforderungen hat und nahezu linear beschrieben wird. Zur Beruhigung können Sie eine Spiegelung aus kostengünstigem und umfangreichem SATA / NL SAS (für vollständiges Protokoll) oder kostengünstigen Desktop-SSDs derselben Intel 520-Serie (einfaches Protokoll oder vollständiges Protokoll mit täglicher Sicherung und Reinigung) erstellen.

Im Allgemeinen können wir sagen, dass die Ankunft von SSDs in Servern neue Möglichkeiten zur Leistungssteigerung von Massenservern eröffnet hat – aufgrund von abgestufter Datenspeicherung und vernünftiger Festplatten-I / O-Konfiguration.

Das Disk-Subsystem des "idealen Servers unter 1C" sieht so aus:

1. Datenbanktabellen werden auf RAID 10 (oder RAID 1 für kleine Datenbanken) zuverlässiger Server-SSDs mit einem obligatorischen Hardware-RAID-Controller gehostet. Ziehen Sie für hohe IOPS-Anforderungen eine PCIe-SSD-Option in Betracht. Bei großen Datenbanken ist SSD-Caching von HDD-Arrays effektiv. Wenn die verwendete 1C-Konfiguration und Datenstruktur nicht zu anspruchsvoll für IOPS sind und die Anzahl der Benutzer gering ist, reicht ein herkömmliches Array von HDD SAS 15K U/min aus.

2. Indexdateien werden auf eine schnelle und kostengünstige einzelne SSD, TempDB – auf 1-2 (RAID 1) SSD oder RAMDrive verschoben.

3. Ein dediziertes Volume (einzelne physische Festplatte oder RAID-1) auf einer SATA/NL-SAS-Festplatte oder einer kostengünstigen SSD oder eine logische Festplatte auf einem RAID-Array, auf dem sich das Serverbetriebssystem und Benutzerdateien/-ordner befinden.

4. Betriebssystem und Benutzerdaten werden auf RAID 1 von HDD oder SSD gespeichert.

Wenn die IT-Infrastruktur virtualisiert ist, ist es sehr wünschenswert, dass SQL Server nicht als virtuelle Maschine, sondern direkt auf einem physischen Server auf Bare Metal installiert wird. Der Preis der Ausgabe beträgt 15 bis 35 % der Leistung des Festplattensubsystems (abhängig von Hardware, Treibern, Virtualisierungstools und Volume-Verbindungsmethoden). In einer virtualisierten SQL-Serverumgebung ist das Verbinden von Volumes mit Datenbanktabellen, Indexdateien und TempDB mit einer VM im exklusiven Modus über Direct Access obligatorisch.

Netzwerk Schnittstellen

Beim Aufbau von 1C:Enterprise 8-Systemen für kleine und mittlere Unternehmen (bis zu 100-150 aktive Benutzer gleichzeitig) sollten Verluste im Netzwerkbetrieb über die Ethernet-Schnittstelle minimiert werden. Stellen Sie im Idealfall sowohl SQL Server als auch „1C: Enterprise 8 Application Server x64“ und 1C-Benutzersitzungen in Remote Desktop mit einem physischen Server bereit. Diese in Bezug auf Fehlertoleranz umstrittene Empfehlung ermöglicht es Ihnen, das Beste aus Hardware und Software herauszuholen, und bietet durch die Verwendung von Virtualisierung ein gewisses Maß an Sicherheit und „Umgebungswiederholbarkeit“ auf anderen Geräten.

Warum Ethernet aus der Kette SQL-Server -> 1C:Enterprise 8-Anwendungsserver -> 1C:Enterprise 8-Benutzersitzung ausschließen? Die Ethernet-Netzwerkschnittstelle mit ihrem Packen von Daten in relativ kleine Blöcke für die Übertragung erzeugt immer zusätzliche Verzögerungen: sowohl beim Packen / Entpacken des Datenverkehrs als auch während der Übertragung selbst (hohe Latenz). In 1C:Enterprise 8 werden ziemlich große Datenfelder zur Verarbeitung und Anzeige entlang der gesamten Kette übertragen, in einigen Situationen - in beide Richtungen. Beim direkten Übertragen von Daten von einem Prozess zu einem anderen innerhalb des Arbeitsspeichers des Servers (auf demselben Server ohne Virtualisierung) oder über eine virtuelle Netzwerkschnittstelle (innerhalb desselben physischen Servers, mit guten Server-Netzwerkadaptern mit Übertragung von RAM-Blöcken zwischen VMs) kommt es zu Verzögerungen sind viel niedriger. Moderne Dual-Prozessor-Server mit großem RAM und einem Festplattensubsystem auf SSD ermöglichen es Ihnen, eine 1C-Datenbank für 100-150 aktive Benutzer bequem zu bedienen.

Ist für geladene Datenbanken der Einsatz mehrerer physikalischer Hosts unvermeidbar, ist es wünschenswert, alle Server über 10Gb Ethernet anzubinden. Oder mindestens 2-4 aggregierte 1-Gb-Ethernet-Verbindungen mit TCP/IP-Hardwarebeschleunigung (TCP/IP-Offloader) und Hardware-Virtualisierungsunterstützung.

Budget-Lösungen leiden vor allem unter Leistungseinbußen an Ethernet-Ports. Es ist kein Geheimnis, dass 1-GB-Netzwerkadapter, die auf die meisten Server-Motherboards gelötet sind, nicht dafür ausgelegt sind, starken Netzwerkverkehr zu bewältigen. Auch wenn das Board über 2 oder 3 GbE-Ports verfügt, sind diese in der Regel auf Desktop-Chips implementiert. Ausreichend für die Verwaltung, erzeugen sie zusätzliche Overhead-Kosten für die Wartung von Netzwerkaustauschen, insbesondere in einer virtualisierten Umgebung. Der gesamte Prozess der Datenübertragung durch einen solchen Chip wird von den Ressourcen des Prozessors, des RAM und der Last auf den internen Bussen bereitgestellt. Solche Chips bieten keine Beschleunigung der IP-Verkehrsübertragung, jedes empfangene und gesendete Ethernet-Paket erfordert einen separaten Interrupt für den Prozessor. In einer virtualisierten Umgebung können die Leistungsverluste von Netzwerkschnittstellen 25-30 % erreichen. Das Unangenehmste ist, dass gerade die Netzwerkschnittstelle durch Überwachungstools überlastet wird und möglicherweise nicht bemerkt wird. Der zentrale Prozessor ist davon begeistert, und wenn er nicht funktioniert, wartet er im Leerlauf auf eine Antwort von der Netzwerkkarte. Es ist wünschenswert, Ports auf Desktop-Chips vom Datenfluss in virtualisierten Umgebungen auszuschließen und sie für Serververwaltungsaufgaben zu überlassen. Bei intensivem Netzwerkverkehr lohnt es sich, dem Server-Chipsatz eine separate Netzwerkkarte hinzuzufügen.

Fehlertoleranz oder akzeptable Ausfallzeit?

Diskussionen über die Serverleistung werden fast immer von Argumenten über die Serverzuverlässigkeit begleitet. Die Sicherstellung der Fehlertoleranz ist immer mit zusätzlichen Kosten verbunden, insbesondere bei der Unterstützung kontinuierlicher Produktionsprozesse. Ohne die Rolle und den Platz von 1C herabzusetzen, können wir sagen, dass die meisten seiner Benutzer das Dilemma „Leistung / Zuverlässigkeit“ auf verschiedenen Ebenen lösen: Sie kämpfen für die erste mit der Optimierung von Hardwarelösungen, für die zweite mit der Organisation von Prozessen und Verfahren. Wenn Anwendungen mäßig kritisch sind, liegt der Schwerpunkt bei der Aufrechterhaltung des Zustands nicht auf dem Schutz einzelner Server, sondern auf der Minimierung der Ausfallzeiten der Infrastruktur als Ganzes.

Natürlich ist es für Unternehmen mit einer relativ großen Anzahl gleichzeitig verbundener Benutzer (25-150) und dem Hosten aller Anwendungen auf einem einzigen Server unerlässlich, unterbrechungsfreie Stromversorgungen, redundante Stromversorgungen für die Server selbst und Hot-Swap-Festplattenkörbe zu verwenden und Hot-Standby-RAID-Arrays. Aber keine Hardware kann die geplante Sicherung der Daten selbst ersetzen. Mit einer täglichen (genauer gesagt nächtlichen) Sicherung und einer Online-Datei mit einem vollständigen SQL-Protokoll können Sie die 1C-Datenbank in relativ kurzer Zeit vollständig wiederherstellen.

Die zulässige Ausfallzeit des zentralen 1C-Systems für kleine und mittlere Unternehmen beträgt 1-2 Unfälle pro Monat mit einer Dauer von 1-4 Stunden. Tatsächlich ist dies ein enormer Zeitspielraum – wenn Sie im Voraus bereit sind, sich zu erholen. Eine notwendige Voraussetzung für einen schnellen Neustart ist die Verfügbarkeit von Images aller virtuellen und physischen Server in Form einer VM auf einem separaten Speicher / Volume - um den Infrastrukturteil selbst auf einem Backup-Server wiederherzustellen. Obligatorisches tägliches Backup (sowie wöchentlich und am Ende des Zeitraums) auf ein anderes physisches Gerät und vollständiges SQL-Protokoll für Fälle, in denen der Datenverlust „ab Beginn des Arbeitstages“ kritisch und manuell schwer zu beheben ist. Wenn Sie über Ersatzgeräte verfügen, können Sie innerhalb von 1-2 Stunden die Arbeitsfähigkeit im Allgemeinen wiederherstellen, wenn auch mit geringerer Produktivität. Nun, wo 24x7 Kontinuität erforderlich ist, werden die Prioritäten die Wahl der geeigneten Architektur, Ausrüstung mit einer minimalen Anzahl von Fehlerpunkten und vollwertigen Clustering-Technologien sein. Aber das ist eine ganz andere Geschichte.

Originalartikel: http://ko.com.ua/proektirovanie_servera_pod_1s_66779

Mit freundlicher Genehmigung des Herausgebers der Zeitschrift "Computer Review"

Um die Wirksamkeit der auf der Enterprise 8-Plattform ausgeführten Programme sicherzustellen, ist es nicht nur erforderlich 1C kaufen, sondern auch um die richtige Serverlösung auszuwählen.

Derzeit Umsetzung von 1C 8 in mehreren Versionen durchgeführt. Die beliebteste Lösung ist ein dedizierter Dateiserver. Diese Option umfasst einen dedizierten PC oder einen kleinen Server, ein installiertes Server-Betriebssystem sowie die Einrichtung eines gemeinsamen Zugriffs auf einen Ordner mit 1C: Enterprise. Diese Option ist recht einfach und erschwinglich, bietet jedoch keine hohe Leistung und Zuverlässigkeit.

Wenn eine Organisation Zuverlässigkeit und hohe Leistung gewährleisten muss, entscheidet sie sich in der Regel Umsetzung von 1C 8 mit einem industriellen DBMS - Microsoft SQL Server. Als Betriebssystem kommt hier Windows Server 2003 zum Einsatz und die Hardware muss hohen Anforderungen genügen.

Diese Lösung ist teurer, hat aber ihre eigenen Vorteile, wie z. B. hohe Leistung und Fehlertoleranz. Das System ermöglicht außerdem ein effizientes Backup, bietet ein hohes Maß an Datenschutz und eliminiert die obligatorische Indizierung im Fehlerfall.

Damit das System ordnungsgemäß funktioniert, muss es von einem qualifizierten Mitarbeiter implementiert werden 1C Programmierer. Denn die unerfahrenen 1C Programmierer kann alle Vorteile zunichte machen - ein großes Datenbankvolumen mit einer Serverkonfiguration von geringer Qualität verringert die Leistung des 1C-Produkts erheblich.

Beachten Sie auch, dass für diese Desktop-Bereitstellungsoption Clientlizenzen erforderlich sind, um eine Verbindung zu Windows Server 2003/2008 herzustellen. Bei hoher Auslastung der 1C-Infobase kann die Leistung von Windows SBS 2003/2008 unzureichend sein. In diesem Fall ist es möglich, einen zusätzlichen Server, Microsoft SQL Server 2005/2007, zuzuweisen.

Eine andere Methode, die häufig bei der Implementierung von 1C verwendet wird, ist ein Terminalserver. Der in Windows Server 2003 integrierte Terminal Connection Service ermöglicht Ihnen eine große Leistungsreserve, sicheres und vollständiges Arbeiten sowie ein hohes Maß an Schutz.

Liste der Software für die Implementierung von Programmen 1C: Enterprise.

In der Regel wird folgende Software zur Implementierung von Programmen auf der 1C: Enterprise-Plattform verwendet: Windows 7, Vista, XP Professional, Windows Server 2003-2008, Windows Small Business Server.

Windows XP Professional war lange Zeit die Basisversion des Betriebssystems und wird in vielen Organisationen installiert. Windows 7 ist ein ziemlich neues Betriebssystem für PCs, das durch die Integration von Netzwerken, Technologien und Systemen eine hohe Leistung bietet. Als Einstiegsserver können Computer mit den Betriebssystemen Windows Vista, XP Professional und 7 eingesetzt werden. Diese Betriebssysteme unterstützen bis zu 10 Verbindungen, aber Geschwindigkeit und Sicherheit lassen zu wünschen übrig.

Windows Server 2003 oder 2008 sind die beliebtesten Serverbetriebssysteme, mit denen Sie 1C:Enterprise-Lösungen implementieren können , sorgen für Zuverlässigkeit und Wartungsfreundlichkeit.

Windows Small Business Server 2008 ist ein Softwareprodukt, das aus einem ganzen Paket von Serverprodukten und zusätzlichen Komponenten besteht. Diese Option eignet sich für kleine Unternehmen, die keine ernsthaften Belastungen der 1C Enterprise-Informationsbasis planen. Der Hauptvorteil von Windows SBS 2008 ist sein niedriger Preis.

Also vorher 1C kaufen müssen Sie sich überlegen, welcher Belastung die Datenbank ausgesetzt sein wird und entsprechend den Servertyp auswählen.

Die Veröffentlichung wurde vom lizenzierten Software-Store 1cmarket.ru vorbereitet


Kommentare und Bewertungen

Netzwerkquellen haben die detaillierten Eigenschaften des Smartphones Black Shark 2 Pro enthüllt, das offiziell...

HTC hat sein Angebot an Budget-Smartphones um das Modell Wildfire E erweitert, das 9.000 Rubel kostet...

LG hat angekündigt, dass seine Fernseher Apple AirPlay 2- und HomeKit-Technologien unterstützen werden. Durch s...

Einen Tag zuvor präsentierte die Firma Phanteks eine einzigartige Lösung zur Montage eines Custom CBO. Neuer Glacier D140 mit...