Meny
Är gratis
registrering
Hem  /  / Vi behöver en server 1c för företaget. Lösningar

Vi behöver en server 1c för företaget. Lösningar

Hittills har den finansiella 1C-produkten vuxit från en bokföringsprogram för redovisning till ett brett formatkomplex för redovisning och underhåll av nästan alla typer av företag, som påstår sig konkurrera med världens "monster" SAP R/3 och Microsoft Dynamics AX (Axapta).

Ryska företag organiserar i allt högre grad sina affärsprocesser med moderna konfigurationer 1C 8.3 "Handelshantering", "Produktionshantering", "ERP Enterprise Management" och liknande. Avdelningarna för redovisning, marknadsföring, produktion, försäljning flyttas över till 1C, integration med IP-telefoni och arbetsflödessystem genomförs. Men direkt efter intentionerna "låt oss arbeta i 1C" uppstår frågor - på vilka resurser kommer den centrala 1C-basen att fungera, vilken "hårdvara" kommer att visa det optimala resultatet för en rimlig budget? Det är lättare för jättar inom den offentliga sektorn i denna situation - ett tydligt kommando har getts till många heltidsanställda IT-integratörer och arkitekter, mekanismer för stora budgetanbud har börjat, med det obligatoriska villkoret att tillhandahålla ett "nyckelfärdigt" koncept och ytterligare stöd av systemet av certifierade specialister. Men hur är det med företag som själva vill köpa och installera en av 1C: Enterprise-produkterna och spendera budgeten klokt?

Det mest grundläggande misstaget, om du inte tar hänsyn till användningen av piratkopierad eller overifierad programvara, är att spara på hårdvara för 1C. Dessa trender är särskilt vanliga i startups och små företag. Det finns en åsikt att det inte är nödvändigt att köpa dyr serverutrustning med Intel Xeon-processorer, det finns inget behov av att förberäkna mängden RAM, belastningen på CPU och diskundersystemet, att det inte finns något behov av att skapa redundans av diskarrayer (Raid), använd professionella diskkontroller med Cache-RAM och etc. Fel i beräkningarna av IT-arkitektur för 1C leder till tråkiga konsekvenser, vilket företaget får veta om efter att ha stoppat affärsprocesser. Därför är det mycket viktigt att vara uppmärksam på varje hårdvaruknod på serverplattformen för 1C.

Exempel på typiska problem på grund av felaktig konstruktion av IT-arkitektur för 1C:
  • "Slowdown" av bas- och 1C-gränssnitten på grund av överdriven belastning på nyckelresurser (vanligtvis RAM eller diskundersystem).
  • Fel och "krascher" i 1C-programmet på grund av instabiliteten hos den felaktigt valda utrustningen.
  • Driftstopp för företaget på grund av fel på den centrala hårdvaran.
  • Partiell eller fullständig förlust av 1C-data på grund av slumpmässiga fel i hårdvarukomponenter eller mjukvara.

1C-serverhårdvaruresurser

Betrakta nedan de viktigaste hårdvaruresurserna, ett misstag i valet av vilka kan förstöra hela företagets automationsprojekt när du skapar en server för 1C på egen hand.

Central processorenhet (CPU)

Antalet fysiska CPU-kärnor.Ämnet för eviga tvister på alla typer av forum på 1C - vilket är viktigare CPU-frekvens eller multicore. Rötterna till dessa motsägelser går tillbaka till 1C 8.0 eller till och med 1C 7.7. De 1C körbara processerna från tidigare versioner var faktiskt enbart enkärniga, dvs. oavsett hur många kärnor den centrala processorn tillhandahåller - 1C 8.0 företagsservertjänsten eller den tjocka 1C 7.7 klienten ockuperade alltid bara en "noll" kärna i operativsystemet. Idag har bilden förändrats - operativsystemet distribuerar djärvt uppgifterna för en 1C: Enterprise-process (rphost) över flera CPU-kärnor (se figur 1).




Figur 1 - CPU-belastning under 1C-serverprocesser.


Men detta betyder inte alls att om du köper en processor med maximalt antal kärnor, så kommer en 1C-server parad med en DBMS (oftast betyder en DBMS MS SQL) att visa fantastisk prestanda och att skriva om redovisningsperioder i 1C blir en fråga om några minuter. Du måste förstå skillnaden mellan hastigheten för att utföra en operation och processen för samtidig behandling av en stor mängd information. Antalet fysiska kärnor låter dig bara lösa problemet med stabilitet och prestanda för simultant arbete med många olika uppgifter av 1C: Enterprise-servern och DBMS. Därav slutsatsen - ju fler 1C-användare, desto mer kommer det erforderliga antalet kärnor att spela en roll för det bekväma, samtidiga arbetet för samma användare. Antalet användares beroende av antalet kärnor för 1C-servern visas i Tabell 1.


Antalet samtidiga användare på 1C: Enterprise-servern Processortyp och modell Antal använda kärnor
Upp till 10 användare Anpassad Intel Core från 3,1Ghz Inte mer än 2-4
Upp till 20 användare Server Intel Xeon från 2,4 Ghz 4 till 6
Upp till 30 användare Server Intel Xeon från 2,6 Ghz 6 till 8 kärnor
Upp till 50 användare Server Intel Xeon från 2,4 Ghz - i mängden 2 stycken 4 för varje processor

Tabell 1 - Förhållandet mellan antalet användare på 1C-servern och det rekommenderade antalet CPU-kärnor.


CPU-frekvens. I motsats till antalet kärnor, påverkar frekvensen av den centrala processorn exakt processorhastigheten för en del av jobbet åt gången, vilket är det mest populära kriteriet för slutanvändare av 1C. Processorfrekvensen är exakt parametern, med en ökning i vilken, för en enskild användare, hastigheten på bearbetningsförfrågningar från 1C-servern och DBMS kommer att öka och den tid under vilken systemet kommer att tillhandahålla det slutliga resultatet till slutanvändaren minska. Som en bekräftelse på detta gjorde den välkända specialisten Gilev, i en av sina artiklar, baserad på praktiska tester, en otvetydig slutsats - "hastigheten på 1C påverkas mycket mer av frekvensen hos den centrala processorn än resten av dess parametrar , oavsett om det är en 1C-slutklient eller en 1C: Enterprise-server." Detta är arkitekturen för 1C-programmet.

Cache, virtualisering och hypertrådning. Tidigare, när flerkärniga processorer ännu inte var så utbredda, kom Intel med en speciell CPU-teknik som efterliknar multi-core, den så kallade "hyper-threading". När den är aktiverad definieras en fysisk processor (en fysisk kärna) av operativsystemet som två separata processorer (två logiska kärnor). Vi rekommenderar att du inaktiverar hyper-threading för 1C-servern. Denna teknik ger inte någon acceleration av arbetet med 1C.

När du använder virtuella maskiner för 1C: Enterprise-servern och DBMS måste du ta hänsyn till att virtuella maskinkärnor är "svagare" än riktiga fysiska kärnor, även om de kallas likadana - "kärnor". Det finns inga exakta officiella koefficienter, men artiklar om Microsofts tekniska portaler rekommenderar att man räknar 4-6 processorkärnor i en virtuell maskin per fysisk kärna.

Cache är cacheminne som används av processorn för att minska den genomsnittliga åtkomsttiden till datorns minne. Faktum är att det är en integrerad del av processorn, eftersom den är placerad på samma tärning och är en del av funktionsblocken. Allt är väldigt tydligt här - ju större cachestorlek, desto större "bitar" information kan processorn bearbeta. Vanligtvis beror storleken på cachen på processormodellen - ju dyrare modellen är, desto mer cacheminne finns det vanligtvis. Vi tror dock inte att storleken på processorns cache dramatiskt påverkar 1C-serverns och DBMS:s prestanda. Snarare hänvisar det till området för "finjustering".

Processortyp. Alla vet att hårdvara är uppdelad i server och användare. Är det möjligt att i vissa fall använda en billig anpassad CPU som ett alternativ till en professionell men dyr server-CPU? Det visar sig - du kan. Låt oss överväga en tabell som jämför huvudparametrarna för två varianter av Intel centralprocessorer (se tabell 2).

Anpassad Intel® Core™ i7-6700T-processor (8M cache, upp till 3,60 GHz) Server Intel® Xeon®-processor E5-2680 v2 (25M cache, 2,80 GHz)
Cacheminne 8 MB 25 MB
Systembussfrekvens 8 GT/s DMI3 8 GT/s QPI
Kommandouppsättning 64-bitars SSE4.1 / 4.2, AVX 2.0 64-bitars AVX 2.0
Antal kärnor 4 10
CPU bas klockhastighet 2,8 GHz 2,8 GHz
Max. mängd och typ av RAM 64 GB icke-ECC 768 GB ECC
Beräknad kostnad 354$ 1 280$

Tabell 2 - Jämförelse av huvudparametrarna för en hem- och server-CPU från Intel.


Som vi kan se har serverprocessorn mycket högre värden i antal kärnor, i mängden cache, stöd för mer RAM och, naturligtvis, till ett högre pris. Emellertid skiljer sig serverns CPU praktiskt taget inte från användarens CPU vad gäller stöd för vissa processorkommandon (instruktioner) och i klockfrekvensen. Därför kan vi dra slutsatsen att för små organisationer är det helt acceptabelt att använda en anpassad CPU för 1C: Enterprise-servern. Frågan är bara att en anpassad processor inte kan installeras i en socket på ett servermoderkort och stödja server-RAM med paritetskontroll (ECC), och användningen av anpassade komponenter medför risker för stabilitet i hela systemet som helhet.

Random Access Memory (RAM)

RAM-typ. RAM-fältet (RAM) skiljer sig i sitt syfte - för serversystem med flera användare eller för personliga enheter - PC, bärbara datorer, nettops, tunna klienter, etc. Som i fallet med CPU - huvudparametrarna för RAM-modulerna är ungefär likvärdiga - modern PC RAM ligger praktiskt taget inte efter serverns RAM, vare sig i mängden en stapel, eller i klockfrekvensen eller i typen av DDR moduler. Skillnader mellan server-RAM och "hem"-RAM i användningen och syftet med hårdvaruplattformen - därför bildas dess högre kostnad:

  • Server-RAM har ECC-paritet (Error Correction Code) - en kodnings-/avkodningsteknik som låter dig korrigera fel i informationsbehandling direkt av RAM-modulen
  • Serverns moderkort har många fler kontakter för att installera RAM-moduler än en vanlig PC
  • Server-RAM innehåller register (buffertar) som tillhandahåller databuffring (partiellt registrerad eller full buffrad), vilket minskar belastningen på minnesstyrenheten med många samtidiga förfrågningar. Buffrade FB-DIMM är inkompatibla med obuffrade.
  • Registerminnesmoduler möjliggör också ökad minnesskalbarhet - närvaron av register gör det möjligt att installera fler moduler i en kanal.

Vi kan dra slutsatsen att användningen av server-RAM-moduler gör det möjligt att installera stora mängder RAM-minne i ett system, och ECC-paritetskontrolltekniker och användning av buffertar gör att serverns operativsystem kan fungera stabilt och snabbt.

Mängden RAM. En av nyckelfaktorerna för 1C-serverns och DBMS:s höga prestanda är en tillräcklig mängd RAM. Naturligtvis beror de faktiska behoven av RAM på många faktorer - typen av 1C-konfiguration, antalet 1C: Enterprise-serverprocesser, storleken på DBMS-databasen och så vidare. Du kan dock härleda ett ungefärligt beroende av mängden RAM på antalet användare (se tabell 3).


Behovet av RAM för server 1c och DBMS Upp till 10 användare Upp till 20 användare Upp till 30 användare Upp till 50 användare
Server 1c: Enterprise 4-6 GB 6-8 GB 12-14 GB 18-24 GB
MS SQL Server 4-6 GB 8-10 GB 16-18 GB 24-28 GB

Tabell 3 - Det ungefärliga förhållandet mellan antalet användare av 1C-servern och det rekommenderade RAM-minnet för processerna för 1C: Enterprise-servern och MS SQL-servern.


Angående processerna för 1C-servern: Enterprise (rphost.exe) - moderna 1C-plattformar tillåter inte manuell specificering av antalet 1C-serverprocesser. Systemet kräver istället inställning av parametrar, såsom antalet infobaser och antalet användare per rphost.exe-process, varefter det automatiskt bestämmer det optimala antalet 1C: Enterprise-serverprocesser. Du kan också konfigurera den smidiga frigöringen av RAM med rphost.exe-processen om dess volym överstiger en förutbestämd tröskel. Samtidigt skapar 1C-servern en ny rphost.exe-process, som gradvis tar över 1C-uppgifterna, vilket gör att den nödvändiga 1C-processen kan laddas ur.

