Serverberekening voor 1s. Oplossingen. Om het werk in de client-serverversie te organiseren, hebt u nodig

Ongeveer twee jaar geleden publiceerden we materiaal over de 1C Enterprise-server op het Linux-platform; de belangstelling voor dit onderwerp is nog steeds groot. Tegelijkertijd is er veel veranderd, staat het 1C-platform niet stil en gaat de implementatie meestal verder dan alleen het herhalen van instructies. Dit is niet verrassend, de 1C Enterprise-server is een complex product, daarom hebben we besloten deze serie artikelen te starten, gericht op een diepere studie van het onderwerp.

Voordat u de muis oppakt en naar de serverruimte rent, moet u de vereiste minimale kennis duidelijk begrijpen, namelijk een idee hebben van de structuur van de 1C Enterprise-server en het doel van de afzonderlijke componenten. De meeste problemen tijdens de implementatie zijn te wijten aan het feit dat de 1C Enterprise-server wordt gezien als een soort monolithische formatie waarin alle componenten met elkaar zijn verbonden op een sluwe manier die slechts één ontwikkelaar kent. Dit is echter niet zo, en vandaag zullen we uitzoeken waaruit onze server bestaat en hoe het allemaal samenwerkt.

Ik wil nogmaals het extreme belang benadrukken van wat hieronder zal worden besproken. Zonder deze kennis zal het moeilijk zijn om een ​​stabiele werking te realiseren, om nog maar te zwijgen van het diagnosticeren van knelpunten en het verhogen van de productiviteit. Het resultaat kan een klassiek beeld zijn: de hardware lijkt krachtig, alles is volgens de instructies gedaan, maar het wordt langzamer. Helaas bevatten de meeste instructies voor beginners (inclusief die van ons) alleen informatie over hoe u dit moet doen, zonder zich te concentreren op wat er precies wordt gedaan en waarom. Dus laten we beginnen met het repareren van dingen.

De client-serverversie van 1C Enterprise heeft een structuur met drie niveaus (de zogenaamde “three-tier”), die omvat: een client, een 1C Enterprise-server en een DBMS-server. Dit zijn volledig onafhankelijke componenten die in elke acceptabele combinatie kunnen worden gecombineerd om het beste resultaat te bereiken. Beschouw het volgende diagram:

Laten we beginnen met clients; de huidige versie van het platform (8.2) voorziet in het gebruik van drie soorten clients. Laten we ze in meer detail bekijken.

Dikke klant

Dit is een klassieke 1C-clienttoepassing; vóór de release van platform 8.2 was dit het enige beschikbare type client. Het 'thick client'-bewerkingsschema is als volgt: de clienttoepassing vraagt ​​gegevens op bij de 1C-server, vraagt ​​deze vervolgens op uit de database en geeft deze terug aan de client, waar deze worden verwerkt. Zoals u kunt zien, is dit schema niet optimaal: de 1C-server is in wezen slechts een laag tussen de client en de database, alle berekeningen vinden plaats op de client. Dit stelt hogere eisen aan client-pc's, omdat Er wordt geen gebruik gemaakt van de rekenkracht van de server. Het is de moeite waard om duidelijk te begrijpen dat u in de dikke clientmodus geen prestatieverbetering krijgt door over te schakelen naar de client-serverversie, en misschien zelfs andersom.

Thin-client

Het kan het belangrijkste type clientapplicatie voor het 8.2-platform worden genoemd; in theorie en in de praktijk verloopt niet alles zo soepel en we komen hierop terug. De manier waarop het werkt is radicaal anders: de klant vraagt ​​gegevens op bij de 1C-server, die deze uit de database ontvangt, verwerkt en het rekenresultaat terugstuurt naar de klant. De voornaamste rekenbelasting ligt bij de server, dus er zijn geen speciale vereisten voor client-pc's en het kanaal van de client naar de server.

Bovendien kan de thin client zowel via het TCP/IP-protocol op een lokaal netwerk als via HTTP via internet werken. Hiervoor is een andere tussenpersoon nodig: een webserver, die klantverzoeken naar de 1C-server verzendt; er vindt geen gegevensverwerking plaats op de webserver, deze wordt uitsluitend als transportmiddel gebruikt. De voordelen van een thin client zijn duidelijk: als je een krachtige server hebt, kun je het werk met het programma aanzienlijk versnellen; het netwerkverkeer wordt ook aanzienlijk verminderd, wat erg belangrijk is voor kantoornetwerken.

web cliënt

Het bestaan ​​ervan volgt logischerwijs uit enkele eigenschappen van een thin client; inderdaad, als alle verzoeken door de server worden verwerkt en HTTP als transport wordt gebruikt, waarom zou u dan geen browser voor uw werk gebruiken? De manier waarop de webclient werkt verschilt niet van de thin client. Tegenwoordig zijn echter niet alle functies die door de thin client worden ondersteund, geïmplementeerd en werken ze correct in de webclient. Deels kan dit in de configuratie worden gecorrigeerd, deels legt het mechanisme voor het weergeven van informatie in de browser beperkingen op. 1C heeft echter een webclient en die werkt en niemand stoort je (alweer in theorie) om in het programma te werken terwijl je met een tablet op het strand ligt.

Nu over de vlieg in de zalf. Om goed te kunnen werken in de thin- en webclient-modus, moet de configuratie in de beheerde applicatiemodus draaien en alle functies in deze modus ondersteunen. De beheerde applicatiemodus is de belangrijkste voor het 8.2-platform en is behoorlijk radicaal anders dan voorheen, ook qua uiterlijk. De visueel gestuurde applicatie is te herkennen aan de nieuwe interface met tabbladen en hyperlinks:

Het is op zijn minst ongebruikelijk, vooral in vergelijking met de klassieke interface, maar haast je niet om je te verheugen als je de nieuwe interface ziet. Naast het uiterlijk moet de configuratie de uitvoering van al zijn functionaliteit op de server ondersteunen; het kan heel goed blijken dat in thin- en webclient-modi niet alle mogelijkheden beschikbaar zijn.

Tegenwoordig werkt slechts een deel van de typische configuraties in de beheerde applicatiemodus, zoals: Small Firm Management, Trade Management 11, Retail 2 en Salaris- en HR-management. Deze oplossingen kunnen optimaal profiteren van het nieuwe platform. Enterprise Accounting 2.0 maakt geen gebruik van een beheerde applicatiemodus en werkt niet in thin- en webclients, hetzelfde geldt voor veel oplossingen van derden, zoals “Kamin”, enz.

conclusies

Indien mogelijk moet u een thin client gebruiken, omdat u hierdoor alle berekeningen naar de serverkant kunt verschuiven en zelfs op langzame kanalen comfortabel kunt werken, incl. door het internet. Houd er rekening mee dat werken in de Configurator-modus alleen mogelijk is via een dikke client, die ook zal moeten worden gebruikt om te werken met configuraties die nog niet zijn overgezet naar de beheerde applicatiemodus.

De webclient moet worden gebruikt als het niet mogelijk is om een ​​dunne client te gebruiken, bijvoorbeeld vanaf de pc van iemand anders tijdens een zakenreis, maar u moet wel voorbereid zijn op de afwezigheid of onjuiste werking van sommige functies.

1C-servercluster

Nadat we met klanten te maken hebben gehad, gaan we verder met servers. Het systeem voorziet in het gebruik van drie soorten servers: 1C Server, DBMS-server en webserver. Het is belangrijk om te begrijpen dat de servergegevens volledig onafhankelijk van elkaar zijn; dit geeft het systeem flexibiliteit en maakt een rationeel gebruik van computerbronnen mogelijk.

Ook stelt het systeem geen eisen aan platforms. Je kunt zowel Windows- als Linux-servers delen, Apache en IIS kunnen als webserver worden gebruikt, PostgreSQL, MS SQL Server, IBM DB2 en Oracle worden ondersteund vanuit DBMS. Daarom houdt niemand u tegen om een ​​schema te maken waarin een 1C-server die op het Linux-platform draait, samenwerkt met een databaseserver die Windows Server en IIS draait, en omgekeerd. Bovendien kunt u meerdere DBMS-servers (en ook webservers) gebruiken door verschillende databases op verschillende servers te plaatsen.