Det bör också noteras att mängden RAM som allokerats till SQL-tjänsten anses vara tillräcklig om SQL-dataträffen i cachen är minst 90 %. Detta mått är ganska bekvämt eftersom du kan inte bara se mängden RAM som konsumeras av SQL-servern - de senaste versionerna av SQL har dynamiskt förbrukat RAM - den maximala möjliga mängden RAM fångas upp och frigörs när andra processer begär RAM.

RAM-frekvens. Kort sagt, detta är bandbredden för kanalerna genom vilka data överförs till moderkortet och därifrån till processorn. Det är önskvärt att denna parameter sammanfaller med moderkortets tillåtna frekvens eller överskrider den, annars riskerar RAM-överföringskanalen att bli en "flaskhals". Inom ramen för en typ av DDR påverkar en ökning / minskning av frekvensen inte 1C-serverns prestanda drastiskt och hänvisar mer till området "finjustering".

RAM-tider. Detta är Latency eller Latency av RAM. Denna parameter kännetecknas av datafördröjningstiden vid växling mellan olika moduler i RAM-mikrokretsen. Mindre värden betyder snabbare prestanda. Effekten på serversystemets totala prestanda, och ännu mer på 1C: Enterprise-servern, är dock inte hög. Vanligtvis är det bara spelare och överklockare som uppmärksammar dessa parametrar, för vilka varje extra nedgång i prestanda är den dyraste.

Diskundersystem och hårddiskar HDD

Hårddiskkontroller. Huvudenheten för att ansluta och organisera hårddiskar i ett hårdvarusystem är hårddiskkontrollern. Det är av två typer:

1. Inbyggd - styrenhetsmodulen är inbyggd i systemet, hårddiskburen ansluts direkt till moderkortet. Det anses vara en mer ekonomisk lösning.

2. Extern - är ett separat kretskort (enhet) som är anslutet till moderkortets kontakt. Det anses vara en mer professionell lösning på grund av det faktum att den har separata chips för att utföra och kontrollera operationer med hårddiskar HDD. Rekommenderas för viktiga serversystem, såsom 1C: Enterprise-server och DBMS.

Det finns också en tredje typ - en enhet för att ta emot / överföra blockdata via iSCSI, FiberChanel, InfiniBand, SAS-kanaler. Emellertid, i denna utföringsform "tas skivundersystemet ut" på en separat lagringsenhet (DSS), som är ansluten till servern via en optisk kabel eller kopparkabel. I vår artikel analyserar vi kraven för en autonom server för 1C, så vi kommer inte att överväga denna typ.

Typer och nivåer av RAID-arrayer. Det är en datavirtualiseringsteknik som kombinerar flera diskar till en logisk enhet för redundans och förbättrad prestanda. Låt oss ta en titt på de mest populära nivåerna av RAID-specifikationen:

  • RAID 0 ("Striping") den har ingen redundans och distribuerar information på en gång över alla diskar som ingår i arrayen i form av små block ("ränder"). Detta förbättrar prestandan avsevärt, men äventyrar tillförlitligheten. Vi rekommenderar inte att du använder den här arraytypen trots prestandaförbättringarna.
  • RAID 1 ("Spegling"). Den har skydd mot fel på hälften av den tillgängliga hårdvaran (i det allmänna fallet en av de två hårddiskarna), ger en acceptabel skrivhastighet och en vinst i läshastighet på grund av parallellisering av förfrågningar. Denna typ av array kommer att "dra" en 1C + DBMS-server upp till 25-30 användare, speciellt om SAS 15K-enheter eller SSD:er används.
  • RAID 10. De speglade paren av enheter är arrangerade i en "kedja", så den resulterande volymen kan överstiga kapaciteten för en enda hårddisk. Enligt vår mening är den mest framgångsrika typen av diskarray sedan den kombinerar tillförlitligheten hos RAID1 och hastigheten hos RAID 0. I kombination med 15K SAS-enheter eller SSD kan den användas för 1C-servrar från 40-50 användare.
  • RAID 5. Känd för sin ekonomi. Genom att offra kapaciteten på bara en enhet från arrayen för redundansens skull får vi skydd mot fel på någon av hårddiskarna i systemet. (Dess RAID 6-variant kräver två extra hårddiskar för att klara kontrollsummorna, men behåller data även om två enheter misslyckas). Denna typ av array är ekonomisk, pålitlig och har en ganska märkbar läsprestanda. Tyvärr är flaskhalsen med denna array den låga skrivhastigheten, vilket gör den bekväm att använda med 1C-serverkonfigurationer för upp till 15-20 användare. Det är också optimalt för tillämpade ändamål - lagring av fildata, dokumentflödesarkiv, etc.

Typer av hårddiskgränssnitt. Efter typ av anslutning är hårddiskarna uppdelade:

  • HDD Sata Home. Den billigaste versionen av hårddiskar designade för användning i hemdatorer eller nätverksanslutna mediacenter. Det avråds starkt från att använda sådana enheter i 1c-servrar på grund av den låga feltoleransen och driftsstabiliteten - komponenterna i dessa enheter är helt enkelt inte designade för 24/7-drift och misslyckas snabbt.
  • HDD Sata Server. Detta namn syftar vanligtvis på hårddiskar med ett Sata-gränssnitt och en spindelrotationshastighet på 7 200 rpm. "Server"-prefixet betyder att sådana enheter har testats för att fungera i serversystem och är designade för att fungera stabilt dygnet runt. De används vanligtvis i 1C-servrar för att lagra stora mängder information som inte kräver hög bearbetningshastighet. Till exempel - 1c arkivdatabaser, utbytesmappar, kontorsdokument ladda upp filer, etc.
  • HDD SAS Server. Det finns flera skillnader mellan SAS-gränssnittet (den moderna analogen till SCSI) och Sata-gränssnittet. Detta är den genomsnittliga diskens svarstid, och arbeta i en delad diskhylla, och arbeta med HDD-styrenheten vid högre datautbyteshastigheter - upp till 6 Gb/s (jämfört med Sata 3 Gb/s). Men den största fördelen är förekomsten av SAS-diskmodeller med en spindelrotationshastighet på 15 000 rpm. Det är denna designfunktion som gör att SAS-enheter kan utföra nästan 3 gånger fler I/O-operationer per sekund jämfört med HDD Sata Server. Sådana SAS-diskar har en liten volym och rekommenderas att användas för grundläggande 1c-databaser med konstant hög arbetsbelastning.
  • SSD-enheter. Dessa skivor skiljer sig från de tidigare inte i anslutningsgränssnittet, utan i sin design - de är solid-state och har inga rörliga delar, d.v.s. i sin essens är analoger av "flash-enheter". Sådana teknologier tillåter SSD-diskar att producera "oöverkomligt" antal I/O-operationer per sekund (från 10 000 operationer på de enklaste SSD-modellerna). Men denna fördel har också en nackdel - det högre priset på SSD-enheter och "tröskeln för deras liv", vilket beror på gränsen för antalet skrivningar till SSD-blocken. Men varje år blir dessa skivor mer överkomliga och hållbara. Eftersom kostnaden för SSD-diskar ökar många gånger beroende på storleken, skulle det vara mest rimligt att använda dem för små, men överbelastade 1c-databaser, som kräver hög åtkomsthastighet, såväl som för temporära databaser av TempDB DBMS.

IOPS är antalet input-output-operationer per sekund. Faktum är att IOPS är antalet informationsblock som kan läsas eller skrivas till ett medium på 1 sekunds tid. Det vill säga i sin rena form - detta är nyckelparametern för hastigheten på informationsbearbetningen av hårddisken, vilket påverkar 1C-serverns prestanda. Om vi ​​tar för jämförelse ett standardblock med information 4kb, så kan vi grovt peka ut följande IOPS-indikatorer (se tabell 4).


HDD IOPS Gränssnitt
7 200 rpm SATA-enheter ~ 75-100 IOPS SATA 3Gb/s
10 000 rpm SATA-enheter ~ 125-150 IOPS SATA 3Gb/s
10 000 rpm SAS-drev ~ 140 IOPS SAS
15 000 rpm SAS-drev ~ 175-210 IOPS SAS
SSD-enheter Från 8 000 IOPS SAS eller SATA

Tabell 4 - Indikatorer för IOPS på olika typer av hårddiskar vid arbete med ett 4KB datablock.


Naturligtvis, i sin rena form, är IOPS inte mycket användbar för att beräkna de slutliga beräkningarna och kraven för diskundersystemet för 1C-servern. När allt kommer omkring består den totala prestandan för ett diskdelsystem av typen av RAID-array, disktyper och indikatorer för hastigheten på dess gränssnitt, svarstid (Latency), slumpmässig åtkomsttid, procentandelen av antalet läs- och skrivoperationer, och många andra faktorer. Men den här parametern är enligt vår åsikt en nyckelindikator för hastigheten på diskundersystemet och i stadierna av att utveckla en serverarkitektur hjälper den att avgöra vilken typ av hårddiskar som i allmänhet är mest lämpliga för vissa behov. (se RAID-kalkylator)

Praktiskt prov

Vad är förhållandet mellan antalet 1C-användare och antalet iops? Vårt team genomförde ett praktiskt test (se tabell 5) för att mäta belastningen på diskundersystemet med ett visst antal 1C-sessioner. Eftersom 1C-systemet är en programmerbar miljö och varje företag kan ha sin egen uppsättning affärsprocesser i 1C, behövde vi kopplas till en viss referenskonfiguration för testning. I denna egenskap valdes en specialiserad konfiguration av MCC 1C, utvecklad för testning och felsökning. På grundval av detta lade våra 1C-programmerare till ett antal förfrågningar som simulerar den normala driften av ett vanligt företag, med bildandet av redovisningsförfrågningar, bokföringar, upprättande av rapporter och genomförande av operativa dokument.


Systemdisk Databasskiva
Iteration Användare IOPS skriver IOPS läst IOPS skriver IOPS läst
Genomsnittliga värden
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

Tabell 5 - Resultat av ett praktiskt test om belastningen på diskdelsystemet.


Testresultaten visar att lejonparten av belastningen på diskundersystemet uppstår när 1C skrivs till DBMS-serverdatabasen och till operativsystemets disk (på vilken 1C: Enterprise cacheserverfilerna finns som standard).

Parallellt genomförde vi praktiska mätningar av redan fungerande baser av 1C UPP 8.2 under testperioden - 5 arbetsdagar. De visar att en 1C + DBMS-server i genomsnitt förbrukar dubbelt så mycket iops "för att skriva" som "för att läsa". En sådan skillnad mellan syntetiska tester och statistik för att övervaka en riktig 1C-server beror på både periodisk sampling av informationsdata från databasen under arbetsdagen, och regelbunden läsning av databasen vid säkerhetskopiering eller replikering av DBMS.

Andra delar av hårddisken att hålla utkik efter.

  • Fysisk storlek (formfaktor). Idag är nästan alla kända enheter för persondatorer och servrar 3,5 eller 2,5 tum stora. Observera att 2,5-tumsdiskar inte produceras i stora volymer.
  • Slumpmässig åtkomsttid- den tid under vilken hårddisken garanterat utför en läs-skrivoperation på ett visst område av den magnetiska skivan. Som regel ger serverenheter bättre resultat. Detta är en ganska viktig parameter när du bygger en array av diskar för en 1C DBMS-server.
  • Spindelhastighet- antalet varv på hårddiskspindeln per minut. Allt här är enkelt och tydligt - åtkomsttiden och den genomsnittliga dataöverföringshastigheten för hårddisken beror på rotationshastigheten för spindeln med magnetiska plattor.
  • Hårddiskens buffertstorlek- en buffert är ett temporärt minne utformat för att jämna ut skillnader i läs-/skrivhastigheten på hårddisken och dataöverföring via gränssnittet.
  • Pålitlighet- definieras som medeltiden mellan fel (MTBF). Tillförlitligheten beror vanligtvis direkt på tillverkaren, priset och användningsmiljön för hårddisken. Vi anser att tillförlitlighet är en viktig parameter för en hårddisk som påverkar kvaliteten på 1C-serverdriften.

Rätt val: hem- eller serverhårdvara

Försämringen av hårdvarukomponenter och den aktiva tillväxten av den potentiella kapaciteten hos "hemdatorer" leder till ännu en skadlig villfarelse - små företag använder aktivt arbetsstationer som en plattform för samarbete med 1C-databaser. Samtidigt, utan att inse att utöver parametrarna för kärnfrekvensen, minnesstorleken och möjligheten att använda budget SSD-enheter i en vanlig PC, finns det mer systemiska, djupare och viktigare krav för driften av hårdvara i en kommersiell struktur (se tabell 6).

För att lösa problemet med att organisera en 1C-server erbjuder vi uthyrning av 1C-molnservrar i Tier III-datacenter. Den ekonomiska genomförbarheten av att välja ett serverleasingavtal finns i artikeln.


alternativ Server Personlig dator
Tillräcklig datorkraft V V
Garanterad systemuppetid 24/7 V X
Tillförlitlighet och stabilitet hos viktiga hårdvarukomponenter V X
Möjlighet för fjärrstyrning och konsolhantering (IPMI). V X
Budgetkostnad för hårdvaruplattform X V

Tabell 6 - Jämförelse av hem- och serverhårdvara enligt de kriterier som krävs för högkvalitativ 1C-serverdrift.

Felsäker drift av 1C

Utan tvekan är ett av de viktiga kraven för serverdelen av 1C stabiliteten i dess drift och motståndskraft mot fel. Microsoft och 1C själva har gjort en hel del ansträngningar i denna riktning och skapat teknologier för att gruppera sina tjänster på en ganska seriös nivå (se tabell 7).


Feltolerans för SQL-servrar Baserat på konceptet med ett enda delat datalager. Inbyggd SQL Server-klustringsteknik kombinerar två SQL-servrar till ett kluster med en enda virtuell IP-adress och en enda bas. Således, om den huvudsakliga SQL-filen misslyckas, överförs frågorna automatiskt till säkerhetskopian.
Det andra alternativet är det nyligen introducerade AlwaysOn, en teknik för automatisk regelbunden databasreplikering mellan den primära och standby-SQL-servrarna. Samtidigt är den dubbla SQL-servern fysiskt placerad på en annan lagring, vilket ökar motståndskraften mot risker
Feltolerans för 1C: Enterprise-servertjänsten 1C Enterprise-servrar kombineras till ett aktivt aktivt programvaru-failover-kluster med automatisk failover och sparar aktuella sessioner.

Tabell 7 - Feltolerans för SQL- och 1C-servrar.


Varje teknik har dock både för- och nackdelar. Förutom de viktigaste fördelarna måste du känna till några av funktionerna i 1C och SQL () klustring för att inte sluta med en försämring av tjänstens prestanda:

  • SQL-klustring använder virtuell IP. Detta innebär att interaktionen mellan 1C: Enterprise-servern och MS SQL alltid kommer att ske via nätverksgränssnittet, även om båda tjänsterna är i samma operativsystem. Vilket följaktligen kommer att leda till en avmattning i arbetet med 1C i jämförelse med den klassiska versionen av arkitekturen som rekommenderas av 1C själv - med delat minne Shared Memory. I princip kan detta hinder "förbigås" genom att använda till exempel MS SQL Log Shipping-tekniken. Men i det här fallet kommer växling till standby-SQL-servern inte längre att vara automatisk och det här alternativet kan inte betraktas som ett fullfjädrat kluster.
  • SQL Cluster är en stor budgetinvestering. Om vi ​​talar om klassisk klustring av MS SQL-tjänsten krävs en enhetlig databaslagring kopplad till huvud- och backup-SQL-servrarna. Vanligtvis spelas denna roll av dyra lagringssystem, vilket ökar budgeten med en storleksordning. Om vi ​​pratar om den nymodiga AlwaysOn, krävs inte en enhetlig databaslagring, tekniken fungerar med lokala diskar av primär- och backupservrarna över nätverket. Istället kräver det en Enterprise-version av SQL Server, som kostar 4 gånger mer än en vanlig SQL Server Standard-licens.
  • Antal licenser. Trots att den andra SQL-servern inte bearbetar data och är i reserv, kommer licenser att behöva köpas för båda servrarna - både den primära och backupen. Särskilt smärtsamma för budgeten är SQL Server Enterprise-licenser för att implementera ett distribuerat kluster av AlwaysOn High Availability Groups.
  • Du behöver inte använda billig anpassad hårdvara för en tjänst som är så viktig som ett företagsomfattande redovisningssystem. I det här fallet bestämmer priset direkt kvaliteten, stabiliteten och hållbarheten för en sådan plattform.
  • När du väljer en serverplattform rekommenderar vi att du uppmärksammar närvaron av två nätaggregat, ett fjärranslutet IPMI-kort och tillverkarens varumärke. Självklart väljer alla en lösning utifrån sin budget, toppmärken är ibland för dyra och inte helt lämpliga, men man ska egentligen inte spara på tillverkaren, det kan leda till okontrollerbar force majeure i arbetet med 1C. Vi använder personligen Supermicro-serverplattformar tillsammans med Intel-server-CPU:er.
  • Det finns en åsikt, bekräftad av praxis, att 1C-prestanda beror mer på en högre CPU-frekvens än på antalet tillhandahållna kärnor.
  • Det finns inget behov av att spara på mängden RAM som tilldelats för 1C-servern och SQL-tjänsten. För närvarande är RAM en ganska billig resurs, och dess brist (även med 10-15 procent) kommer att leda till en kraftig nedgång i 1C-systemets prestanda, eftersom det långsammare växlingssystemet slås på. Dessutom kommer swap att belasta diskundersystemet ytterligare, vilket kommer att förvärra situationen ytterligare.
  • EFSOL erbjuder heltäckande tjänster för val av en 1C-server, som inkluderar: 1C-serverdesign, inköp, konfiguration och underhåll.
  • Ett alternativ till ditt eget skapande av ett 1C-serveralternativ är att hyra en server för 1C. Molnteknologier gör det möjligt att, till låga månadskostnader, få en pålitlig feltolerant tjänst för bekvämt arbete i 1C.

Systemintegration. Konsultverksamhet

När man väljer vilken server som behövs för 1C, bör man komma ihåg att medan användare arbetar med den kommer många operationer att läsa och skriva data per sekund att utföras.

Troligtvis är det omedelbart klart varför det är så viktigt att korrekt designa en server för 1C - om hårdvaran ursprungligen valdes felaktigt och inte motsvarar belastningen på systemet, finns det en risk att eller till och med fungerar intermittent, att viktiga data kommer att gå förlorade. Å andra sidan, att skapa en server för 1C, köpa all hårdvara och mjukvara för den kan kosta en betydande summa för företaget, så det är tillrådligt att välja utrustning för att undvika onödiga kostnader.

Att välja en server för 1C

När våra specialister behöver göra ett val av konfiguration för en 1C-server är det första de frågar hur många användare som kommer att arbeta med 1C i företaget och vilken uppsättning tjänster de planerar att använda, vad de kommer att vara, vem och hur administrera 1C-servrarna. Vi är baserade på denna information när vi skapar en 1C-server.

Serverkrav 1C

I hårdvarustrukturen för 1C-servern kommer egenskaperna hos processorn, RAM, diskundersystem och nätverksgränssnitt att vara viktiga för oss.

Det är nödvändigt att de ger stabil och tillräckligt produktiv drift av följande komponenter:

  • operativ system;
  • databasserver (oftast är det);
  • serverdel av 1C (inte för alla fall, eftersom ett litet företag för 2-10 användare kan arbeta med 1C i filläge);
  • användararbete i fjärrskrivbordsläge;
  • arbete av fjärranvändare genom en tunn klient eller en webbklient.

Att välja en processor för en 1C-server

Det optimala antalet processorkärnor beräknas vanligtvis utifrån det faktum att 1-2 kärnor behöver reserveras för OS-driften, 1-2 kärnor för driften av SQL-databasen, ytterligare 1 för driften av applikationsservern och ca. 1 kärna för varje 8-10 samtidiga användarsessioner (så att användare inte klagar på att 1C-servern saktar ner).

Observera att hastigheten på förfrågningsbehandlingen inte beror så mycket på antalet kärnor som på processorns klockhastighet, och antalet kärnor har en större inverkan på stabiliteten i arbetet med ett stort antal användare och samtidiga uppgifter från dem.

Hur mycket minne behöver 1C-servern?

Utöver ovanstående, om du behöver en server för 1C för 100 eller fler användare, rekommenderar vi att du distribuerar ett kluster med minst två fysiska 1C-servrar.

Vi föreslår att man beräknar storleken på det nödvändiga RAM-minnet baserat på följande indikatorer:

  • 2 GB krävs för driften av operativsystemet
  • minst 2 GB för driften av MS SQL Server-cachen, och det är bättre att detta värde är 20-30% av den verkliga volymen av databasen - detta kommer att säkerställa ett bekvämt arbete för användare med det
  • 1 - 4 GB för 1C-applikationsserver
  • 100 - 250 MB kommer att kräva en användarterminalsession, beroende på uppsättningen funktioner på 1C-servern, vilken konfiguration som används

Låt oss ge våra ungefärliga beräkningar av parametrarna för 1C 8.3-servern:

Det är bättre att köpa RAM med en marginal - det här är en av de viktigaste faktorerna för den höga prestandan hos en 1C-server och samtidigt är det nu en av de billigaste komponenterna. Om det inte finns tillräckligt med minne på 1C Enterprise-servern kommer det att märkas mycket under drift, därför, när frågan är vilken 1C-server du ska välja, var alltid uppmärksam på att den har tillräckligt med RAM.

Server 1C: hårdvara för diskundersystemet

När man väljer vilken server som behövs för 1C, bör man komma ihåg att medan användare arbetar med den kommer många operationer att läsa och skriva data per sekund att utföras. Denna parameter - med vilken hastighet hårddisken kan bearbeta data - är också en av nyckelparametrarna för 1C-serverns prestanda.

När du designar en 1C-server, kraven för hårdvaran för diskundersystemet, rekommenderar vi att du observerar följande:

  • Det spelar ingen roll vilken server du skapar för 1C, vi rekommenderar inte i något fall att använda enstaka diskar i servrar - det är tillrådligt att organisera dem i RAID-arrayer (RAID 10 för stora eller RAID 1 för små databaser), där databastabellerna kommer att vara lokaliserad.
  • Vi rekommenderar att du flyttar indexfilerna till en separat SSD för snabbare åtkomst till dem.
  • TempDB - 1-2 (RAID 1) SSD.
  • Placera OS och användardata på RAID 1 från SSD / HDD.
  • Tilldela en separat logisk enhet från arrayen eller en fysisk SSD-enhet för loggfiler.
  • Använd en hårdvarukontroller när det är möjligt - vi har sett situationer när en kraftfull och dyr server saktade ner på grund av otillräcklig kontrollprestanda.

Serverval för 1C

I den här artikeln har vi gett några tips och grova beräkningar om hur man väljer en server för 1C, vi hoppas att de kommer att vara användbara för dig.

Sammanfattningsvis lägger vi till en sak till - du bör inte försöka spara pengar genom att använda en användardator för 1C-servern (som ofta görs i små företag) - användarhårdvara är mycket mindre pålitlig och feltolerant än serverhårdvara med liknande prestanda . Det är inte värt att riskera ditt företags redovisningssystem. Om att köpa rätt hårdvara inte passar din budget kan du behöva överväga att distribuera 1C i molnet.

Om du tycker att det är svårt att navigera vilken server du ska välja för 1C Enterprise 8.3, hur man gör en 1C-server, eftersom du inte har stått inför denna uppgift tidigare, kan du alltid kontakta ett systemintegratörsföretag så att erfarna tekniker kan hjälpa dig att designa, köpa , installera och konfigurera en server som passar dig för 1C.

I de flesta fall, för att installera 1C: Enterprise 8.x i alternativet "klient-server", räcker det att köra installationsprogrammet 1C: Enterprise 8.x. I det här fallet får 1C: Enterprise-servern standardvärdena för de parametrar som är nödvändiga för dess normala funktion.

Låt oss överväga installationen av 1C: Enterprise-servern mer i detalj. Under installationen av 1C: Enterprise 8.x-servern utför installationsprogrammet 1C: Enterprise 8.x följande åtgärder:

* Kopierar laddningsmodulerna för 1C: Enterprise-servern till katalogen som anges av 1C: Enterprise-installationsprogrammet som målmapp.
* Om "Skapa användare USR1CV81" väljs under installationsprocessen, skapas användaren USR1CV81. På uppdrag av denna användare fungerar 1C: Enterprise 8.1-servern om den lanseras som en tjänst. Den har endast åtkomst till de resurser som behövs av 1C: Enterprise-servern. Det är viktigt att 1C: Enterprise-servern behöver två kataloger för drift: en gemensam katalog med serverdata (vanligtvis "C: \ Program Files \ 1cv81 \ server") och en katalog för temporära filer (vanligtvis "C: \ Documents and Settings \ usr1cv81 \ Local Settings \ Temp "eller" C: \ WINNT \ Temp "). Användaren USR1CV81 får rättigheter till den delade katalogen med serverdata. Katalogen för temporära filer är vanligtvis tillgänglig för alla användare.
* Om "Installera 1C: Enterprise 8.1-server som en Windows-tjänst" är aktiverat under installationsprocessen, registrerar den 1C: Enterprise-serveragenttjänsten i Windows och startar den. Vid första starten skapas ett 1C: Enterprise-serverkluster med standardinställningar. Den har en arbetsserver och en arbetsprocess. Den fungerande serveradressen är densamma som namnet på datorn där installationen utfördes.

USR1CV81 eller USR1CV82 användare och hans rättigheter