Door deze aanpak kunt u de bestaande configuratie flexibel combineren, uitbreiden en wijzigen afhankelijk van de huidige behoeften, terwijl alles zo transparant mogelijk blijft voor de eindgebruiker. U kunt bijvoorbeeld resource-intensieve informatiebeveiliging naar een afzonderlijke DBMS-server verplaatsen door alleen de databaseverbindingsparameters in de serverinstellingen te wijzigen, zonder dat dit gevolgen heeft voor de clientinstellingen.

En tot slot het meest interessante: een cluster van 1C Enterprise-servers. Ja, dat klopt, niet een enkele server, maar een cluster van servers. Meestal begint hier de verwarring, vooral als er maar één server is. Alles valt echter op zijn plaats als we er rekening mee houden dat het concept van een servercluster in de eerste plaats logisch is, maar met deze aanpak kunt u het schema gemakkelijk schalen, waardoor de prestaties of fouttolerantie toenemen.

Elk cluster bestaat uit een 1C Enterprise Central Server en werkende servers. In de eenvoudigste configuratie zal dit dezelfde fysieke server zijn. Indien nodig kunnen we echter extra werkende servers toevoegen, waarvan de belasting wordt gecompenseerd door de centrale server. Hierdoor kunt u snel en transparant de rekenkracht van het systeem vergroten en de fouttolerantie vergroten. Het cluster stelt ook geen eisen aan platformhomogeniteit; het kan servers omvatten die zowel Windows als Linux draaien.

Welke conclusies kunnen uit het bovenstaande worden getrokken? Ten eerste is het 1C Enterprise client-server systeem zeer flexibel en kunt u de beschikbare computerbronnen optimaal gebruiken om het optimale resultaat te verkrijgen. Welke configuratie u moet kiezen, hangt af van de specifieke taken en de middelen die zijn toegewezen om deze op te lossen.

Als u bijvoorbeeld een lichte belasting heeft en een dikke client gebruikt en een configuratie die de beheerde applicatiemodus niet ondersteunt, is het zinvol om een ​​cluster van 1C-servers en een DBMS-server op één fysieke server te combineren, aangezien het erg verspillend is om Wijs een aparte machine toe voor de laag tussen de client en de database.

Omgekeerd is het bij gebruik van een beheerde applicatie in thin client-modus beter om de DBMS-server en het servercluster op te splitsen in verschillende servers, die elk voor hun eigen taak worden geoptimaliseerd.