Server 1C: Enterprise är en serverapplikation vars funktion inte bör bero på vilken användare som gick in på serverdatorn interaktivt, om någon överhuvudtaget gick in. Därför, när du installerar en 1C: Enterprise-server, är det tillrådligt att skapa en speciell användare USR1CV81, utrustad med de minimirättigheter som krävs för 1C: Enterprise-servern, och inte avsedd för interaktiv inloggning. 1C: Enterprise-servern presenteras för Windows-systemet av USR1CV81-användaren.

Låt oss ta en närmare titt på rättigheterna som tilldelats USR1CV81-användaren. Server 1C: Enterprise använder följande kataloger:

* Katalogen med laddningsmoduler finns i den katalog som anges av installationsprogrammet 1C: Enterprise som målmapp. Den innehåller laddningsmodulerna för 1C: Enterprise-servern. Användaren USR1CV81 behöver rättigheter för att läsa data och köra program från denna katalog och dess underkataloger. Han får dessa rättigheter implicit, tack vare att han ingår i användargruppen.
* Serverdatakatalogen heter vanligtvis "C: \ Program Files \ 1cv81 \ server". USR1CV81 behöver fullständiga rättigheter till denna katalog. När du skapar en användare USR1CV81, ger 1C: Enterprise-installationsprogrammet honom rättigheterna till denna katalog.
* Den tillfälliga katalogen heter vanligtvis "C: \ Documents and Settings \ usr1cv81 \ Local Settings \ Temp" eller "C: \ WINNT \ Temp", vilket bestäms av värdet på användarens TEMP-variabel eller systemmiljöns TEMP-variabel. Du kan se värdet på denna variabel i dialogrutan Systemegenskaper (Start -> Inställningar -> Kontrollpanelen -> System -> Avancerat -> Miljövariabler). Installationsprogrammet 1C: Enterprise ger USR1CV81-användaren fullständiga rättigheter till denna katalog. Vanligtvis när du installerar Windows är den tillfälliga katalogen tillgänglig för alla användare genom att inkludera gruppen CREATOR OWNER i dess ACL. Denna åtkomst är dock inte fullständig. I synnerhet är sökningen efter filer i den här katalogen inte tillgänglig för alla användare. Genom att ställa in USR1CV81-användarens fullständiga rättigheter till katalogen för temporära filer kan 1C: Enterprise-servern utföra alla operationer den behöver. Du kan se åtkomstlistan i dialogrutan för katalogegenskaper på fliken Säkerhet. Närvaron av gruppen CREATOR OWNER tillåter alla användare som skapar filer i den här katalogen eller äger filer i den här katalogen att komma åt katalogen. I det här fallet kommer användaren som skapade filen att registreras i åtkomstlistan för den skapade filen istället för CREATOR OWNER-gruppen. Bland de användare som får tillgång till denna katalog måste det också finnas användare USR1CV81, som har fullständiga rättigheter till denna katalog.
Det är viktigt att komma ihåg att katalogen med temporära filer för en specifik användare (inklusive användaren USR1CV81) bestäms av en kombination av den användarens miljövariabler och systemmiljövariabler. För att ta reda på den här katalogen frågar installationsprogrammet 1C: Enterprise efter användarkontexten USR1CV81. För att göra detta, i Windows 2000, kan användaren på vars vägnar installationsprogrammet 1C: Enterprise startas behöva följande behörigheter: Fungera som en del av operativsystemet och förbigå genomgångskontroll. Du kan kontrollera användarbehörigheter med hjälp av verktyget Local Sequrity Settings i grenen Local Policys -> User Rights Assignment. Under installationen av ny programvara får installationsprogrammet vanligtvis dessa rättigheter automatiskt.

Registrering av 1C: Enterprise-server som en Windows-tjänst


Server 1C: Enterprise är en enkel Windows-konsolapplikation och kan startas interaktivt. Men för permanent användning är detta obekvämt, eftersom det gör att 1C: Enterprise-servern startar från inmatningen av en inaktiv användare till serverdatorn. För att eliminera detta beroende kan 1C: Enterprise-servern köras som en Windows-tjänst. För att göra detta måste den vara registrerad i Windows Service Manager.

För att se listan över Windows-tjänster och deras parametrar, använd Component Services-verktyget (Start -> Inställningar -> Kontrollpanelen -> Administrativa verktyg -> Tjänster). 1C: Enterprise-servern representeras i listan över tjänster av tjänsten "1C: Enterprise 8.1 Server Agent". Tjänstparametrarna bestämmer lanseringen av processen 1C: Enterprise Server Agent (ragent), användaren på vars vägnar den startas och metoden för omstart i nödsituationer.

I egenskapsdialogrutan för tjänsten "1C: Enterprise 8.1 Server Agent", på fliken Allmänt, visas raden för att starta ragentprocessen, som är agenten för 1C: Enterprise-servern. Vanligtvis ser denna rad ut så här:


Det står att:

* Serveragentprocessen är laddningsmodulen "C: \ Program Files \ 1cv81 \ bin \ ragent.exe";
* ragentprocessen startar som en Windows-tjänst och måste hanteras av en servicehanterare (-srvc);
* används som agent för 1C: Enterprise-server (-agent);
* När tjänsten startas för första gången måste ett kluster skapas med standardparametrar och huvud-IP-portnummer 1541 (-regport 1541). Klientapplikationer måste använda denna port för att ansluta till infobaser registrerade i klustret;
* Serveragentens IP-port måste vara 1540 (-port 1540). På den här porten måste klusterkonsolen ansluta till den centrala servern för att utföra administrativa funktioner;
* när klusterprocesser startas på den här servern kommer de att tilldelas dynamiskt IP-portar från intervallet 1560-1591 (-intervall 1560: 1591).
* allmänna klusterdata kommer att finnas i katalogen "C: \ Program Files \ 1cv81 \ server" (-d "C: \ Program Files \ 1cv81 \ server").

1C: Enterprise 8.1 Server Agent-tjänsten kan läggas till eller tas bort inte bara när du installerar eller avinstallerar 1C: Enterprise med hjälp av installationsprogrammet 1C: Enterprise 8.1, utan också manuellt. För att göra detta kan du köra ragent-verktyget från kommandoraden genom att ange lämpliga parametrar.

För att skapa en tjänst måste du ange parametern -instsrvc och följande parametrar: -usr är användarnamnet för vars räkning tjänsten ska startas, -pwd är lösenordet för denna användare. I det här fallet kommer resten av parametrarna att bli parametrarna för raden för att starta Agenten för 1C: Enterprise-servern som en tjänst. Till exempel, för standardregistrering av tjänsten 1C: Enterprise Server Agent i felsökningsläge, bör uppsättningen parametrar vara som följer:

"C: \ Program Files \ 1cv81 \ bin \ ragent.exe" -instsrvc -usr. \ USR1CV81 -pwd Lösenord -regport 1541 -port 1540 -range 1560: 1591 -d "C: \ Program Files \ 1cv81 \ server" - felsöka

För att ta bort en tjänst måste du ange parametern -rmsrvc. Till exempel:
"C: \ Program Files \ 1cv81 \ bin \ ragent.exe" -rmsrvc

Ibland är det för lätt att ändra serveragentens startlinje eller andra parametrar för agenttjänsten, till exempel aktivera felsökningsläge eller skapa flera tjänster av olika versioner. Dialogrutan för tjänsteegenskaper tillåter inte redigering av tjänstens startrad och vissa andra parametrar, till exempel tjänstens identifierare. För att redigera behöver du regedit-verktyget, utformat för att visa och redigera Windows-registret.

Uppmärksamhet!
Att redigera Windows-registret kräver extrem försiktighet, eftersom felaktiga ändringar av det kan göra operativsystemet oanvändbart.

Kör regedit-verktyget (öppna Start -> Kör och skriv regedit) och välj grenen:


Bland dess parametrar finns ImagePath-parametern, vars värde är raden för att starta agenten för 1C: Enterprise-servern. Här kan du lägga till nya parametrar till startraden eller ändra värdena för befintliga. En komplett lista över möjliga parametrar finns i boken "1C: Enterprise 8.1 Client-Server" dokumentation.

Om du behöver registrera flera oberoende tjänster från Agent of the 1C: Enterprise-servern, måste du ange olika belastningsmoduler, olika portar och olika datakataloger för klustret. Du måste också registrera dem med olika tjänsteidentifierare. Du kan göra så här:

* Skapa första tjänst:
"C: \ Program Files \ 1cv81 \ bin \ ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560: 1591 -d "C: \ Program Files \ 1cv81 \ server"

* Ändra den registrerade tjänstens identifierare med hjälp av regedit-verktyget. För att göra detta: välj en gren
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Server Agent

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Server Agent First
* Skapa en andra tjänst:
"C: \ Program Files \ 1cv81_10 \ bin \ ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660: 1691 -d "C: \ Program Files \ 1cv81_10 \ server"

* Kanske ändra dess ID också. För att göra detta: välj en gren
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Server Agent
och ändra dess namn, till exempel till:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ 1C: Enterprise 8.1 Server Agent Second

Vad kan inte installationsprogrammet 1C: Enterprise göra?

Som redan nämnts kopierar installationsprogrammet 1C: Enterprise 1C: Enterprise-laddningsmodulerna och utför den nödvändiga registreringen i COM och i Windows Service Manager. Ovanstående är den information du behöver för att förstå de interna mekanismerna för denna registrering. Om inte bara servern, utan även 1C: Enterprise-klientdelen är installerad på serverdatorn, är den redo att fungera direkt efter installationen (och anslutning av skyddsnycklar).

För att 1C: Enterprise-servern ska vara åtkomlig från andra datorer i det lokala nätverket är det nödvändigt att kontrollera nätverksinställningarna på servern och klientdatorerna, såväl som för nätverket som helhet. TCP / IP används för att överföra data mellan klientapplikationer och 1C: Enterprise-servern, såväl som mellan serverklusterprocesser. Driften av 1C: Enterprise i klient-serverversionen beror på korrektheten i dess konfiguration.

Processer för en 1C: Enterprise-serverkluster är anslutna till varandra på de adresser som anges som värdena för egenskapen "Dator" i egenskapsdialogrutan för fungerande servrar. Klustret kräver att värdet för egenskapen "Dator" antingen är en IP-adress i punktnotation eller en symbolisk adress som kan användas för att fastställa IP-adressen med hjälp av funktionen gethostbyname som definieras i TCP API. IP-adressen bestäms antingen från den lokala symboliska adresstabellen (C: \ WINNT \ system32 \ drivrutiner \ etc \ värdar), eller från adresstabellerna i tillgängliga DNS-servrar. Om den symboliska adressen för den fungerande servern inte bestämmer dess IP-adress eller bestäms felaktigt (till exempel IP-adressen stämmer inte överens med den faktiska IP-adressen för den här datorn), kommer klustret inte att fungera. Det är viktigt att datornamnen och deras adresser definierade i Windows på var och en av produktionsservrarna i klustret inte kommer i konflikt med deras namn i DNS.

På varje fungerande server använder klusterprocesser följande portar: IP-porten för den fungerande servern (vanligtvis 1540); IP-portar från arbetsflödets IP-portintervall (vanligtvis 1560-1591). Dessutom använder klustrets centralserver klusterporten (vanligtvis 1541). Om systemet använder brandväggar måste dataöverföring på dessa portar tillåtas. Istället för att tillåta portar från listan ovan kan du tillåta dataöverföring till klusterprocesser (ragent, rmngr, rphost).

Anslutningen av 1C: Enterprise-klientapplikationen till servern utförs i 2 steg. Den upprättar först en anslutning till klusterhanteraren. Detta använder adressen till den centrala servern (symbolsk eller numerisk) och klusterporten (vanligtvis 1541). Därefter upprättar klientapplikationen en anslutning till en av arbetsprocesserna. Värdet på egenskapen "Dator" för motsvarande arbetsserver och porten för arbetsprocessen, som väljs från intervallet av IP-portar för arbetsservern, används som dess adress. Dataöverföring till dessa portar måste tillåtas i alla brandväggar på vägen från klientapplikationsdatorn till datorerna i 1C: Enterprise-serverklustret. IP-adressen för serverprocesserna bestäms med hjälp av funktionen gethostbyname på klientdatorn. Det är viktigt att namnen på central- och produktionsservrarna och deras adresser definierade i Windows på var och en av klusterservrarna inte kommer i konflikt med deras namn i den DNS som är tillgänglig för klientdatorn.

Och det sista. Uppenbarligen, för framgångsrik åtkomst till 1C: Enterprise-servern från andra datorer, måste den finnas på nätverket och nödvändiga inställningar måste göras för detta. Nätverksanslutning och installationsmetoder är specifika för Microsoft Windows-baserad nätverksadministration och beskrivs i de relaterade instruktionerna.

Specifikationer för SQL Server Tuning

1C: Enterprise i versionen "klient-server" använder SQL-server för datalagring. Samtidigt är det bara 1C: Enterprise Server som adresserar SQL-servern. Klienter till 1C: Enterprise har inte direkt åtkomst till SQL-servern. Installera och konfigurera SQL Server beskrivs i detalj i Microsoft SQL Server-dokumentationen. För framgångsrik drift av 1C: Enterprise Server med en SQL-server måste du vara särskilt uppmärksam på följande inställningar.

* Obligatoriska SQL Server-komponenter. För att komma åt SQL-servern från 1C: Enterprise Server-sidan måste komponenterna Microsoft Data Access 2.6 eller senare vara installerade på 1C: Enterprise Server-datorn.
* Användarautentisering av SQL-server. Åtkomsträttigheterna till SQL-serverdatabaserna bestäms av användaren på vars vägnar databasen åtkomst. Från datorn som SQL-servern är installerad på startar du verktyget SQL Server Enterprise Manager, hittar den lokala noden (Konsolrot -> Microsoft SQL-servrar -> SQL Server Group -> (Lokal)) och öppnar dess egenskaper. På fliken Sequrity kan du se att SQL Server stöder två sätt att autentisera användare: SQL Server och endast Windows och Windows. Windows-autentisering gör att 1C: Enterprise Server endast får åtkomst till SQL-servern på uppdrag av USR1CV81-användaren, vilket inte tillåter åtskillnad av åtkomsträttigheter till olika infobaser som betjänas av en 1C: Enterprise-server. Det rekommenderas att välja SQL Server och Windows-läge. I det här fallet kommer åtkomst till en specifik infobas att utföras på uppdrag av användaren som angavs som SQL-serveranvändare när denna infobas skapades. Det är viktigt att denna användare inte bara måste ha fullständiga rättigheter till infobasdatabasen, utan även rättigheter att skapa databaser i SQL-servern och att läsa Masterdatabastabellerna.
* Nätverksprotokoll för åtkomst till SQL-server. Om 1C: Enterprise Server och SQL-servern finns på olika datorer är det nödvändigt att konfigurera nätverksprotokollen för åtkomst till SQL-servern. Detta kan göras med hjälp av SQL Server Client Network Utility. På fliken Allmänt kan du välja en lista över nätverksprotokoll som används för att komma åt SQL-servern. Det snabbaste och mest mångsidiga är användningen av TCP/IP-protokollet. När du använder andra protokoll, tänk på att vissa av dem, till exempel Named Pipes, utför ytterligare Windows-autentisering när de kommunicerar med SQL-servern. I det här fallet, för att framgångsrikt arbeta med SQL-servern, måste användaren USR1CV81 med lämpliga rättigheter vara registrerad på datorn med SQL-servern. Åtkomstprotokollet till denna SQL-server kan ändras på Alias-fliken.

Förutom artikel

Det råder ingen tvekan om att paketet MS SQL Server + server "1C: Enterprise 8" är det mest efterfrågade och ofta använda paketet i sin nisch. En förståelse för båda produkterna är önskvärt för dess kvalitetsstöd. Samtidigt, i praktiken, är en supportspecialist vanligtvis antingen specialiserad på att administrera MS SQL Server och känner inte till detaljerna för 1C: Enterprise 8-servern, eller tvärtom, specialiserar sig på att administrera 1C: Enterprise 8-servern och vet inte detaljerna MS SQL Server.

Den här artikeln är skriven för att hjälpa både dessa och andra specialister, är utformad för att spara tid och dra din uppmärksamhet till de viktigaste detaljerna när du använder dessa mjukvaruprodukter tillsammans.

För att underlätta uppfattningen av information tillhandahålls praktiska fall, anteckningar och tips (i kursiv stil).

Tre-länksschema

Som läsaren kanske redan vet har databasen i det här fallet en arkitektur i tre nivåer:

Länk 1: MS SQL Server DBMS. Den "lagrar" och underhåller databasen, och utför i slutändan alla typer av operationer med databasen. Databasens prestanda, hastigheten och parallelliteten för läs- och skrivning av data bestäms alltså till stor del av prestanda hos MS SQL Server.

Länk 2: Server "1C: Enterprise 8". Fungerar som mellanhand i interaktion mellan klienter (användare) och MS SQL Server. Alla klientförfrågningar skickas till servern, som "översätter" dem till MS SQL Servers frågespråk, tar emot resultaten av dessa frågor och skickar resultaten till klienten.

Det är bara en liten del av operationerna som utförs på 1C: Enterprise 8-servernivån, utan åtkomst till MS SQL - i synnerhet spårning av de så kallade "hanterade låsen", läs-skrivande "sessionsparametrar". I sådana fall krävs inte anrop till DBMS, eftersom dessa operationer inte utförs med databasdata, utan med hjälpinformation från servern.

Länk 3: Klientdel "1C: Enterprise 8". Den kontaktar 1C: Enterprise 8-servern, tar emot resultat från den (det vill säga till exempel dataprover) och ansvarar för användargränssnittet.

"Jag ville ha det bästa."

Efter att ha installerat om 1C: Enterprise 8-servern klagar användarna på en kraftig nedgång i prestanda. 1C: Enterprise mjusom har installerat om är bara förvånad - de säger att han ville ha det bästa, systemet måste börja fungera snabbare ... Analysen av situationen visade att för många resurser tilldelades 1C: Enterprise 8 server: processer (se punkt 3) rphost tog 15,5 GB av 16 GB server-RAM, som ett resultat av det finns praktiskt taget inget tillgängligt RAM-minne för kompatibel MS SQL Server.

Som ett resultat - konstant "swap", onödig belastning på diskundersystemet och extremt långsam exekvering av databasoperationer på grund av det faktum att MS SQL Server inte har tid att behandla förfrågningar från den "överklockade" servern "1C: Enterprise 8" .

Produktkompatibilitet

För uppdaterad data om de versioner av MS SQL Server som rekommenderas för användning i kombination med "1C: Enterprise 8", följ länken http://v8.1c.ru/requirements/.

När du skriver den här artikeln rekommenderar utvecklarna av 1C-företaget följande alternativ:

      1. SQL Server 2008 R2.
      2. SQL Server 2008, Service Pack 1 (SP1) krävs.
    3. SQL Server 2005, Service Pack 3 (SP3) krävs.



Det är tekniskt möjligt, men rekommenderas inte att använda MS SQL Server 2000, det kräver installation av Service Pack 2 (SP2), och det är önskvärt att installera Service Pack 4 (SP4).

Observera att den här versionen för närvarande har utgått, och att den inte heller har en 64-bitarsversion för x86-64-arkitekturen.

Notera:

Det är nödvändigt att vara uppmärksam på operativsystemets inställningar: till exempel, för att M SQL Server 2008 ska fungera effektivt under Server 2008R2 OS, måste du stänga av det balanserade strömförsörjningsläget och sätta det i läget för maximal prestanda .

Installera klient-serverversionen av "1C: Enterprise 8"

"1C installerad"

En av kunderna installerade "1C: Enterprise 8" av en systemadministratör som inte har någon erfarenhet av att arbeta med "1C: Enterprise 8". Och även om han, enligt honom, "installerade 1C" - det fanns ingen klientsida på användardatorerna och serversidan på servern. Analys av situationen klargjorde bilden - i "1C: Enterprise 8"-uppsättningen fanns det 2 diskar - installation av plattformen och installation av databasmallar. Administratören fördjupade sig inte i installationsproceduren - och installerade databasmallarna, och inte de körbara filerna, plattformskomponenter.

Naturligtvis är detta ett atypiskt exempel på en extremt ouppmärksam inställning till arbetet.

När du installerar "1C: Enterprise 8" bör man komma ihåg att följande installeras separat:

      Plattformen "1C: Enterprise 8" är en körbar applikation, en integrerad miljö för utveckling och drift av databaser. När den startar väljs ett av två driftlägen - "Enterprise" (användardefinierat databasskal) eller "Configurator" (integrerad utvecklingsmiljö). En mer fullständig beskrivning finns på länken
      Konfigurationsmallar "1C: Enterprise" är en fil av plattformens interna format, med hjälp av vilken plattformen kan skapa en ren- eller demodatabas av strukturen som ingår i mallen. Med hjälp av uppdateringsmallen kan du också uppdatera strukturen för en befintlig databas som redan är fylld med data.
      När du installerar plattformen bör du vara uppmärksam på valet av komponenter:





1C: Enterprise-komponenten kanske inte är installerad på servern(erna).

I detta fall kommer servern att ge klientdatorer åtkomst till 1C: Enterprise-databaserna, men det kommer inte att vara möjligt att arbeta med databasen i användarläge direkt från servern.

Notera:

64-bitarsversionen av plattformen innehåller inte klientdelen. Under installationen installeras därför 64-bitars serverkomponenter separat på servern och 32-bitars komponenter i klientapplikationen installeras separat.

1C: Enterprise Server-komponenten behövs för att ansluta till MS SQL Server - det här är en applikationsserver som kopplar samman plattformen på klientarbetsstationer och MS SQL Server.

Det är möjligt att installera komponenten i läget för en enkel applikation eller systemtjänst, och naturligtvis rekommenderas det andra alternativet.

När den är installerad "som en tjänst" kommer den här komponenten att startas och köras på uppdrag av den valda användaren:




Efter att komponenten har laddats skapar den flera processer, såsom: "serveragent", "serverklusterhanterare", "serverarbetarprocesser".

Databasfrågor exekveras av arbetsprocesser och serverklusterhanteraren fördelar belastningen mellan dem.

Serverarbetsprocesser kan hanteras (lägg till, ta bort, begränsa användningen av RAM, deklarera primär eller backup) om komponenten "1C: Enterprise Server Administration" är installerad.



Notera:

För 32-bitarsversionen av servern rekommenderas det att installera arbetsprocesser i en sådan mängd för att inte lämna RAM-minnet oanvänt - var och en av dem har en märkbar begränsning av användningen av RAM, från 2 till 4 GB, beroende på systemkonfigurationen.

För en 64-bitarsversion av servern räcker teoretiskt sett två arbetsprocesser - en arbetare och en backup. Men i praktiken, för att säkerställa tillförlitligheten och stabiliteten hos anslutningar på ett betydande (flera hundra) antal användare, krävs ett större antal, det beror på många faktorer - på antalet användare, fyllningen av databasen och volymen av utförda frågor, därför anser författarna att antalet processer i detta fall bör väljas experimentellt.

"Ouroboros"

Efter misslyckad optimering av 1C: Enterprise 8-serverinställningarna signalerade användarna att systemet var extremt långsamt och systemadministratören noterade en konstant 100 % CPU-belastning på servern.

En analys av situationen visade källan till problemet - vid installationen sattes en för liten gräns för användningen av RAM av arbetsprocesser.

Och faktum är att denna begränsning fungerar som följer:

När en serverklusterhanterare ser att en arbetsprocess har överskridit RAM-gränsen, avslutas arbetet med denna process, den kopplas bort, en ny arbetsprocess skapas och anslutningar och användarförfrågningar omfördelas mellan arbetsprocesser.

Den angivna gränsen var så liten (300 MB) att arbetsprocessen inte fullt ut kunde betjäna ens en intensivt arbetande användare - som ett resultat av detta startade serverklusterhanteraren ständigt om arbetsprocesser och återansluter användare. Så snart en ny process skapades och användare anslutna till den nåddes RAM-gränsen nästan omedelbart och orsakade nästa omstart. Detta tog 100 % av processorbelastningen.

1C: Enterprise Server-komponenten behövs inte på klientarbetsstationer, och den kommer inte att kunna starta där, eftersom den kräver en fysisk säkerhetsnyckel.

Om antalet anslutna användare är litet (färre än 50) är applikationsservern vanligtvis installerad på samma dator som MS SQL Server körs.

För system med ett stort antal användare och/eller en stor mängd informationsflöden rekommenderas en separat installation, samt användning av ett serverkluster.

Komponenten 1C: Enterprise Server Administration kan också vara användbar på klienter - till exempel kan du med dess hjälp se en lista över infobaser kopplade till en given 1C: Enterprise-server.

Det rekommenderas starkt att installera det på själva servern.

Tillgång

Notera:

För att kontrollera att åtkomst tillhandahålls räcker det inte att använda 1C: Enterprise serveradministrationsverktyget, och ännu mer räcker det inte med närvaron av servern i "Network Neighborhood"!

Det är nödvändigt på varje klient att logga in i databasen som är installerad på servern - bara detta ger 100% förtroende för att åtkomst tillhandahålls.

1. Beroende på säkerhetspolicyerna används antingen Windows-kontoautentisering eller MS SQL Server-kontoautentisering för MS SQL Server.




I det senare fallet, när du skapar 1C: Enterprise-databasen, kommer systemet att fråga efter inloggning och lösenord för MS SQL Server-kontot (till exempel sa); i det första fallet ska inloggningen och lösenordet lämnas tomma:



och den användaren av systemet, på vars vägnar 1C: Enterprise-servern startas, måste ges rättigheter i MS SQL Server, nämligen:

      fullständiga rättigheter till databasen där infobasen finns
      tillgång till huvuddatabasen (offentlig roll)
      rekommenderas - rättigheterna att skapa en databas, annars måste varje ny databas först skapas med MS SQL Server och först därefter kopplas till 1C: Enterprise-servern
      rekommenderas - rätten att ta bort din databas



Du kan till exempel tilldela användaren i fråga till den fördefinierade rollen processadmin eller sysadmin.

Råd.

Om alla användare har förlorat åtkomsten till arbetsdatabasen samtidigt måste du dubbelkolla användarens rättigheter och roller i MS SQL Server, inklusive de som är inställda för en specifik databas, det vill säga användarmappning:




2. 1C: Enterprise-servern får åtkomst till MS SQL Server via Microsoft Data Access-mekanismen, så dess komponenter måste installeras och 1C: Enterprise-serveranvändaren (se föregående stycke) måste ha rättigheter att starta dem.

3. Kommunikation mellan klienter och server stöds av TCP-protokollet, därför är det nödvändigt att detta protokoll stöds av båda sidor. Det kan finnas problem med att matcha servernamnet och dess IP-adress, till exempel om ett peer-to-peer-nätverk används. I det här fallet bör du registrera korrespondensen i filen [C: \ WINDOWS \] system32 \ drivers \ etc \ hosts.

Råd.

Om nätverket är peer-to-peer - för att säkerställa en permanent anslutning till servern, skapa en nätverksenhet som har åtkomst till någon av mapparna på denna server.

4. Om Named Pipes-protokollet används, och om MS SQL Server och 1C: Enterprise-servern är installerade på olika datorer, måste användaren för vars räkning 1C: Enterprise-servern körs registreras i listan över användare av datorn där MS SQL Server körs.

5. I vissa fall kan ytterligare konfiguration av Windows-brandväggen krävas, det vill säga lägga till undantag.

6. Vissa antivirus kan blockera "oönskad" nätverkstrafik, så du kan behöva lägga till deras undantagslistor.

7. Utgivningen av 1C: Enterprise 8-plattformen måste vara exakt densamma på klienten och på servern.

"Tvillingar"

"En av kunderna använde två databasservrar, som var och en hade en fungerande databas. Användare arbetade - var och en samtidigt med båda databaserna. Supporttjänster uppdaterade 1C: Enterprise 8-plattformen på servrar och klienter ... Och sedan började klagomålen strömma in i. om omöjligheten att ansluta till en eller annan bas. Analysen av situationen visade att uppdateringen på klienter och servrar gjordes av flera personer, och installationsspecialisterna dubbelkollade inte att de installerade samma version. , en server hade en plattformsutgåva, på den andra - den andra hälften av klienterna - den första av dessa utgåvor, på den andra halvan - den andra. Det visar sig att varje användare har tillgång till endast en av databaserna.

För att snabbt lösa problemet var jag tvungen att installera båda plattformsversionerna för varje användare och skapa separata genvägar för att komma in i varje databas.

Inledande inställningar av MS SQL Server och databas

"Och så fungerar det"

MS SQL Server kännetecknas av sin enkelhet i den första installationen, så inte alla administratörer är förbryllade över dess ytterligare konfiguration - efter installationen fungerar databasen som standard, användare är inloggade i den - jobbet är klart. Detta tillvägagångssätt innebär nästan alltid uppkomsten av problem efter ungefär en månad eller två - och, naturligtvis, plötsligt och i det mest obekväma ögonblicket.

Till exempel, om basen är avsedd för redovisning, innan du lämnar in skattedeklarationer, är det ofta nödvändigt att snabbt räkna om vissa uppgifter, och räkna om i stora mängder, säg, "alla inbetalningar av anläggningstillgångar från början av året." Dessutom - under arbetsdagen, utan att stoppa arbetet för andra användare av databasen.

Och, naturligtvis, det är i detta ögonblick som det kommer att upptäckas att basen "fryser" eller "kraschar" med sådan omräkning, eller inte tillåter andra användare att arbeta.

Den här typen av "Murphys lag" gäller för var och en av punkterna nedan.

Innan du börjar använda MS SQL Server som ett DBMS för 1C: Enterprise, rekommenderas:

1. Ställ in värdet på parametern för maximal grad av parallellitet till 1.

Det är:

      efter anslutning till servern anger du serveregenskaperna via snabbmenyn, objektet Egenskaper
      välj sedan sidan Avancerat och redigera parametern för maximal grad av parallellitet






Annars kan vissa frågor som genereras av 1C: Enterprise-servern orsaka felet "Intra-query parallellism orsakade ditt serverkommando (process ID #XX) att låsa sig. Kör frågan igen utan intra-query parallellism genom att använda query hint alternativet (maxdop 1) ) ". Efter detta fel kraschar klientsidan ofta.

Felet kommer inte att manifestera sig stabilt, eftersom frågeplanen utformas annorlunda beroende på den ackumulerade statistiken - det kommer att manifestera sig på stora och komplexa frågor, det vill säga i det mest olyckliga ögonblicket.

2. Skapa en underhållsplan som krymper den temporära tabelldatabasen tempdb. Databasen med temporära tabeller rensas inte alltid automatiskt av 1C: Enterprise-servern, och ibland, som ett resultat av en misslyckad skriven fråga, kan en tillfällig tabell på till exempel 50 GB genereras och inte rensas. Som ett resultat kan diskutrymme ta slut, vilket gör att både klient- och serverdelar kan krascha, och det finns också en liten risk för dataintegritetsintrång.

Det vill säga du behöver:

      gå till MS SQL Management Studio
      efter att du har anslutit till servern öppnar du avsnittet "Underhållsplaner".
      skapa en ny (eller komplettera den befintliga) serviceplanen,
      lägg till objektet "Execute T-SQL Statement task" till den (eftersom tempdb-databasen inte kan väljas i "Shrink database"-uppgiften) med koden




1.ANVÄND
2.
3. GÅ
4.
5.DBCC SHRINKFILE (N "tempdev", 0, TRUNCATEONLY)
6.
7. GÅ
8.
9.DBCC SHRINKFILE (N "templog", 0, TRUNCATEONLY)
10.
11. GÅ

Observera att filnamnet för den temporära tabelldatabasen kanske inte är "tempdev". För att kontrollera detta namn kan du använda skriptet

1.ANVÄND tempdb
2.
3. GÅ
4.
5.EXEC sp_hjälpfil
6.
7. GÅ




"Kanna, koka inte"

Det vanligaste sättet i praktiken att svämma över tempdb och därmed krascha servern är att glömma att ange ett villkor när man går med i tabeller.

Låt oss nämligen säga att vi har två tabeller i databasen, var och en med en storlek på 20 tusen poster. Låt oss säga att en en-till-en-korrespondens kan upprättas mellan deras poster, och vi skriver en fråga som skapar en temporär tabell som innehåller 20 tusen poster med fälten i båda de ursprungliga tabellerna. Men om vi glömmer att specificera anslutningsvillkoret kommer varje post i den första tabellen att gå med varje post i den andra! Det vill säga, den resulterande tabellen blir 20 000 * 20 000 = 400 miljoner poster. Etc.

3. För att minska belastningen på diskundersystemet, rekommenderas det, om möjligt, att sprida arbetsdatabasen och tempdb, loggar och systemväxlingsfilen över olika fysiska diskar.

Det är bättre att ställa in den nödvändiga sökvägen för att lagra filerna i arbetsbasen när du skapar den genom att redigera sökvägskolumnen:




För att ändra den fysiska platsen för de temporära tabelldatabasfilerna, använd kommandot ALTER DATABASE, det vill säga i MS SQL Management Studio måste du köra följande skript ("New query"-kommandot)

1.ANVÄND master
2.
3. GÅ
4.
5.ÄNDRA DATABAS tempdb
6.
7.ÄNDRA FIL (NAMN = tempdev, FILNAMN = "New_Drive: \ New_Directory \ tempdb.mdf")
8.
9. GÅ
10.
11.ÄNDRA DATABAS tempdb

12.
13.ÄNDRA FIL (NAMN = templog, FILNAMN = "New_Drive: \ New_Directory \ templog.ldf")
14.
15. GÅ

4. "Tillväxten" av arbetsdatabasen och dess logg ska inte hindras - det ska inte finnas någon storleksgräns, egenskapen "Autogrowth" ska ställas in som en procentsats, det rekommenderade värdet är 10%. Annars kan det ta orimligt lång tid att lägga till data i databasen, återställa från ett arkiv och andra åtgärder.

För att ställa in den här egenskapen måste du gå till databasegenskaperna via snabbmenyn, välj avsnittet Filer, öppna filegenskapersredigering:



5. Det rekommenderas att aktivera stöd för TCP/IP-nätverksprotokollet i MS SQL Server och inaktivera alla andra, annars blir det gemensamma arbetet för MS SQL Server och 1C: Enterprise-servern mindre stabil.




6. På samma plats - rensa Alias-sektionen, eftersom dess installation leder till fel i interaktionen mellan MS SQL Server och 1C: Enterprise-servern.

Innan du börjar använda databasen rekommenderas:

1. När du skapar en databas från "1C: Enterprise" ställ in "datumoffset" 2000, annars kommer ett försök att registrera datumet tidigare än 01.01.1753 (vilket är möjligt på grund av den mänskliga faktorn) att orsaka felfunktion i databasen.

Uppmärksamhet! Datumförskjutningen kan inte ändras för en befintlig databas!



2. Ställ in återställningsmodellen på Enkel, eller skapa en underhållsplan som säkerhetskopierar databasen dagligen och trunkerar transaktionsloggen (loggfilen). Annars, under vissa operationer, kommer transaktionsloggen (loggfilen) att växa mycket snabbt: till exempel, när databasen omstruktureras, kan ökningen av loggfilens storlek överstiga storleken på själva databasen med flera gånger.




3. Skapa en underhållsplan som utför följande schemalagda uppgifter minst en gång i veckan:

      Skapa en säkerhetskopia av databasen.
      Uppdatera databasstatistik och rensa procedurcachen (observera att egenskapen autoupdate statistics inte rensar procedurcachen).
      Rensning av procedurcachen - ingår inte i standardoperationerna för underhållsplanerna, detta steg måste definieras som exekvering av ett skript (Execute T-SQL Statement) med följande innehåll:
      DBCC FREEPROCCACHE
      Omindexering av databastabeller.






Naturligtvis är det vettigt att ställa in automatisk sändning av e-postmeddelanden om framgångsrika / misslyckade slutförande av uppgifter.




Slutsats

De frågor som oftast orsakar svårigheter för systemadministratörer och implementerare av "1C: Enterprise 8", i samband med gemensam användning av MS SQL Server och klient-serverversionen av "1C: Enterprise 8".

Författaren hoppas att han har lyft fram "myntet på båda sidor" någorlunda konsekvent och enkelt.

P.S. Gör säkerhetskopior oftare!

En server för 1C är ett viktigt tekniskt element när man bygger en IT-infrastruktur. Vi är redo att sälja serverhårdvara med en utmärkt konfiguration till en adekvat kostnad, utan enorma markeringar. Endast lämpliga konfigurationer för att möta dina behov. Lämna en förfrågan så får du en enhet som kan möta organisationens tekniska behov.

Vi är redo att tillhandahålla serverutrustning av vilken komplexitet som helst med en konfiguration som uppfyller kraven. Det finns en bekväm leverans. Självhämtning är tillgänglig i Moskva. I allmänhet, om du vill köpa, behöver du bara ringa, fylla i beräkningsformuläret eller skriva via e-post. Vi erbjuder en mängd olika komponenter, monteringsalternativ, vi kommer att göra ett kommersiellt erbjudande. Vi kommer att bygga på budgeten och samla de mest ändamålsenliga 1C-servrarna.

Om du kom för information, så finns den nedan. Vi försökte lägga upp ett fullfjädrat material som kan ge, om än inte ett uttömmande, men ett omfattande svar på en fråga. Vi varnar dig direkt, information om hårdvara snarare än mjukvara.

  • 1C-server för 5-10 användare
  • 1C-server för 10-20 användare
  • 1C-server för 20-30 användare
  • 1C-server för 30-50 användare
  • 1C-server för 50-100 användare
  • 1C-server för 200+ användare

I detta fall krävs en individuell konfiguration. Det är inte meningsfullt att göra en slumpmässig konfiguration, eftersom belastningen kan variera mycket beroende på användarnas uppgifter. I vissa fall fungerar det inte att vara begränsad till en enhet, ett kluster krävs. Lämna en förfrågan så att specialisten kan kontakta dig och förtydliga detaljerna.

Varje montering kan konfigureras individuellt för dina behov!

Förresten, preliminära parametrar kan väljas i formuläret nedan. Detta gör det möjligt för specialister att snabbt utforma ett kommersiellt förslag.

Få en individuell beräkning av 1C-servern:

Vad är 1C-server?

Mjukvarupaketet "1C: Enterprise 8.3" är en uppsättning affärsverktyg för bokföring, inventering, rapportering i automatiskt läge. Det finns många möjligheter till skärpning för alla segment av verksamhet. Programvaran är ganska flexibel i inställningar, men tyvärr mycket krävande.

Egentligen används komplexet nu överallt. Stora organisationer, budgetinstitutioner, myndigheter. Och inte bara i Ryssland, utan också utomlands.

Produktens utseende på marknaden hände vid ett mycket lämpligt tillfälle, vilket hade en bra effekt på den utbredda användningen av produkten. Till en början fanns det en minimal uppsättning verktyg för redovisning, gradvis utvecklades mjukvaran, förbättrades, nya funktioner och möjligheter tillkom.

Idag har produkten blivit ett fullfjädrat verktyg för att automatisera många aspekter av ett företag och har en välförtjänt popularitet. Trots bristerna utvecklas mjukvaran ständigt, gör innovationer och rättar till bristerna i tidigare versioner.

Implementeringstyper

De flesta små organisationer köper inte en server för 1C. De ser ingen mening med ett sådant slöseri. När allt kommer omkring räcker det att distribuera komplexet på en persondator och sedan ge åtkomst till andra datorer. Det här alternativet kallas "Filläge".

Det är inte kapabelt att ge anständig prestanda, det är bara lämpligt för användning i ett lokalt nätverk (naturligtvis är fjärråtkomst också tillgänglig, men ineffektiv). När antalet samtidiga anrop till databasen överstiger 5 börjar den avta rejält. Fryser med jämna mellanrum. Dessutom är storleksgränsen för en tabell i databasen 4 GB, stora företag, det ska sägas, gör ofta sådana voluminösa tabeller. Naturligtvis är nackdelen med filläget följande faktor: ju högre databasstorlek, desto allvarligare krav på hårdvaruresurser. Tyvärr, om många människor arbetar i denna programvara, eller om du måste skapa stora tabeller, är det bättre att välja ett annat sätt att implementera IT-strukturen.

Och DB-hanteringssystem kommer till undsättning, som fungerar i en klient-server-typ av exekvering. Server 1C stöder följande typer av DBMS:

    MS SQL Server är ett DBMS utvecklat av Microsoft. Pålitlig, funktionell, men kräver ett operativsystem från Windows-familjen. Det finns vissa nackdelar: han älskar RAM, upptar det helt, därför måste du ställa in gränser manuellt, RAM-läckor uppstår regelbundet när du interagerar med tabellmatriser.

    PostgreSQL är en gratis distribution. På platser långsam, vilket har bevisats empiriskt. Lämplig för en liten personal, en stor personal kanske inte fungerar. Men trots bristerna finns det inga begränsningar för stödet e processorer, och det finns ingen RAM-platå.Huvudkravet är systemadministratörens direkta händer. Visar utmärkta resultat när den är korrekt konfigurerad.

    Oracle Database är ett versionsbaserat DBMS med bra funktionalitet, och samtidigt är det väldigt smidigt, det tillåter skrivning och läsning på samma gång. Svagheten är kravet på RAM.

    IBM DB2 Universal Database. Väl lämpad för att hantera stora arrayer. Har omfattande funktionalitet. Tyvärr har denna DBMS mycket som är överflödigt för att upprätthålla kompatibilitet med föråldrade datorer, vilket minskar effektiviteten hos DBMS. Det är föga krävande för RAM, men eftersom tillfälliga tabeller är begränsade. Det maximala antalet kärnor som stöds är 16, vilket medför vissa begränsningar.

De mest effektiva DBMS när det gäller tester är MS SQL Server, Oracle. Om det finns begränsningar i budgeten så bör valet stoppas på PostgreSQL, det är ett gratis DBMS, men tänk på att bara den version som är gjord specifikt för målmjukvaran fungerar. IBM DB2 Universal Database används sällan, eftersom det finns mer produktiva analoger, men till stöd för föråldrad hårdvara och sammansättningar från IBM är bäst.

Vi kommer fram till vad som ska implementeras i klient-servern avrättning mycket effektivare... Annars får vi bromsar och allvarliga restriktioner. Jag hoppas att vi har bestämt oss för valet av en DBMS, men i själva verket kommer jag att säga att den mest bekväma och populära är MS SQL Server.Det stöds bäst av mjukvarupaketet i fråga.

Och jag ska genast svara på en fråga till. Andra SQL-tolkar stöds inte. Åtminstone officiellt.

Följaktligen kommer det att bli mer komplicerat. Enstaka maskiner förvandlas till kluster, personalen utökas och delas in i grupper. Men basen ser ut ungefär som diagrammet. För antalet användare över 50 måste du definitivt använda två enheter. En för databaser, den andra som terminalserver. Annars räcker inte kapaciteten till.

En terminalnod behövs för att ge ström till en tunn klient. En specialiserad enhet, en PC, till och med en smartphone kan fungera som en tunn klient. Följaktligen utförs alla operationer centralt, på en maskin. Det gör kraftfulla enheter i rollen som TC onödiga. Det finns tillräckligt med icke-produktiva enheter som är ansvariga för att visa resultatet av att utföra instruktioner på skärmen.

Databaser kräver utrustning som kan bearbeta hela volymen åt gången och överföra information till terminalnoden, som måste vara mycket kraftfull, eftersom den ansvarar för att virtualisera applikationer och tillhandahålla tekniska resurser.

Ju större organisation, desto bredare antal användare, desto mer produktiv utrustning kommer att krävas. I vissa situationer behövs ett kluster. Det ser ut som att kostnaderna är höga, faktiskt är det billigare att köpa en server för 1C och lågeffektsdatorer än att försöka etablera en IT-infrastruktur utan dem.

Utrustning

Så, vilken typ av hårdvara behöver vi implementeraserver för 1C ? Bra fråga, först måste du bestämma parametrarna i enlighet med vilka vi kommer att ställa kraven:

    antal användare;

    volym DB;

    erforderlig spänst;

    typ av genomförande.

Ersätt ett frågetecken för varje punkt. Svara dem. Det är faktiskt så här uppgiften är formad. Låt oss nu försöka hjälpa till att navigera. Låt oss börja med våra favoritanvändare.

Antalet frågor till SQL är en nyckelpunkt för att förbereda ett tekniskt problem. Varje person eller program kan generera ett visst antal förfrågningar och tar upp en del av hårdvaruresurserna. Så en build för 5 användare kanske inte fungerar för 10, för 50 kommer kraven att se annorlunda ut också. Cirka 100, 200 är detsamma. Naturligtvis är programvara som automatiskt fungerar med 1C ett separat ämne som kräver mer detaljerad övervägande.

Nu den andra punkten. Det finns en databas, därför måste den placeras någonstans, med tanke på den nödvändiga mängden resurser för att fungera. Uppgiften är bara till synes lätt. Du måste välja lämpliga enheter som kan ge hastigheten och den önskade volymen. Det rekommenderas att förutsäga den potentiella storleken på databasen, då blir det lättare att formulera kraven.

Feltolerans är utformad för att säkerställa oavbruten drift. För att hålla säkerhetskopiering igång, en om enhet duplicerat av andra. Ju högre feltoleransnivå, desto mer komplex och dyrare är konfigurationen.

Typen av implementering - faktiskt hur vi kommer att använda den, för vilka ändamål. Inget komplicerat. Om bara redovisning kommer kraften att vara mindre fundamental, men om alla verktyg används krävs en mer kraftfull teknik.

Låt oss gå igenom tillbehören.

CPU

CPU med en prestanda på minst 1700 MHz, även om värdet är lägre i kraven, men skall fokusera på honom, och på slutet köp en ännu kraftfullare processor. Idealisk för Intel Cor e i3-8100, Xeon E3-1220 v6 eller AMD Ryzen 3 1200. Naturligtvis mest NS produktivitet kommer att ge Xeon, men han är den dyraste av alla. Detta är för 5-10 mänsklig ... Om du planerar att ökaboskap av "användare", då är det definitivt värt att välja Xeon.

För 10-20 personer är Intel Xeon E3-1230 v6 redan användbar, till skillnad från sin yngre bror har den en högre klockfrekvens och multithreading. Även om det inte är så grundläggande visar sig CPU:n vara en storleksordning mer kraftfull. De billigare är Core i5-8500 och AMD Ryzen 5 1500X. Men den senare kommer inte att kunna visa samma prestanda som Xeon. Så välj det senare.

Om servern för 1C är planerad för 20-50 personer. Då behöver monteringen en produktiv sådan. Det är bättre att glömma bort processorer i användarsegmentet och titta på serversegmentet. Så. Här behöver du minst Intel Xeon E5-1650 v4 med 6 kärnor 12 trådar och en basfrekvens på 3,6 GHz är ganska bra. Från AMD är EPYC 7261 CPU med 8 kärnor, 16 trådar och en basfrekvens på 2,5 GHz lämplig. Naturligtvis kommer den att visa lägre prestanda, men lite billigare. Men inte mycket.

För 50-100 användare är det värt att ta en titt på Xeon E5-1680 v4 från Intel, den är märkbart kraftfullare än den tidigare CPU:n. Har 8 kärnor, 16 trådar och 3,4 GHz frekvenser. AMD EPYC 7351 med 16 kärnor, 32 trådar, 2,4 GHz basfrekvens kan också användas. Men det är betydligt värre än Intel. Men det är också märkbart billigare.

För mer seriösa lösningar kan du till och med använda system med dubbla processorer, eller segmentera enheter. Till exempel, för ett system med dubbla processorer, är Xeon E5-2643 v4 idealisk. Men att segmentera enheter är mycket mer ändamålsenligt. Det vill säga att implementera lösningen på två enheter samtidigt.

Generellt bör det noteras att antalet kärnor i servern för 1C inte spelar någon avgörande roll. Mer vikt bör läggas på klockhastighet och sekventiell prestanda. Kassera därför flerkärniga processorer på ett säkert sätt. I det granskade mjukvarupaketet är stöd för multithreading och multiprocessing implementerat mycket dåligt. Många kärnor ger inga betydande fördelar.

Lagringsenheter

Flaskhalsen i systemet är traditionellt hårddisk. Låt oss börja med gränssnitten. SATA endast lämplig för sekventiella förfrågningar. Någon form av parallellisering kan endast göras i RÄD- array. Gränssnitt SAS bättre, upp till 10 engångsförfrågningar, men genomströmningen av hårddiskar lämnar fortfarande mycket övrigt att önska. Mest adekvat val - SSD. Solid state-enheter med SAS, från SATA vi rekommenderar att vägra, men också ett alternativ och de är lite billigare. Perfekt - SSD NVMe. De är snabbast av det föreslagna ... Men tyvärr är de väldigt dyra. Utgå från budgeten, men vi rekommenderar att du väljer SSD, då kommer ett mer effektivt system att implementeras.

Bagge

Tja, alla möjliga små saker som moderkortet (ha-ha, liten sak), det är bättre att välja ytterligare enheter beroende på resten av komponenterna. Men strömförsörjningen bör ges särskild uppmärksamhet, det är värt att ta dyra versioner med etiketter Brons, Silver, Guld, Platina. Den senare är den bästa och mest pålitliga, den förra är mindre bra, men bättre än de vanliga billiga.

Se till att göra RAID 1 eller RAID 10 (1 + 0), det andra alternativet är mycket mer effektivt. De tillhandahåller duplicerad minnesskrivning. Det vill säga att samma sak skrivs till flera diskar samtidigt. Men observera att 4 enheter krävs för att skapa en RAID 10.

Och den sista punkten, se till att ta en avbrottsfri strömförsörjning. I händelse av ett strömavbrott kommer det att finnas tid att spara data och försiktigt stänga av servern.

Nej, det kanske fortfarande finns viktiga punkter, bara lär dig dem när du konfigurerar och tänk noga. Systemet kan behöva göras med stor marginal.

användare tar upp resurser. Men att läsa tar mycket mindre resurser än att läsa/skriva. Därför kan en användare ge mer arbetsbelastning än flera andra. Vid planeringen av IT-infrastrukturen kommer detta också att behöva beaktas för att korrekt allokera kapacitet.

Skydd. Säkerhetskopiering tar också upp resurser, så att det inte stör arbetet, det måste tillsättas ytterligare resurser. Brandväggar, antivirus och andra säkerhetsverktyg kräver också en viss mängd kraft.

Feltolerans. Hot-swappable enheter eller nätaggregat, systemredundans. Möjlighet till snabbt byte av komponenter. Ju högre feltolerans desto mindre är chansen att den blir enkel att använda. Den största feltoleransen uppnås i klustret.Server för 1C efter antalet användare

Detta är en nyckelparameter vid val av utrustning. Det rekommenderas att du bekantar dig för att åtminstone ha en ungefärlig uppfattning om vad du kan behöva i processen att skapa en konfiguration.