RUR 50.400 Kopen
  • RUB 60.500 Kopen
  • RUR 86.400 Kopen
  • RUR 50.400 Kopen
  • RUB 60.500 Kopen
  • Wat is het verschil tussen de versies
    "Server 1C onderneming (x32) 8.2" En " Server 1C Enterprise (x86-64) 8.3" ?

  • Belastingseisen voor productieservers kunnen op afstand worden ingesteld
  • Stel en wijzig op afstand de belasting van productieservers
  • Automatische update van de thin client voor applicatiegebruikers
  • Ondersteunt populaire beveiligde internetverbindingen
  • Werken met Linux-besturingssysteem
  • Geoptimaliseerd en versneld werken met databases en bestanden
  • Add-ons voor het werken met wiskundige functies
  • Een x64-server heeft één fundamenteel verschil: de hoeveelheid beschikbare adresruimte. De x32-server heeft per werkproces maximaal 2 GB adresruimte beschikbaar. De x64-server heeft deze beperking niet. Hierdoor krijgt de x64-server de volgende voordelen:

    • 1. Aanzienlijk grotere schaalbaarheidslimiet.
      De x64-server is stabiel bestand tegen een grotere toename van de belasting van het systeem (toename van het aantal gelijktijdige gebruikers, toename van de werkintensiteit, enz.).
    • 2. Langere levensduur zonder opnieuw opstarten.
      Bij een bepaalde werkintensiteit kan het nodig zijn dat de x32-server periodiek opnieuw wordt opgestart om het effect van geheugenfragmentatie te elimineren. Een x64-server kan vrijwel onbeperkt werken zonder opnieuw op te starten.
    • 3. Beter gebruik van het RAM-geheugen van de computer waarop de 1C:Enterprise-server draait.
      Voor één x32-serverwerkproces is 2 GB adresruimte beschikbaar. Als er op uw computer meer RAM-geheugen is geïnstalleerd, moet u een passend aantal werkprocessen maken om dit te kunnen gebruiken. Een x64-server kan met één enkel werkproces een vrijwel onbeperkte hoeveelheid RAM gebruiken.



    Wanneer meer dan 15 gebruikers tegelijkertijd op één 1C:Enterprise 8-platform werken, is het effectiever om de client-server-modus (SQL) te gebruiken. Waarom moet u naast de server zelf kopen? licenties voor 1C Enterprise 8-server. Bij het werken in de client-servermodus stijgt de prijs van licenties vergeleken met het werken in de bestandsmodus, wat gepaard gaat met de gezamenlijke ontwikkeling van client-server-oplossingen door twee bedrijven: Microsoft en 1C.


    Gebruik makend van licenties voor server 1C enterprise 8 de client-side applicatie communiceert met een cluster van 1C-servers. Het cluster stuurt op zijn beurt een verzoek naar de databaseserver (PostgreSQL of MS SQL Server). Bovendien kunnen het 1C:Enterprise 8-servercluster en de databaseserver zich fysiek op verschillende computers bevinden. Hierdoor kan de beheerder de belasting over de servers verdelen.


    U kunt de meest resource-intensieve gegevensverwerkingstaken overbrengen naar een 1C:Enterprise 8-servercluster. In dit geval zal het programma aan de clientzijde, zelfs bij het uitvoeren van vrij complexe query's, alleen de noodzakelijke selectie ontvangen en zullen alle tussenliggende gegevensverwerkingsprocessen op de server worden uitgevoerd. Doorgaans is het vergroten van de capaciteit van een servercluster veel eenvoudiger dan het upgraden van de hele vloot gebruikerscomputers.


    Een van de belangrijkste voordelen van het gebruik van een architectuur met drie niveaus is het gemak van beheer en distributie van gebruikerstoegangsrechten tot de database. Bovendien heeft de gebruiker geen toegang tot informatie over de fysieke locatie van het platform of de database. Toegang vindt plaats via een cluster van servers van 1C:Enterprise 8. Bij het aanvragen van een database geeft de gebruiker alleen de naam van het cluster en de infobase op en voert hij de gebruikersnaam en het wachtwoord in.

    1C:Enterprise 8 gebruikt MS SQL Server voor efficiënt ophalen van gegevens:

    • het querymechanisme gaat uit van maximaal gebruik van MS SQL Server om berekeningen uit te voeren en rapporten te genereren
    • de verwerking van grote dynamische lijsten wordt uitgevoerd zonder een groot aantal zoekopdrachten in de database uit te voeren, en de gebruiker heeft de mogelijkheid om effectief te zoeken, filteren en sorteren.

    Het proces van het implementeren van de client-serverversie van het werk en het beheer ervan is vrij eenvoudig. De database wordt direct aangemaakt wanneer de configurator wordt gestart. Het programmapakket bevat een applicatie voor het beheer van de client-serverversie van het werk, waarmee de beheerder databases en gebruikersverbindingen kan configureren en beheren.

    Server 1C: Enterprise 8 (x86-64)

    Een 64-bit 1C:Enterprise 8.2-server is vereist om de x86-64-architectuur (EM64T, AMD64) onder Windows en Linux uit te voeren. Het belangrijkste voordeel van de 64-bit 1C:Enterprise 8.2-server is de vrijwel onbeperkte adresruimte die aan het werkproces wordt toegewezen, waardoor vrijwel volledig gebruik kan worden gemaakt van de mogelijkheden van de server.

    Voor interactie met de 64-bits 1C:Enterprise 8.2-server kan aan de gebruikerszijde de 32-bits 1C:Enterprise 8.2-applicatie worden gebruikt. 1C:Enterprise 8.2-servers (32-bit en 64-bit) werken met zowel 32-bit als 64-bit databases.

    Levering van een licentie voor de 1C:Enterprise 8-server (x86-64) is inclusief

    • Distributies van de 1C:Enterprise-clienttoepassing, 1C:Enterprise-server voor Linux en Windows (32- en 64-bit)
    • PostgreSQL-distributies (32-bit en 64-bit)
    • USB-beveiligingssleutel
    • Het boek "1C:Enterprise 8.2 client-server (x86-64). Kenmerken van installatie en gebruik"
    • Licentieovereenkomst voor het gebruik van 1C:Enterprise 8-server (x86-64).

    Kenmerken van het gebruik van een licentie voor de 1C:Enterprise 8-server:

    • toepassing van een serverlicentie is alleen toegestaan ​​binnen hetzelfde lokale netwerk met het basispakket
    • Fysiek licentie voor 1C:Enterprise 8-server is een hardwarebeveiligingssleutel (USB)
    • De beveiligingssleutel werkt met zowel de 32-bits als de 64-bits 1C:Enterprise-server 8.2, en ondersteunt ook het werken met 1C:Enterprise-server 8.1 en 8.0.
    • Licentie voor 1c-server verhoogt niet het totale aantal gebruikerswerkstations, dat wordt bepaald door het aantal clientlicenties in het lokale netwerk
    • De serverlicentie is niet van toepassing op basisversies.

    Is het nodig om 1C:Enterprise 8-clientlicenties te vervangen bij de migratie van een 32-bits naar een 64-bits server?

    Als de gebruiker al een 32-bits 1C:Enterprise 8-serverlicentie heeft en een 64-bits 1C-server moet kopen, worden 1C:Enterprise 8-clientlicenties niet vervangen. U kunt volgens het schema een licentie aanschaffen voor een 64-bit 1C:Enterprise 8-server door de bestaande licentie te vervangen door een x86-64-serverlicentie.

    Tegenwoordig is het financiële product 1C uitgegroeid van een boekhoudapplicatieprogramma voor de boekhouding tot een grootformaatcomplex voor de boekhouding en ondersteuning van vrijwel elk type bedrijf, dat beweert te concurreren met de ‘monsters’ van de wereld, SAP R/3 en Microsoft Dynamics AX ( Axapta).

    Russische bedrijven organiseren hun bedrijfsprocessen steeds vaker met moderne configuraties 1C 8.3 “Handelsbeheer”, “Productiebeheer”, “ERP Enterprise Management” en dergelijke. De afdelingen boekhouding, marketing, productie en verkoop worden overgebracht naar 1C en er wordt een integratie met IP-telefonie en documentbeheersystemen gerealiseerd. Echter, onmiddellijk na de bedoelingen "laten we in 1C werken", rijzen er vragen: op welke bronnen zal de centrale 1C-database werken, welke hardware zal het optimale resultaat opleveren voor een redelijk budget? In deze situatie is het gemakkelijker voor gigantische ondernemingen in de publieke sector – er is een duidelijke opdracht gegeven aan talrijke fulltime IT-integrators en architecten, de mechanismen van aanbestedingen met grote budgetten zijn begonnen, met de verplichte voorwaarde van het leveren van een kant-en-klaar concept en verdere ondersteuning van het systeem door gecertificeerde specialisten. Maar hoe zit het met bedrijven die zelf een van de 1C: Enterprise-producten willen aanschaffen en installeren en hun budget verstandig besteden?

    De meest fundamentele fout, als je geen rekening houdt met het gebruik van illegale of niet-geteste software, is het besparen op hardware voor 1C. Soortgelijke trends komen vooral veel voor bij startups en kleine bedrijven. Er is een mening dat het niet nodig is om dure serverapparatuur met Intel Xeon-processors te kopen, het is niet nodig om eerst de hoeveelheid RAM, de belasting van de CPU en het schijfsubsysteem te berekenen, dat het niet nodig is om redundantie van schijf te creëren arrays (Raid), om professionele schijfcontrollers te gebruiken met Cache-RAM en etc. Fouten in de IT-architectuurberekeningen voor 1C leiden tot ernstige gevolgen, waar het bedrijf achter komt nadat de bedrijfsprocessen zijn gestopt. Daarom is het erg belangrijk om aandacht te besteden aan elk hardwareknooppunt van het serverplatform voor 1C.

    Voorbeelden van typische problemen als gevolg van onjuiste constructie van IT-architectuur voor 1C:
    • “Vertraging” van de 1C-database en interfaces als gevolg van overmatige belasting van belangrijke bronnen (meestal RAM of schijfsubsysteem).
    • Fouten en crashes van het 1C-programma als gevolg van instabiliteit van verkeerd geselecteerde apparatuur.
    • Downtime van het bedrijf door het uitvallen van centrale hardware.
    • Gedeeltelijk of volledig verlies van 1C-gegevens als gevolg van willekeurige storingen in hardware of software.

    1C-serverhardwarebronnen

    Laten we hieronder de belangrijkste hardwarebronnen bekijken, waarvan een fout bij de selectie het hele bedrijfsautomatiseringsproject kan ruïneren wanneer u zelfstandig een server voor 1C maakt.

    Centrale verwerkingseenheid (CPU)

    Aantal fysieke CPU-kernen. Het onderwerp van eeuwige discussie op allerlei 1C-forums is wat belangrijker is: CPU-frequentie of multi-core. De wortels van deze tegenstrijdigheden gaan terug tot 1C 8.0 of zelfs 1C 7.7. De uitvoerbare processen van eerdere versies van 1C waren inderdaad puur single-core, d.w.z. ongeacht hoeveel cores de centrale processor levert, de 1C 8.0 enterprise server-service of de 1C 7.7 thin client bezetten altijd slechts één “nul” core in het besturingssysteem. Tegenwoordig is het beeld veranderd: het besturingssysteem verdeelt moedig de taken van één 1C: Enterprise-proces (rphost) over verschillende CPU-kernen (zie figuur 1).




    Figuur 1 - CPU-belasting wanneer 1C-serverprocessen actief zijn.


    Maar dit betekent absoluut niet dat als je een processor koopt met het maximale aantal cores, een 1C-server gekoppeld aan een DBMS (meestal bedoelen we met DBMS MS SQL) fantastische prestaties zal laten zien en boekhoudperioden opnieuw zal uitvoeren in de 1C programma zal een kwestie van een paar minuten zijn. U moet het verschil begrijpen tussen de snelheid van het uitvoeren van één bewerking en het proces van gelijktijdige verwerking van een grote hoeveelheid informatie. Het aantal fysieke kernen stelt ons in staat het probleem van de stabiliteit en prestaties van gelijktijdig werk met veel verschillende taken door de 1C:Enterprise-server en het DBMS op te lossen. Vandaar de conclusie: hoe groter het aantal 1C-gebruikers, hoe belangrijker het vereiste aantal cores zal zijn voor het comfortabele gelijktijdige werk van dezelfde gebruikers. De afhankelijkheid van het aantal gebruikers van het aantal cores voor de 1C-server wordt weergegeven in Tabel 1.


    Aantal gelijktijdige gebruikers op de 1C:Enterprise-server Processortype en -model Aantal gebruikte kernen
    Maximaal 10 gebruikers Aangepaste Intel Core van 3,1 Ghz Niet meer dan 2-4
    Maximaal 20 gebruikers Server Intel Xeon vanaf 2,4 Ghz Van 4 tot 6
    Maximaal 30 gebruikers Server Intel Xeon vanaf 2,6 Ghz 6 tot 8 kernen
    Maximaal 50 gebruikers Server Intel Xeon vanaf 2,4 Ghz – 2 st. Vanaf 4 per verwerker

    Tabel 1 - De verhouding tussen het aantal gebruikers op de 1C-server en het aanbevolen aantal CPU-cores.


    CPU-frequentie. In tegenstelling tot het aantal cores beïnvloedt de frequentie van de centrale processor precies de verwerkingssnelheid van één deel van een taak tegelijk, wat het populairste criterium is voor 1C-eindgebruikers. De processorfrequentie is precies de parameter die, indien verhoogd, de snelheid van het verwerken van verzoeken door de 1C-server en het DBMS voor een individuele gebruiker zal verhogen en de tijd zal verkorten waarin het systeem het eindresultaat aan de eindgebruiker levert. Ter bevestiging hiervan maakte de bekende specialist Gilev in een van zijn artikelen gebaseerd op praktische tests een ondubbelzinnige conclusie: “de snelheid van 1C wordt veel meer beïnvloed door de frequentie van de centrale processor dan de andere parameters ervan, of het nu gaat om de 1C-eindclient of de 1C: Enterprise-server.” Dit is de architectuur van het 1C-programma.

    Cache, virtualisatie en hyperthreading. In het verleden, toen multi-core processors nog niet zo gangbaar waren, kwam Intel met een speciale centrale processortechnologie die multi-cores simuleerde, de zogenaamde ‘hyperthreading’. Nadat dit is ingeschakeld, wordt één fysieke processor (één fysieke kern) door het besturingssysteem gedefinieerd als twee afzonderlijke processors (twee logische kernen). We raden aan om “hyperthreading” uit te schakelen voor de 1C-server. Deze technologie brengt geen versnelling naar 1C.

    Wanneer u virtuele machines gebruikt voor een 1C:Enterprise-server en een DBMS, moet u er rekening mee houden dat de kernen van virtuele machines “zwakker” zijn dan echte fysieke kernen, hoewel ze hetzelfde worden genoemd: “kernen”. Er zijn geen exacte officiële coëfficiënten, maar artikelen op technische portals van Microsoft raden aan om 4-6 processorcores per fysieke kern in een virtuele machine te tellen.

    Een cache is een geavanceerd geheugen dat door de processor wordt gebruikt om de gemiddelde toegangstijd tot het computergeheugen te verkorten. In feite is het een integraal onderdeel van de processor, omdat het zich op dezelfde chip bevindt en deel uitmaakt van de functionele blokken. Alles is hier heel duidelijk: hoe groter de cachegrootte, hoe grotere "stukjes" informatie de processor kan verwerken. Normaal gesproken hangt de grootte van de cache af van het processormodel: hoe duurder het model, hoe groter de hoeveelheid cachegeheugen. Wij geloven echter niet dat de grootte van de processorcache een radicale invloed heeft op de prestaties van de 1C-server en DBMS. Dit behoort eerder tot het gebied van ‘fine tuning’.

    Processortype. Iedereen weet dat hardware is onderverdeeld in server en gebruiker. Is het in sommige gevallen mogelijk om een ​​goedkope, centrale gebruikersprocessor te gebruiken als alternatief voor een professionele, maar dure server-CPU? Het blijkt dat het mogelijk is. Laten we eens naar een tabel kijken waarin de belangrijkste parameters van twee versies van centrale Intel-processors worden vergeleken (zie Tabel 2).

    Aangepaste Intel® Core™ i7-6700T-processor (8M cache, tot 3,60 GHz) Server Intel® Xeon®-processor E5-2680 v2 (25M cache, 2,80 GHz)
    Cachegeheugen 8 MB 25MB
    Systeembusfrequentie 8 GT/s DMI3 8 GT/s QPI
    Commando ingesteld 64-bit SSE4.1/4.2, AVX 2.0 64-bits AVX 2.0
    Aantal kernen 4 10
    Basiskloksnelheid van de processor 2,8 GHz 2,8 GHz
    Max. hoeveelheid en type RAM 64 GB niet-ECC 768 GB ECC
    Geschatte kosten 354$ 1 280$

    Tabel 2 - Vergelijking van de belangrijkste parameters van thuis- en server-CPU's van Intel.


    Zoals we kunnen zien, heeft de serverprocessor veel hogere waarden in het aantal cores, cachegrootte, ondersteuning voor meer RAM en uiteraard een hogere prijs. Een server-CPU verschilt echter praktisch niet van een gebruikers-CPU wat betreft ondersteuning van bepaalde processoropdrachten (instructies) en kloksnelheid. Hieruit kunnen we concluderen dat het voor kleine organisaties heel acceptabel is om een ​​op maat gemaakte centrale processor voor de 1C:Enterprise server te gebruiken. De enige vraag is dat een op maat gemaakte processor niet in een moederbordsocket van een server kan worden geïnstalleerd en server-RAM met pariteitscontrole (ECC) kan ondersteunen, en dat het gebruik van op maat gemaakte componenten risico's met zich meebrengt voor de stabiliteit van het hele systeem als geheel.

    Random Access Memory (RAM)

    Type RAM-geheugen. Random Access Memory (RAM) varieert afhankelijk van het doel ervan - voor serversystemen met meerdere gebruikers of voor persoonlijke apparaten - pc's, laptops, nettops, thin clients, enz. Net als in het geval van de CPU - de belangrijkste parameters van RAM-modules zijn ongeveer gelijkwaardig - blijft modern RAM voor een pc praktisch niet achter bij het server-RAM, noch in het volume van één strip, noch in de klokfrequentie, of in het type DDR-modules. De verschillen tussen server-RAM en “thuis”-RAM liggen in de gebruiksscenario’s en het doel van het hardwareplatform – vandaar de hogere kosten:

    • Server-RAM heeft pariteitscontrole ECC (Error Correction Code) - een coderings-/decoderingstechniek waarmee u fouten in de informatieverwerking rechtstreeks door de RAM-module kunt corrigeren
    • Een servermoederbord heeft veel meer slots voor het installeren van RAM-modules dan een gewone pc.
    • Server-RAM bevat registers (buffers) die gegevensbuffering bieden (gedeeltelijk geregistreerd of volledig volledig gebufferd), waardoor de belasting van de geheugencontroller bij veel gelijktijdige verzoeken wordt verminderd. Gebufferde FB-DIMM's zijn niet compatibel met niet-gebufferde FB-DIMM's.
    • Geregistreerde geheugenmodules zorgen ook voor een grotere geheugenschaalbaarheid - de aanwezigheid van registers maakt het mogelijk om meer modules in één kanaal te installeren.

    We kunnen concluderen dat het gebruik van server-RAM-modules het mogelijk maakt om grote hoeveelheden RAM in één systeem te installeren, en ECC-pariteitscontroletechnieken en het gebruik van buffers zorgen ervoor dat het serverbesturingssysteem stabiel en snel kan werken.

    Hoeveelheid RAM. Een van de belangrijkste factoren voor hoge prestaties van de 1C-server en DBMS is voldoende RAM. Uiteraard hangt de werkelijke RAM-behoefte af van vele factoren: het type 1C-configuratie, het aantal 1C:Enterprise-serverprocessen, de grootte van de DBMS-database, enzovoort. Het is echter mogelijk om bij benadering de afhankelijkheid van de hoeveelheid RAM af te leiden van het aantal gebruikers (zie Tabel 3).


    RAM-vereisten voor 1c-server en DBMS Maximaal 10 gebruikers Maximaal 20 gebruikers Maximaal 30 gebruikers Maximaal 50 gebruikers
    Server 1c: Onderneming 4-6GB 6-8GB 12-14 GB 18-24 GB
    MS SQL-server 4-6GB 8-10 GB 16-18 GB 24-28 GB

    Tabel 3 - Geschatte verhouding van het aantal 1C-servergebruikers en aanbevolen RAM voor 1C:Enterprise-serverprocessen en MS SQL-server.


    Wat betreft 1C:Enterprise-serverprocessen (rphost.exe): moderne 1C-platforms staan ​​u niet toe om het aantal 1C-serverprocessen handmatig op te geven. In plaats daarvan vereist het systeem dat u parameters instelt zoals het aantal infobases en het aantal gebruikers per rphost.exe-proces, waarna het automatisch het optimale aantal 1C:Enterprise-serverprocessen bepaalt. U kunt het proces rphost.exe ook configureren om RAM soepel vrij te geven als het volume een vooraf bepaalde drempel overschrijdt. In dit geval maakt de 1C-server een nieuw proces rphost.exe aan, dat geleidelijk de 1C-taken overneemt, waardoor het vereiste 1C-proces kan worden ontlast.

    Houd er ook rekening mee dat de hoeveelheid RAM die aan de SQL-service wordt toegewezen als voldoende wordt beschouwd als de SQL-gegevens in de cache minimaal 90% bedragen. Deze statistiek is best handig, omdat... Je kunt niet alleen kijken naar de hoeveelheid RAM die door een SQL-server wordt verbruikt - recente releases van SQL hebben dynamisch RAM verbruikt - de maximaal mogelijke hoeveelheid RAM wordt opgepakt en vrijgegeven wanneer RAM door andere processen wordt opgevraagd.

    RAM-frequentie. Kort gezegd is dit de bandbreedte van de kanalen waarlangs gegevens naar het moederbord worden verzonden, en van daaruit naar de processor. Het is wenselijk dat deze parameter overeenkomt met of groter is dan de toegestane frequentie van het moederbord, anders dreigt het RAM-transmissiekanaal een knelpunt te worden. Binnen één type DDR heeft het verhogen/verlagen van de frequentie geen fundamentele invloed op de prestaties van de 1C-server en behoort het meer tot het gebied van ‘fine tuning’.

    RAM-timings. Dit is de latentie of latentie van het RAM. Deze parameter wordt gekenmerkt door de datavertragingstijd tijdens de overgang tussen verschillende modules van de RAM-chip. Lagere waarden betekenen snellere prestaties. De impact op de algehele prestaties van het serversysteem, en nog meer op de 1C:Enterprise-server, is echter laag. Normaal gesproken besteden alleen gamers en overklokkers aandacht aan deze parameters, voor wie elke extra prestatiedaling het meest waardevol is.

    Schijfsubsysteem en HDD-harde schijven

    Controllers voor harde schijven. Het belangrijkste apparaat voor het aansluiten en organiseren van harde schijven in een hardwaresysteem is de harde schijfcontroller. Het bestaat in twee soorten:

    1. Ingebouwd – de controllermodule is in het systeem ingebouwd, de harde schijfbehuizing is rechtstreeks op het moederbord aangesloten. Het wordt als een meer economische oplossing beschouwd.

    2. Extern – is een afzonderlijke printplaat (apparaat) die is aangesloten op de moederbordconnector. Het wordt als een professionelere oplossing beschouwd vanwege het feit dat het afzonderlijke chips heeft voor het uitvoeren en monitoren van bewerkingen met HDD-harde schijven. Aanbevolen voor belangrijke serversystemen, zoals 1C:Enterprise-server en DBMS.

    Er is ook een derde type: een apparaat voor het ontvangen/verzenden van blokgegevens via iSCSI, FiberChanel, InfiniBand, SAS-kanalen. Bij deze optie wordt het schijfsubsysteem echter “verwijderd” naar een afzonderlijk gegevensopslagapparaat (DSD), dat via een optische of koperkabel met de server is verbonden. In ons artikel analyseren we de vereisten voor een standalone server voor 1C, dus we zullen dit type niet overwegen.

    Typen en niveaus van RAID-arrays. Het is een datavirtualisatietechnologie die meerdere schijven combineert tot een logische eenheid voor redundantie en verbeterde prestaties. Laten we eens kijken naar de meest populaire niveaus van de RAID-specificatie:

    • RAID 0 (“Striping”) Het heeft geen redundantie en verdeelt informatie onmiddellijk over alle schijven in de array in de vorm van kleine blokken (“stripes”). Hierdoor nemen de prestaties aanzienlijk toe, maar lijdt de betrouwbaarheid eronder. We raden het gebruik van dit arraytype af, ondanks de prestatievoordelen.
    • RAID 1 (“Spiegelen”, “spiegelen”). Het biedt bescherming tegen uitval van de helft van de beschikbare hardware (in het algemeen één van de twee harde schijven), biedt een acceptabele schrijfsnelheid en wint aan leessnelheid als gevolg van parallellisatie van verzoeken. Dit type array ondersteunt een 1C+DBMS-server volledig voor maximaal 25-30 gebruikers, vooral als er 15K SAS-schijven of SSD's worden gebruikt.
    • RAID-10. Gespiegelde schijvenparen zijn in een "keten" gerangschikt, zodat het volume van het resulterende volume de capaciteit van één harde schijf kan overschrijden. Naar onze mening het meest succesvolle type disk-array, omdat... het combineert de betrouwbaarheid van RAID1 en de snelheid van RAID 0. In combinatie met SAS 15K-schijven of SSD's kan het worden gebruikt voor 1C-servers van 40-50 gebruikers.
    • RAID-5. Beroemd om zijn efficiëntie. Door de capaciteit van slechts één schijf uit de array op te offeren voor redundantie, verkrijgen we bescherming tegen uitval van de harde schijven van het systeem. (de variant van RAID 6 vereist twee extra harde schijven om checksums mogelijk te maken, maar het bespaart gegevens zelfs als twee schijven uitvallen). Dit type array is economisch, betrouwbaar en heeft behoorlijk merkbare leesprestaties. Helaas is het knelpunt van deze array de lage schrijfsnelheid, waardoor deze comfortabel te gebruiken is met 1C-serverconfiguraties voor maximaal 15-20 gebruikers. Het is ook optimaal voor toegepaste doeleinden: het opslaan van bestandsgegevens, documentstroomarchieven, enz.

    Soorten harde schijf-interfaces. Op type verbinding zijn harde schijven verdeeld:

    • HDD Sata Home. De goedkoopste optie voor harde schijven, ontworpen voor gebruik in thuis-pc's of netwerkmediacentra. Het wordt sterk afgeraden om dergelijke apparaten in 1c-servers te gebruiken vanwege de lage fouttolerantie en operationele stabiliteit - de componenten van deze schijven zijn simpelweg niet ontworpen om 24/7 te werken en vallen snel uit.
    • HDD Sata-server. Deze naam verwijst meestal naar harde schijven met een Sata-interface en een spiltoerental van 7.200 rpm. Het voorvoegsel “Server” betekent dat dergelijke schijven zijn getest op prestaties in serversystemen en zijn ontworpen voor een stabiele werking 24/7. Wordt doorgaans gebruikt in 1C-servers om grote hoeveelheden informatie op te slaan waarvoor geen hoge verwerkingssnelheid vereist is. Bijvoorbeeld 1C-archiefdatabases, uitwisselingsmappen, downloadbestanden voor kantoordocumenten, enz.
    • HDD SAS-server. Er zijn verschillende verschillen tussen de SAS-interface (een moderne analoog van SCSI) en de Sata-interface. Dit is de gemiddelde schijfresponstijd en het werken in een gedeelde schijfplank, en het werken met de HDD-controller met hogere informatie-uitwisselingssnelheden - tot 6 GB/s (vergeleken met Sata 3 GB/s). Maar het belangrijkste voordeel is het bestaan ​​van SAS-schijfmodellen met een spiltoerental van 15.000 tpm. Dankzij deze ontwerpfunctie kunnen SAS-schijven bijna drie keer zoveel I/O-bewerkingen per seconde uitvoeren in vergelijking met Sata Server HDD's. Dergelijke SAS-schijven hebben een kleine capaciteit en worden aanbevolen voor gebruik voor 1c-hoofddatabases met een constant hoge werklast.
    • SSD-schijven. Deze schijven verschillen niet van de vorige in de verbindingsinterface, maar in hun ontwerp: ze zijn solid-state en hebben geen bewegende delen, d.w.z. In wezen zijn het analogen van "flashdrives". Dergelijke technologieën zorgen ervoor dat SSD-schijven een “exorbitant” aantal invoer-/uitvoerbewerkingen per seconde kunnen produceren (van 10.000 bewerkingen op de eenvoudigste SSD-modellen). Dit voordeel heeft echter ook een keerzijde: de hogere prijs van SSD-schijven en de “drempel van hun levensduur”, die afhangt van de limiet op het aantal schrijfbewerkingen naar SSD-blokken. Elk jaar worden deze schijven echter betaalbaarder en duurzamer. Omdat de kosten van SSD-schijven vele malen stijgen, afhankelijk van het volume, zou het het meest redelijk zijn om ze te gebruiken voor kleine maar overbelaste 1c-databases die een hoge toegangssnelheid vereisen, evenals voor tijdelijke databases van het TempDB DBMS.

    IOPS – aantal invoer-/uitvoerbewerkingen per seconde. In wezen is IOPS het aantal informatieblokken dat in 1 seconde tijd naar de media kan worden gelezen of geschreven. Dat wil zeggen, in zijn pure vorm is dit de belangrijkste parameter van de snelheid van informatieverwerking door de harde schijf, die de prestaties van de 1C-server beïnvloedt. Als we ter vergelijking een standaard informatieblok van 4 kb nemen, kunnen we grofweg de volgende IOPS-indicatoren benadrukken (zie Tabel 4).


    HDD IOPS Koppel
    7.200 rpm SATA-schijven ~75-100 IOPS SATA 3Gb/s
    10.000 rpm SATA-schijven ~125-150 IOPS SATA 3Gb/s
    SAS-schijven van 10.000 rpm ~140 IOPS SAS
    SAS-schijven van 15.000 rpm ~175-210 IOPS SAS
    SSD-schijven Vanaf 8.000 IOPS SAS of SATA

    Tabel 4 - IOPS-indicatoren op verschillende soorten harde schijven bij het werken met een datablok van 4 kb.


    Natuurlijk heeft IOPS in zijn pure vorm weinig nut voor het berekenen van de uiteindelijke berekeningen en vereisten voor het schijfsubsysteem van een 1C-server. De totale prestaties van het schijfsubsysteem bestaan ​​immers uit het type RAID-array, schijftypen en indicatoren van de interfacesnelheid, responstijd (Latency), willekeurige toegangstijd, percentage van het aantal lees- en schrijfbewerkingen en vele andere factoren . Deze parameter is naar onze mening echter een belangrijke indicator voor de snelheid van het schijfsubsysteem en helpt in de stadia van het ontwikkelen van een serverarchitectuur te bepalen welk type harde schijven het meest geschikt is voor bepaalde behoeften. (zie RAID-calculator)

    Oefentoets

    Wat is de relatie tussen het aantal 1C-gebruikers en het aantal iops? Ons team voerde een praktische test uit (zie Tabel 5) om de belasting van het schijfsubsysteem te meten met een bepaald aantal 1C-sessies. Omdat het 1C-systeem een ​​programmeerbare omgeving is en elk bedrijf zijn eigen set bedrijfsprocessen in 1C kan hebben, hadden we voor het testen een koppeling nodig met een bepaalde referentieconfiguratie. In deze hoedanigheid werd gekozen voor een gespecialiseerde configuratie van de 1C CPU, ontwikkeld voor testen en debuggen. Op basis daarvan hebben onze 1C-programmeurs een aantal queries toegevoegd die de normale werking van een gewone onderneming simuleren, met de vorming van boekhoudquery's, boekingen, het opstellen van rapporten en het plaatsen van operationele documenten.


    Systeem schijf Schijf met databases
    Iteratie Gebruikers IOPS schrijven IOPS gelezen IOPS schrijven IOPS gelezen
    Gemiddelde waarden
    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

    Tabel 5 - Resultaten van een praktische test van de belasting van het schijfsubsysteem.


    Uit de testresultaten blijkt dat het leeuwendeel van de belasting van het schijfsubsysteem plaatsvindt wanneer 1C schrijft naar de database van de DBMS-server en naar de systeemschijf van het besturingssysteem (waarop standaard de 1C:Enterprise-cacheserverbestanden staan). .

    Tegelijkertijd hebben we tijdens de testperiode - 5 werkdagen - praktijkmetingen uitgevoerd aan reeds werkende 1C UPP 8.2-databases. Ze laten zien dat een 1C + DBMS-server gemiddeld twee keer zoveel iops verbruikt “voor schrijven” als “voor lezen”. Dit verschil tussen synthetische tests en monitoringstatistieken van een echte 1C-server is te wijten aan zowel periodieke bemonstering van informatiegegevens uit de database tijdens de werkdag als het regelmatig lezen van de database tijdens DBMS-back-up of replicatie.

    Andere componenten van de harde schijf die de moeite waard zijn om op te letten.

    • Fysieke grootte (vormfactor). Tegenwoordig zijn bijna alle bekende schijven voor personal computers en servers 3,5 of 2,5 inch groot. Houd er rekening mee dat 2,5-inch schijven niet in grote volumes worden geproduceerd.
    • Willekeurige toegangstijd- de tijd gedurende welke de harde schijf gegarandeerd een lees-schrijfbewerking uitvoert op een bepaald gedeelte van de magnetische schijf. In de regel hebben serverschijven betere resultaten. Dit is een vrij belangrijke parameter bij het bouwen van een diskarray voor een 1C DBMS-server.
    • Spilsnelheid- het aantal omwentelingen van de harde schijf-spindel per minuut. Alles is hier eenvoudig en duidelijk: de toegangstijd en de gemiddelde gegevensoverdrachtsnelheid van de harde schijf zijn afhankelijk van de rotatiesnelheid van de spil met magnetische platen.
    • Buffercapaciteit harde schijf- een buffer is een tijdelijk geheugen dat is ontworpen om verschillen in de snelheid van het lezen/schrijven van een harde schijf en het overbrengen van gegevens via de interface op te heffen.
    • Betrouwbaarheid- wordt gedefinieerd als de gemiddelde tijd tussen storingen (MTBF). In de regel is de betrouwbaarheid direct afhankelijk van de fabrikant, de prijs en de omgeving waarin de harde schijf wordt gebruikt. Wij beschouwen betrouwbaarheid als een belangrijke parameter van een harde schijf die de werkingskwaliteit van een 1C-server beïnvloedt.

    De juiste keuze: thuis- of serverhardware

    De prijsverlaging van hardwarecomponenten en de actieve groei van de potentiële capaciteit van 'homecomputers' leiden tot een andere rampzalige misvatting: kleine bedrijven gebruiken werkstations actief als platform voor samenwerking met 1C-databases. Tegelijkertijd niet beseffend dat er naast de kernfrequentieparameters, de geheugengrootte en de mogelijkheid om goedkope SSD-schijven op een gewone pc te gebruiken, er meer systemische, diepere en belangrijkere vereisten zijn voor de werking van hardware in een commerciële structuur (zie Tabel 6).

    Om het probleem van het organiseren van een 1C-server op te lossen, bieden wij verhuur van 1C-cloudservers aan in datacenters van Tier III-klasse. De economische haalbaarheid van het huren van een server vindt u in het artikel.


    Opties Server Persoonlijke computer
    Toereikendheid van de rekenkracht V V
    Gegarandeerde systeembeschikbaarheid 24/7 V X
    Betrouwbaarheid en stabiliteit van belangrijke hardwarecomponenten V X
    Mogelijkheid voor extern stroom- en consolebeheer (IPMI). V X
    Budgetkosten van het hardwareplatform X V

    Tabel 6 - Vergelijking van thuis- en serverhardware volgens de criteria die vereist zijn voor een hoogwaardige werking van de 1C-server.

    Fouttolerante werking van 1C

    Een van de belangrijke vereisten voor het 1C-servergedeelte is natuurlijk de stabiliteit van de werking en de weerstand tegen storingen. Microsoft en 1C zelf hebben veel moeite in deze richting gestoken, door technologieën te creëren voor het clusteren van hun diensten op een redelijk serieus niveau (zie Tabel 7).


    Fouttolerantie van SQL-servers Gebaseerd op het concept van één gemeenschappelijk datawarehouse. Ingebouwde SQL Server-clusteringtechnologie combineert twee SQL-servers in één cluster met één virtueel IP-adres en één database. Dus als de hoofd-SQL uitvalt, worden query's automatisch overgebracht naar de back-up.
    De tweede optie is de onlangs geïntroduceerde AlwaysOn - een technologie voor automatische regelmatige replicatie van DBMS-databases tussen de hoofd- en back-up-SQL-servers. Tegelijkertijd bevindt de dubbele SQL-server zich fysiek op een andere opslag, wat de risicobestendigheid vergroot
    Fouttolerantie van 1C: Enterprise-serverservice 1C Enterprise-servers zijn gecombineerd in een actief-actief softwarefouttolerant cluster met automatische failover en opslag van huidige sessies.

    Tabel 7 - Fouttolerantie van SQL- en 1C-servers.


    Elke technologie heeft echter zowel voor- als nadelen. Naast de belangrijkste voordelen moet u enkele kenmerken van 1C- en SQL-clustering () kennen om te voorkomen dat de prestaties van de service verslechteren:

    • SQL-clustering maakt gebruik van een virtueel IP-adres. Dit betekent dat interactie tussen de 1C:Enterprise-server en MS SQL altijd via de netwerkinterface zal plaatsvinden, zelfs als beide services op hetzelfde besturingssysteem staan. Wat dienovereenkomstig zal leiden tot een langzamere werking van 1C in vergelijking met de klassieke versie van de architectuur die door 1C zelf wordt aanbevolen: het gebruik van gedeeld geheugen. In principe kan dit obstakel worden “omzeild” met behulp van bijvoorbeeld MS SQL Log Shipping-technologie. In dit geval zal het overschakelen naar een back-up SQL-server echter niet langer automatisch gebeuren en kan deze optie niet als een volwaardig cluster worden beschouwd.
    • Een SQL-cluster vereist grote budgetuitgaven. Als we het hebben over klassieke clustering van de MS SQL-service, is één databaseopslag vereist, verbonden met de hoofd- en back-up-SQL-servers. Meestal wordt deze rol gespeeld door dure opslagsystemen, waardoor het budget met een orde van grootte toeneemt. Als we het hebben over het nieuwerwetse AlwaysOn, is er geen enkele databaseopslag vereist; de technologie werkt met lokale schijven van de hoofd- en back-upservers via het netwerk. Maar je hebt een versie van SQL Server Enterprise nodig, waarvan de licentie vier keer meer kost dan een reguliere SQL Server Standard.
    • Aantal licenties. Ondanks het feit dat de tweede SQL-server geen gegevens verwerkt en in reserve staat, moeten licenties voor beide servers worden aangeschaft - zowel de hoofdserver als de back-up. Bijzonder pijnlijk voor het budget zijn de SQL Server Enterprise-licenties voor het implementeren van een gedistribueerd cluster van AlwaysOn-groepen met hoge beschikbaarheid.
    • Het is niet nodig om goedkope, op maat gemaakte hardware te gebruiken voor zo'n belangrijke dienst als het boekhoudsysteem van de hele onderneming. De prijs bepaalt in dit geval direct de kwaliteit, stabiliteit en duurzaamheid van een dergelijk platform.
    • Bij het kiezen van een serverplatform raden wij aan om te letten op de aanwezigheid van twee voedingen, een externe IPMI-kaart en het merk van de fabrikant. Uiteraard kiest iedereen een oplossing op basis van zijn/haar budget; topmerken zijn soms te duur en niet helemaal passend, maar op de fabrikant moet je niet bezuinigen, dit kan bij het werken met 1C leiden tot oncontroleerbare overmacht. Persoonlijk gebruiken we Supermicro-serverplatforms in combinatie met Intel-server-CPU's.
    • Er is een mening, bevestigd door de praktijk, dat de prestaties van 1C meer afhankelijk zijn van de hogere frequentie van de CPU dan van het aantal geleverde cores.
    • Het is niet nodig om te besparen op de hoeveelheid RAM die is toegewezen voor de 1C-server en SQL-service. RAM is momenteel een redelijk goedkope hulpbron, en het tekort ervan (zelfs met 10-15 procent) zal leiden tot een aanzienlijke daling van de prestaties van het 1C-systeem, omdat een langzamer wisselsysteem wordt ingeschakeld. Bovendien zal swap het schijfsubsysteem extra belasten, wat de situatie nog verder zal verergeren.
    • Het bedrijf EFSOL biedt uitgebreide diensten voor het selecteren van een 1C-server, waaronder: ontwerp, aankoop, configuratie en onderhoud van 1C-servers.
    • Een alternatief voor het creëren van uw eigen 1C-server is het huren van een 1C-server. Cloudtechnologieën maken het mogelijk om tegen lage maandelijkse kosten een betrouwbare, fouttolerante service te verkrijgen voor comfortabel werken in 1C.

    Systeemintegratie. Overleg plegen

    Wanneer er vijf of meer gebruikers zijn, en bij grote databasevolumes, kan de gebruiker het probleem van “1C trage werking” tegenkomen. In dit geval wordt het gebruik aanbevolen client-serverversie van het werk.

    Voordelen van de client-serverversie van het werk

      De snelheid, betrouwbaarheid en veiligheid van het systeem nemen toe.

      Bij het verwerken van gegevens wordt de belasting over de servers verdeeld.

      Betere bescherming van uw gegevens tegen computer- en lokale netwerkstoringen.

      Gemak van administratie.

      Kostenreductie (bij gebruik van 1C Linux).

    Servergebruik 1C: Onderneming 8 stelt u in staat zich daarop te concentreren op de meest omvangrijke gegevensverwerkingsactiviteiten. Hierdoor komt de kracht vrij van computers waarop gebruikers het 1C-programma uitvoeren. Dit verhoogt de productiviteit hun werk.


    Vanuit technisch oogpunt maakt de clienttoepassing op de computer van de gebruiker contact met het 1C: Enterprise 8-servercluster, en het cluster neemt, wanneer dat nodig is, contact op met de databaseserver (we raden het gebruik van MS SQL Server DBMS aan).


    De beheerder heeft ook de mogelijkheid om de belasting tussen servers te verdelen, en tegelijkertijd kunnen het 1C-servercluster en de MS SQL Server-databaseserver zich op verschillende computers bevinden.

    Om het werk in de client-serverversie te organiseren, hebt u het volgende nodig:

      licentie voor 1C-server: Enterprise 8

      1C: Enterprise 8 clientlicenties (standaardlicenties voor het platform) voor het overeenkomstige aantal werkstations.

    Er zijn twee soorten MS SQL-licenties:

      Licenties voor volledig gebruik

      Runtime-licenties

    Licenties voor volledig gebruik– dit zijn licenties zonder beperkingen op het gebruiksrecht. Een gebruiker met 1C: Enterprise 8-licenties kan Microsoft SQL Server gebruiken met andere applicaties dan 1C: Enterprise 8.


    Runtime-licenties– dit zijn licenties die het recht geven om Microsoft SQL Server uitsluitend te gebruiken voor het werken met 1C: Enterprise 8.

    De licentie voor de server- en clienttoegang moet uit dezelfde categorie komen: Runtime of Volledig gebruik. Er is geen voorziening voor het vervangen van Runtime-licenties door licenties voor volledig gebruik.

    ServerMINI

    MINI-server is een 1C: Enterprise 8.3-server, die is ontworpen om niet meer dan vijf gebruikers te verbinden (vijf sessies in 1C: Enterprise-modus en één in Configurator-modus).

    Om in de client-serverversie met de MINI Server te kunnen werken, hebt u bovendien het volgende nodig:

      MS SQL Server-licentie

      MS SQL Server-clientlicenties voor het overeenkomstige aantal werkstations

      1C-clientlicenties: Enterprise 8 (standaardlicenties voor het platform) voor het overeenkomstige aantal werkstations

    Er wordt voorzien in een overgang van MINI-serverlicenties naar licenties op PRO-niveau. Dat wil zeggen dat als het aantal gebruikers toeneemt, u tegen gunstige voorwaarden kunt overstappen naar een licentie op PROF-niveau.

    Cloud-optie

    U kunt één of meerdere virtuele servers met de gewenste configuratie huren. Virtuele servers worden gehost op merkapparatuur in een betrouwbaar datacenter, wat een hoge beschikbaarheid van services garandeert.

    Via het meegeleverde controlepaneel kunt u uw gehuurde servers volledig beheren:

      zelf virtuele servers maken en klonen,

      hun configuratie wijzigen,

      inschakelen, uitschakelen, besturingssysteem installeren,

      netwerkconfiguratie beheren,

      toepassingen op internet publiceren

      en andere.

    In dit geval is het niet nodig om apparatuur en licenties aan te schaffen voor de 1C: Enterprise-server en MS SQL Server,
    Dit alles kun je gewoon huren!



    Code Naam Aanbevolen winkelprijs, wrijven.

    1C:Onderneming 8.3. MINI-server voor 5 aansluitingen. Elektronische levering

    Kopen

    1C:Onderneming 8.3 PROF. Serverlicentie (x86-64). Elektronische levering

    Kopen

    Licentie voor MS SQL Server Standard 2016 Volledig gebruik voor 1C: Enterprise 8-gebruikers. Elektronische levering

    Kopen

    Licentie voor MS SQL Server 2016 Standard Runtime voor 1C: Enterprise 8-gebruikers. Elektronische levering

    Kopen

    Huur een server in de cloud

    Licenties voor extra zitplaatsen

    Licenties voor extra MS SQL Server 2016-seats voor volledig gebruik

    Klanttoegang voor 1 maandbedrag tot MS SQL Server 2016 Volledig gebruik voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 5 roebel tot MS SQL Server 2016 Volledig gebruik voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 10 roebel tot MS SQL Server 2016 Volledig gebruik voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 20 roebel tot MS SQL Server 2016 Volledig gebruik voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 50 roebel tot MS SQL Server 2016 Volledig gebruik voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 100 roebel tot MS SQL Server 2016 Volledig gebruik voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Licenties voor extra MS SQL Server 2016 Runtime-seats

    Klanttoegang voor 1 maandbedrag tot MS SQL Server 2016 Runtime voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 5 roebel tot MS SQL Server 2016 Runtime voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 10 roebel tot MS SQL Server 2016 Runtime voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 20 roebel tot MS SQL Server 2016 Runtime voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 50 roebel tot MS SQL Server 2016 Runtime voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Clienttoegang voor 100 roebel tot MS SQL Server 2016 Runtime voor 1C: Enterprise 8. Elektronische levering

    Kopen

    Klantlicenties 1C: Enterprise

    1C: Enterprise 8. Clientlicentie voor 1 werkstation

    Client-server-bedieningsvariant

    Een van de alternatieve opties voor het platform is client-server. “Client – ​​​​Server” is gebaseerd op een architectuur op 3 niveaus.

    De client-serverarchitectuur verdeelt het werksysteem in drie delen, die op een bepaalde manier met elkaar interacteren

    • klant applicatie
    • cluster - 1C-servers: Enterprise
    • database server.

    De clienttoepassing van elke gebruiker, die met een cluster van servers werkt, heeft indien nodig toegang tot de database op de server.

    In dit geval is het helemaal niet nodig dat de databaseserver en het servercluster zich op dezelfde computer bevinden; het kan een andere computer zijn. Dergelijke functies helpen de belasting proportioneel over servers te verdelen.

    Het gebruik van een servercluster is een kans om zich daarop te concentreren op de implementatie van grootschalige databaseverwerkingsoperaties. Het kan hierbij gaan om het uitvoeren van grote complexe queries, waarbij het gebruikersprogramma alleen de noodzakelijke informatie ontvangt in de vorm van een thematische selectie, en alle verwerking direct op de server plaatsvindt. Deze mogelijkheid maakt het werk veel eenvoudiger, omdat het vergroten van de kracht van een cluster veel eenvoudiger is dan het updaten van de softwaresystemen van een aantal computers.

    Een ander voordeel van de drielaagse architectuur is de mogelijkheid om de toegang van alle gebruikers tot database-informatie vrijelijk te beheren en te controleren. En het is helemaal niet nodig dat de gebruiker zich verdiept in de locatie van de databases of configuratie; alle toegang vindt plaats via het platformservercluster. Bij het invoeren van een verzoek volstaat het om de naam van de infobase en de naam van het vereiste cluster op te geven, terwijl u het wachtwoord opgeeft.

    In dit geval beheert het platform zelf alle databases om effectief informatie op te halen:

    • Speciale zoekmechanismen zijn gericht op het maximaliseren van het gebruik van het DBMS om de noodzakelijke soorten werk uit te voeren met betrekking tot berekeningen en rapportage
    • De mogelijkheid om een ​​groot aantal zoekopdrachten naar de database te vermijden wanneer de hoeveelheid gevraagde informatie groot is. Acties worden vereenvoudigd dankzij bestaande instellingen voor het selecteren en sorteren van gegevens, terwijl de zoekefficiëntie wordt vergroot

    Voor het maken van een client-serverversie en het beheer ervan zijn geen speciale vaardigheden vereist. Databases worden aangemaakt wanneer de configurator wordt gestart, hetzelfde geldt voor de bestandsoptie.

    Klanttoepassingen

    Werken met de clientapplicatie kan via een webserver of rechtstreeks met het cluster. Wanneer er verbinding wordt gemaakt met een cluster, gebruiken de thin client en de thin client rechtstreeks het TCP/IP-protocol om gegevens over te dragen. Als de verbinding via een webserver tot stand wordt gebracht, gebruiken de thin client en de webclient het HTTP- of HTTPS-protocol.

    Servercluster 8.2

    Het belangrijkste onderdeel van het systeem, waarmee gebruikers communiceren met het databasesysteem wanneer ze met een clientserver werken, is een servercluster.

    Het bestaan ​​van een cluster maakt de ononderbroken, fouttolerante werking van een aanzienlijk aantal gebruikers met grote informatiedatabases mogelijk.
    Database server

    De volgende worden gebruikt als databaseserver:

    • Microsoft SQL Server-basis
    • PostgreSQL-database
    • IBM DB2-database
    • Oracle-database

    Beheer van client-server versie 8.2

    Het platform bevat een speciaal hulpprogramma waarmee u de client-server kunt beheren en waarmee de beheerder alle aangesloten gebruikers en informatiedatabases kan beheren.

    Uitvoering op de server

    Alle werkzaamheden met de benodigde objecten, het lezen en schrijven van databases worden rechtstreeks op de server uitgevoerd. Alle functies van de opdrachtinterface en bepaalde formulieren worden ook op de server uitgevoerd.

    Het voorbereiden van allerlei soorten formulieren, het vastleggen van de aangebrachte wijzigingen en de indeling ervan - al deze functies zijn de taak van de server. De client toont kant-en-klare formulieren die door de gebruiker kunnen worden ingevuld; via het invoerveld wordt de server gebeld.
    De opdrachtinterface wordt op dezelfde manier op de server gevormd en alle rapporten worden op de client weergegeven

    Tegelijkertijd is het platformmechanisme zelf erop gericht ervoor te zorgen dat de hoeveelheid gevraagde gegevens minimaal is, door de gegevens op de server te sorteren. De verwerkte gegevens komen van de server nadat deze door de gebruiker zijn bekeken (lijstgegevens, tabellen, rapporten)

    Op de server wordt het volgende uitgevoerd:

    • Databasequery's
    • Registreer alle gegevens
    • Documenten plaatsen
    • Diverse berekeningen
    • Het uitvoeren van behandelingen
    • Het genereren van kant-en-klare rapporten
    • Formulieren klaarmaken voor presentatie.

    Op de client wordt het volgende uitgevoerd:

    • Formulieren indienen en openen
    • Formulieren tonen
    • Ontvangst door de gebruiker van berichten, waarschuwingen, d.w.z. informeren
    • Snelle berekeningen uitvoeren met behulp van eenvoudige formules (prijs X hoeveelheid)
    • Bewerkingen met lokale bestanden
    • Operaties met commerciële apparatuur.

    Met behulp van de ingebouwde taalversie 8.2 op de client

    Het is mogelijk om alle formulierfuncties zowel op de server als op de client te beheren. De client ondersteunt de ingebouwde programmeertaal. Als het nodig is om snelle berekeningen te maken met behulp van de weergegeven formule, het aantal of het aantal regels in een document te berekenen, een bestand te bekijken of te verzenden, dan is de ingebouwde programmeertaal alleen voor dit geval. Het werk van de ingebouwde programmeertaal is echter ontworpen voor beperkte volumes, dit komt door het feit dat de clientfuncties verschillen van de serverfuncties en dat de objectsamenstelling van de module beperkt is.