1C-server för 5 användare

Ingen hög effekt krävs för 5 personer, småföretagskonfigurationer är bra. Om kontoret är litet och du behöver en kompakt plats kan du använda en miniserver . Detta alternativ gör att du kan placera utrustningen kompakt och är bekvämt för transport.

Kostnaden för en sådan enhet är från 30 000 rubel. Konfigurationen skiljer sig som regel inte i delikatesser. En nybörjarprocessor från Intel Xeon E3-serien eller AMD Opteron används. Det finns många färdiga monteringar för denna uppgift. Men när det gäller billiga enheter finns det inga solid state-enheter och utrymme för toppbelastningar.

1C-server för 10 användare

Konfigurationen för 10 anställda liknar den tidigare lösningen, ingen speciell kraft krävs, det räcker med att använda en miniserver. Men toppbelastningen måste tas med i beräkningen, om det finns automatiserade åtgärder, såsom automatisk generering av rapporter från en webbutik, så kan belastningen vara mycket allvarligare.

Här kan du också klara dig med en processor från Intel Xeon E3-linjen, till exempel modell 1240. RAM räcker till 8 GB, men 16 är bättre, och det är också värt att använda en SSD för att hosta applikationen och DB.

1C-server för 20 användare

Här behöver du mer kraftfull utrustning än i den tidigare versionen. Alternativet för ett medelstort företag är optimalt. SSD i ett sådant system måste finnas som standard, och det rekommenderas att använda processorn minst Intel Xeon E3-1280 v6. Annars blir det ingen marginal för toppeffekt.

Server 1C för 50 användare

I den här konfigurationen rekommenderas det att ta hänsyn till komplexiteten i uppgifterna. Om de inte skapar en allvarlig belastning, behövs inte höga kapaciteter. Om det finns en stark eller stor databasvolym kommer det att krävas utrustning med hög resursintensitet, i vissa fall krävs ett kluster av enheter.

Vanligtvis, för denna uppgift, monteras ett system med dubbla processorer baserat på Intel Xeon E5-2643 v4-processorer. 2 av dessa CPU:er kan täcka behoven för en applikation och till och med en databas. Men idealiskt är att skapa SQL-servern en separat kostnad.

Naturligtvis, i det här fallet, är solid-state-enheter inte längre bara rekommenderade, utan viktiga, annars kommer diskundersystemet att förvandlas till en flaskhals.

1C-server för 100 användare

I det här fallet räcker det inte med en enhet. Ofta krävs ett kluster av 1C-servrar, som kan utföra operationer parallellt och gemensamt. Individuell utveckling krävs.

Men den ungefärliga konfigurationen skulle vara så här:

  1. Terminalapplikationsserver. 2 Intel Xeon Silver 4215-processorer för SSD-applikationer med hög TDW, dubbla strömförsörjningar, diskundersystem för säkerhetskopiering av systemtillstånd.

    Server SQL. Liknande processorer, SSD med hög DWPD, även två nätaggregat och ett diskdelsystem med RAID 1 för lagring av säkerhetskopior.

Detta är villkorat, detaljerna kommer att bero på den slutliga tekniska infrastrukturen.

Server för 1C för 200 användare och mer

Med ett sådant antal användare behövs avancerad utrustning som klarar uppgifter av vilken komplexitet som helst. Som i den tidigare versionen kommer en enhet inte att räcka, du behöver ett kluster. Ju högre det totala antalet databassamtal och antalet anställda, desto mer kraftfull utrustning kommer att krävas och följaktligen fler enheter i klustret. Det finns inga universella lösningar, var och en utarbetas individuellt.

För ungefär två år sedan publicerade vi material om 1C Enterprise-servern på Linux-plattformen, intresset för detta ämne är fortfarande stort. Samtidigt har mycket förändrats, 1C-plattformen står inte stilla, och oftast går implementeringen utöver enkel upprepning av instruktioner. Detta är inte förvånande, 1C Enterprise-servern är en komplex produkt, så vi bestämde oss för att starta denna serie artiklar som syftar till en djupare studie av ämnet.

Innan du tar upp musen och springer till serverrummet bör du helt klart behärska det minimum av kunskap som krävs, nämligen att ha en uppfattning om strukturen för 1C Enterprise-servern och syftet med dess individuella komponenter. De flesta problemen under implementeringen beror på att 1C Enterprise-servern uppfattas som en sorts monolitisk formation, där alla komponenter är sammankopplade på ett listigt sätt, känt för en utvecklare. Det är dock inte så, och idag ska vi ta reda på vad vår server består av och hur det hela fungerar med varandra.

Jag vill än en gång betona den extrema betydelsen av det som kommer att diskuteras nedan. Utan denna kunskap blir det problematiskt att uppnå stabil drift, för att inte tala om att diagnostisera flaskhalsar och öka produktiviteten. Som ett resultat kan du få en klassisk bild: hårdvaran verkar vara kraftfull, allt gjordes enligt instruktionerna, men det saktar ner. Tyvärr innehåller de flesta instruktionerna för nybörjare (inklusive våra) endast information om hur man gör det, utan att fokusera på exakt vad som görs och varför. Därför kommer vi att börja förbättra oss.

Klient-serverversionen av 1C Enterprise är en struktur på tre nivåer (den så kallade "tre-länken"), som inkluderar: en klient, en 1C Enterprise-server och en DBMS-server. De är helt oberoende komponenter som kan kombineras i vilken godtagbar kombination som helst för att uppnå bästa resultat. Tänk på följande diagram:

Låt oss börja med klienter, den nuvarande versionen av plattformen (8.2) tillhandahåller användning av tre typer av klienter. Låt oss ta en närmare titt på dem.

Fet klient

Detta är en klassisk 1C-klientapplikation; före lanseringen av plattform 8.2 var det den enda tillgängliga typen av klient. Schemat för den tjocka klienten är som följer: klientapplikationen begär data från 1C-servern och begär dem sedan i sin tur från databasen och överför dem tillbaka till klienten, på vilken de bearbetas. Som du kan se är detta schema inte optimalt: 1C-servern är i huvudsak bara ett mellanlager mellan klienten och databasen, alla beräkningar sker på klienten. Detta ställer ökade krav på klientdatorer. serverns datorkraft används inte. Det bör tydligt förstås att i det tjocka klientläget kommer du inte att få en ökning i prestanda från att byta till klient-serverversionen, kanske till och med vice versa.

Tunn klient

Det kan kallas huvudtypen av klientapplikation för 8.2-plattformen, i teorin, i praktiken, är inte allt så smidigt och vi kommer tillbaka till detta senare. Systemet för dess funktion är fundamentalt annorlunda: klienten begär data från 1C-servern, som tar emot dem från databasen, bearbetar och ger klienten resultatet av beräkningarna. I det här fallet faller den huvudsakliga datorbelastningen på servern, så det finns inga speciella krav på klientdatorn och kanalen från klienten till servern.

Dessutom kan en tunn klient fungera både över TCP/IP-protokollet i det lokala nätverket och över HTTP över Internet. Detta kräver en annan mellanhand - en webbserver som överför klientförfrågningar till 1C-servern, ingen databehandling utförs på webbservern, den används uteslutande som en transport. Fördelarna med en tunn klient är tydliga, den tillåter, i närvaro av en kraftfull server, att avsevärt påskynda arbetet med programmet, nätverkstrafiken minskas också avsevärt, vilket är mycket viktigt för kontorsnätverk.

Webbklient

Dess existens följer logiskt av vissa egenskaper hos en tunn klient, ja, om alla förfrågningar behandlas av servern är transporten HTTP, varför inte använda en webbläsare för arbetet? Driftschemat för webbklienten skiljer sig inte från den tunna klienten, men idag är inte alla funktioner som stöds av den tunna klienten implementerade och fungerar korrekt i webbklienten. Detta kan dels korrigeras i konfigurationen, dels sätter mekanismen för att visa information till webbläsaren begränsningar. 1C har dock en webbklient och den fungerar och ingen stör dig (igen i teorin) att jobba i programmet medan du ligger på stranden med en surfplatta.

Nu om en fluga i salvan i en tunna med honung. För normal drift i tunt- och webbklientläge måste konfigurationen fungera i hanterat applikationsläge och stödja alla funktioner i detta läge. Det hanterade applikationsläget är det viktigaste för 8.2-plattformen och skiljer sig ganska radikalt från vad det var tidigare, inklusive externt. Den visuellt drivna applikationen kan särskiljas av dess nya gränssnitt, som innehåller flikar och hyperlänkar:

Åtminstone är det ovanligt, särskilt i jämförelse med det klassiska gränssnittet, men skynda dig inte att glädja dig när du ser det nya gränssnittet, förutom utseendet måste konfigurationen stödja exekveringen på servern av all dess funktionalitet, det kan väl visa sig att i tunna och webbklient läge inte kommer att vara tillgängliga alla möjligheter.

Idag fungerar bara en del av typiska konfigurationer i det hanterade applikationsläget, såsom: Ledning av ett litet företag, Handelsledning 11, Detaljhandel 2 och Löne- och personalhantering. Dessa lösningar kan dra full nytta av den nya plattformen. Enterprise Accounting 2.0 använder inte det hanterade applikationsläget och kommer inte att fungera i tunna klienter och webbklienter, detsamma gäller för många tredjepartslösningar, såsom "Fireplace" etc.

Slutsatser

När det är möjligt bör du använda en tunn klient, eftersom detta gör att du kan flytta alla beräkningar till serversidan och arbeta bekvämt även på långsamma kanaler, inkl. genom internet. Man bör komma ihåg att arbete i Configurator-läget endast är möjligt genom en tjock klient, som också måste användas för att arbeta med konfigurationer som ännu inte har överförts till det hanterade applikationsläget.

Webbklienten ska användas när det inte går att använda en tunn, till exempel från någon annans PC på en affärsresa, och man bör vara beredd på att vissa funktioner saknas eller fungerar felaktigt.

1C-serverkluster

Efter att ha hanterat klienterna, låt oss gå vidare till servrarna. Systemet möjliggör användning av tre typer av servrar: Server 1C, DBMS-server och webbserver. Det är viktigt att förstå att dessa servrar är helt oberoende av varandra, detta ger systemet flexibilitet och möjliggör en rationell användning av datorresurser.

Systemet ställer inte heller några plattformskrav. Du kan dela både Windows- och Linux-servrar, Apache och IIS kan användas som webbserver, PostgreSQL, MS SQL Server, IBM DB2 och Oracle stöds från DBMS. Därför stör ingen dig att skapa ett schema där en 1C-server som körs på en Linux-plattform kommer att fungera tillsammans med en databasserver som kör Windows Server och IIS och vice versa. Dessutom kan du använda flera DBMS-servrar (liksom webbservrar) med olika databaser på olika servrar.

Detta tillvägagångssätt gör att du flexibelt kan kombinera, utöka och ändra den befintliga konfigurationen beroende på de aktuella behoven, samtidigt som allt för slutanvändaren blir så transparent som möjligt. Du kan till exempel flytta en resurskrävande IS till en separat DBMS-server genom att endast ändra parametrarna för att ansluta till databasen i serverinställningarna utan att påverka klientinställningarna.

Och slutligen, det mest intressanta: ett kluster av 1C Enterprise-servrar. Ja, det stämmer, inte en enda server, utan ett kluster av servrar. Vanligtvis är det här förvirringen börjar, speciellt om det bara finns en server. Allt faller dock på plats om vi tar hänsyn till att konceptet med ett serverkluster i första hand är logiskt, men detta tillvägagångssätt låter dig enkelt skala schemat genom att öka dess prestanda eller feltolerans.

Alla kluster består av 1C Enterprise Central-servern och fungerande servrar. I sin enklaste konfiguration kommer det att vara samma fysiska server. Men vid behov kan vi lägga till ytterligare fungerande servrar, vars belastning kommer att balanseras av den centrala servern. Detta tillåter användare att snabbt och transparent öka systemets datorkraft och öka feltoleransen. Klustret ställer inte heller krav på plattformshomogenitet, det kan inkludera både Windows- och Linux-servrar.

Vilka slutsatser kan dras av ovanstående? För det första är 1C Enterprise klient-serversystem mycket flexibelt och låter dig använda de tillgängliga datorresurserna på ett optimalt sätt för att få ett optimalt resultat. Vilken konfiguration man ska välja beror på de specifika uppgifterna och de medel som tilldelats för deras lösning.

Till exempel, om du har en lätt belastning och du använder en tjock klient och en konfiguration som inte stöder det hanterade applikationsläget, är det vettigt att kombinera ett 1C-serverkluster och en DBMS-server på en fysisk server, eftersom det är mycket slöseri att tilldela en separat maskin för lagret mellan klienten och databasen.

Omvänt, när du använder en hanterad applikation i tunn klientläge, är det bättre att separera DBMS-servern och serverklustret i olika servrar, som var och en kommer att optimeras för sin egen uppgift.