1s er langsommere på den nye server hvorfor. Tips til automatisering

Denne artikel diskuterer de vigtigste faktorer: Når 1C sænker farten, fryser 1C, og 1C virker langsomt. Dataene er udarbejdet på baggrund af SoftPoints mangeårige erfaring med at optimere store IT-systemer bygget på 1C + MS SQL kombinationen.

Til at begynde med er det værd at bemærke myten om, at 1C ikke er beregnet til det samtidige arbejde af et stort antal brugere, aktivt støttet af forumbrugere, der i disse indlæg finder tryghed og en grund til at forlade alt, som det er. Med tilstrækkelig tålmodighed og viden kan du bringe systemet til et hvilket som helst antal brugere. Langsom drift og frysning af 1C vil ikke længere være et problem.

Fra praksis: Den nemmeste måde at optimere er 1C v7.7 (Optimering af 1C 8.1, 1C 8.2, 1C 8.3 er en sværere opgave, da applikationen består af 3 links). At bringe det op på 400 samtidige brugere er et ret typisk projekt. Op til 1500 er allerede svært og kræver hårdt arbejde.

Den anden myte: for at forbedre ydeevnen af ​​1C og slippe af med 1C fryser, skal du installere en mere kraftfuld server. Som regel er det i optimeringsprojekter i 95 % af tilfældene muligt at opnå acceptabel ydeevne enten uden en opgradering overhovedet, eller ved at opdatere en mindre del af udstyret, for eksempel ved at tilføje RAM. Det skal bemærkes, at udstyret stadig skal være serverbaseret, især diskundersystemet. Et forældet diskundersystem er blot en af ​​grundene til, at 1C arbejder langsomt.

Den vigtigste begrænsning, når du arbejder med flere brugere i 1C, er låsemekanismen. Det er blokeringen i 1C, og ikke serverudstyret, der normalt forhindrer et stort antal personer i at arbejde i databasen. For at overvinde dette problem skal du arbejde hårdt og ændre låselogikken i 1C - sænke dem fra tabel- til rækkebaserede. Så vil f.eks. bogføring af et dokument kun blokere ét, og ikke alle dokumenter i systemet.

Figur 1. 1C-blokeringskø i PerfExpert-overvågningssystemet, med information om 1C-brugere, et konfigurationsmodul og en specifik kodelinje i dette modul.

Ændring af 1C-låsemekanismen er en meget kompleks teknologi. Ikke alle kan trække sådan et trick, og for dem er der kun én vej tilbage - optimering af strukturen og fremskyndelse af udførelsestiden for operationer. Faktum er, at blokering i 1C og udførelsestiden for operationer er stærkt indbyrdes forbundne indikatorer. For eksempel, hvis handlingen med at sende et dokument tager 15 sekunder, så hvis der er et stort antal brugere, er der stor sandsynlighed for, at en anden under overførslen vil forsøge at bogføre dokumentet og vil vente med at blokere. Hvis du øger udførelsestiden til mindst 1 sekund, vil 1C-blokering for denne operation blive reduceret betydeligt.

Mere farligt ud fra et blokeringssynspunkt er gruppebehandling, som kan tage lang tid at gennemføre og samtidig forårsage 1C-blokering. Enhver behandling, der ændrer data, for eksempel gendannelse af sekvensen eller batchbehandling af dokumenter, låser tabellerne og forhindrer andre brugere i at bogføre dokumenter. Jo hurtigere disse behandlinger udføres, jo hurtigere mindre tid blokerer og gør det nemmere for brugerne at arbejde.

Tunge rapporter, der udfører skrivebeskyttede handlinger, kan også være farlige med hensyn til låsning, selvom det ser ud til, at de ikke låser data. Sådanne rapporter påvirker intensiteten af ​​blokering i 1C, hvilket bremser andre operationer i systemet. Det vil sige, at hvis rapporten er meget tung og optager størstedelen af ​​serverens ressourcer, kan det vise sig, at før rapporten blev lanceret, blev de samme handlinger udført i 1 sekund, og under udførelse af rapporten blev de udført i 15 sekunder. . Naturligvis vil intensiteten af ​​blokering også stige, efterhånden som udførelsestiden for operationer øges.

Figur 2. Belastning på den fungerende server i form af konfigurationsmoduler, fra alle brugere. Hvert modul har sin egen farve. Der er en tydelig ubalance i belastningen skabt fra 1C.

Grundreglen for optimering er, at dokumentbehandling skal tage et minimum af tid og kun udføre nødvendige operationer. Registerberegninger bruges f.eks. ofte ved bogføringsbehandling uden at angive filtreringsbetingelser. I dette tilfælde skal du angive filtre for registre, der giver dig mulighed for at opnå den bedste selektivitet, uden at glemme, at registret ifølge filtreringsbetingelserne skal have passende indekser.

Ud over at lancere tunge rapporter kan ikke-optimale indstillinger af MS SQL og MS Windows sænke udførelsestiden for operationer og derfor øge intensiteten af ​​1C-blokering. Dette problem opstår hos 95 % af klienterne. Det skal bemærkes, at disse er servere for seriøse organisationer, hele afdelinger af højt kvalificerede administratorer er engageret i deres support og konfiguration.

Hovedårsagen er ikke korrekte indstillinger server er administratorers frygt for at ændre noget på en kørende server og reglen "Det bedste er det godes fjende." Hvis administratoren ændrer serverindstillingerne og problemer begynder, vil al myndighedernes vrede strømme ud over den skødesløse administrator. Derfor er det mere rentabelt for ham at lade alt være, som det er, og ikke tage et eneste skridt uden ordre fra sine overordnede, end at eksperimentere på eget ansvar.

Den anden grund er manglen på klare oplysninger om netværksoptimeringsproblemer. Der er mange meninger, der ofte helt modsiger hinanden. Enhver mening dedikeret til optimering har sine modstandere og fanatikere, som vil forsvare den. Som følge heraf er der større sandsynlighed for, at internettet og fora forvirrer serverindstillingerne end til at hjælpe. I en situation med sådan usikkerhed har administratoren endnu mindre lyst til at ændre noget på en server, der på en eller anden måde fungerer.

Ved første øjekast er billedet klart - du skal optimere alt, hvad der bremser driften af ​​1C-serveren. Men lad os forestille os, at vi er i stedet for en sådan optimizer - lad os sige, at vi har 1C 8.1 8.2 8.3 UPP og 50 brugere arbejder på samme tid. En frygtelig dag begynder brugerne at klage over, at 1C er langsom, og vi skal løse dette problem.

Først og fremmest ser vi på, hvad der sker på serveren - hvad nu hvis nogle særligt uafhængige antivirus udfører en fuld scanning af systemet. En inspektion viser, at alt er i orden - serveren indlæses 100%, og kun ved sqlservr-processen.

Fra praksis: En af junioradministratorerne slog på eget initiativ automatisk opdatering til på serveren, Windows og SQL opdaterede gladeligt, og efter opdateringen begyndte en massiv opbremsning i 1C-brugernes arbejde, eller 1C frøs simpelthen.

Det næste trin er at kontrollere, hvilke programmer der indlæser MS SQL. Inspektion viser, at belastningen genereres af ca. 20 applikationsserverforbindelser.

Fra praksis: et program, der omgående opdaterer data på et websted, gik i en løkke, og i stedet for at opdatere en gang hver 4. time, gjorde det det kontinuerligt, uden pauser, tungt at belaste serveren og blokere dataene.

Yderligere analyse af situationen står over for store vanskeligheder. Vi har allerede fundet ud af, at belastningen kommer direkte fra 1C, men hvordan kan vi forstå, hvad brugerne præcist gør? Eller i det mindste hvem de er. Det er godt, hvis der er 10 1C-brugere i en organisation, så kan du bare gå dem igennem og finde ud af, hvad de laver nu, men i vores tilfælde er der halvtreds af dem, og de er spredt ud over flere bygninger.

I det eksempel, vi overvejer, er situationen endnu ikke kompleks. Forestil dig, at afmatningen ikke var i dag, men i går. I dag gentager situationen sig ikke, alt er i orden, men du skal finde ud af, hvorfor operatørerne ikke kunne arbejde i går (de klagede naturligvis først, før de tog hjemmefra, da de kan lide at chatte hele dagen lang, fordi intet fungerer mere end at arbejde ) . Denne sag understreger behovet for et serverlogningssystem, der altid vil føre en historie over de vigtigste parametre for serverens drift, og hvorfra hændelsessekvensen kan gendannes.

Et logningssystem er ganske enkelt et uundværligt værktøj i systemoptimering. Hvis du tilføjer muligheden for at se den aktuelle status online, får du et serverstatusovervågningssystem. Ethvert optimeringsprojekt begynder med at indsamle serverstatistik for at identificere flaskehalse.

Da vi begyndte at arbejde inden for optimering, prøvede vi mange serverovervågningssystemer, desværre kunne vi ikke finde noget, der løste dette problem på det rigtige niveau, så vi var nødt til at lave et system på egen hånd. Resultatet blev et unikt produkt, PerfExpert, som gjorde det muligt at automatisere og effektivisere processerne for optimering af IT-systemer. Programmet er kendetegnet ved dets tætte integration med 1C, fraværet af nogen mærkbar ekstra belastning og dets gentagne gange beviste egnethed til praktisk brug i kampsituationer.

For at vende tilbage til vores eksempel er det mest sandsynlige resultat: Administratoren siger: "Det er programmørerne, der har skrevet konfigurationen, der er skylden." Men vognen, som man siger, er der stadig. Som følge heraf sænker 1C farten, fryser eller arbejder langsomt.

Under alle omstændigheder, for at løse 1C ydeevneproblemer, anbefaler vi, at du først køber og bruger ydeevneovervågning PerfExpert , vil dette give dig mulighed for at træffe den rigtige beslutning ledelsesbeslutning og spar penge. Produktet er velegnet til både små 1C:Enterprise informationssystemer - op til 50 brugere, og til systemer - fra 1000 brugere. Siden juli 2015 præstationsovervågning PerfExpert modtaget et 1C:Compatible certifikat, bestået test i Microsoft og hjælper med at løse ydeevneproblemer ikke kun for 1C-systemer, men også for andre informationssystemer baseret på MS SQL Server (Axapta, CRM Dynamics, Doc Vision og andre).

Hvis du kunne lide oplysningerne, anbefales yderligere handlinger:

- Hvis du selvstændigt vil håndtere tekniske problemer med 1C ydeevne (1C 7.7, 1C 8.1, 1C 8.2,1C 8.3) og andre informationssystemer, så er der til dig en unik liste over tekniske artikler i vores almanak (blokering og deadlocks, stor belastning på CPU'en og diske, databasevedligeholdelse og indeksjustering er blot en lille del af de tekniske materialer, som du finder der).
.
- Hvis du gerne vil diskutere præstationsproblemer med vores ekspert eller bestille en PerfExpert præstationsovervågningsløsning, så læg en anmodning, og vi kontakter dig hurtigst muligt.

Vi modtager ofte spørgsmål om, hvad der bremser 1c, især når vi skifter til version 1c 8.3, takket være vores kolleger fra Interface LLC fortæller vi dig detaljeret:

I vores tidligere publikationer har vi allerede været inde på virkningen af ​​produktivitet disk undersystem dog med en hastighed på 1C dette studie vedrørte lokal brug af applikationen på en separat pc eller terminal server. Samtidig involverer de fleste små implementeringer arbejde med en fildatabase over et netværk, hvor en af ​​brugerens pc'er bruges som server, eller en dedikeret filserver baseret på en almindelig, oftest også billig, computer.

En lille undersøgelse af russisksprogede 1C-ressourcer viste det dette spørgsmål undgår det flittigt, hvis der opstår problemer, anbefales det normalt at skifte til klient-server eller terminaltilstand. Det er også blevet næsten generelt accepteret, at konfigurationer på en administreret applikation fungerer meget langsommere end normalt. Som regel er de anførte argumenter "jern": "Regnskab 2.0 fløj bare, men "trojkaen" bevægede sig næsten ikke," selvfølgelig er der en vis sandhed i disse ord, så lad os prøve at finde ud af det.

Ressourceforbrug, første øjekast

Før vi begyndte denne undersøgelse, satte vi os to mål: at finde ud af, om administrerede applikationsbaserede konfigurationer faktisk er langsommere end konventionelle konfigurationer, og hvilke specifikke ressourcer der har den primære indflydelse på ydeevnen.

Til test tog vi to virtuelle maskiner, der kører henholdsvis Windows Server 2012 R2 og Windows 8.1, og tildelte dem 2 kerner af værten Core i5-4670 og 2 GB Random Access Memory, hvilket svarer til cirka den gennemsnitlige kontormaskine. Serveren blev placeret på et RAID 0-array med to WD Se, og klienten blev placeret på et lignende array af almindelige diske.

Som eksperimentelle baser valgte vi flere konfigurationer af Accounting 2.0, udgivelse 2.0.64.12 , som derefter blev opdateret til 3.0.38.52 , blev alle konfigurationer lanceret på platformen 8.3.5.1443 .

Det første, der tiltrækker opmærksomhed, er den øgede størrelse af trojkaens informationsbase, som er vokset betydeligt, samt en meget større appetit på RAM:

Vi er klar til at høre det sædvanlige: "hvorfor føjede de det til disse tre", men lad os ikke skynde os. I modsætning til brugere af klient-server-versioner, som kræver en mere eller mindre kvalificeret administrator, tænker brugere af filversioner sjældent på at vedligeholde databaser. Også ansatte i specialiserede virksomheder, der servicerer (læs opdatering) af disse databaser, tænker sjældent over dette.

I mellemtiden er 1C informationsbasen et fuldgyldigt DBMS af sit eget format, som også kræver vedligeholdelse, og til dette er der endda et værktøj kaldet Test og korrigering af informationsgrundlaget. Måske spillede navnet en grusom joke, som på en eller anden måde antyder, at dette er et værktøj til fejlfinding af problemer, men lav ydeevne er også et problem, og omstrukturering og reindeksering sammen med tabelkomprimering er velkendte værktøjer til at optimere databaser for enhver DBMS-administrator . Skal vi tjekke?

Efter at have anvendt de valgte handlinger "tabte databasen sig kraftigt" og blev endnu mindre end de "to", som ingen nogensinde havde optimeret, og RAM-forbruget faldt også lidt.

Efterfølgende, efter indlæsning af nye klassifikatorer og mapper, oprettelse af indekser osv. størrelsen af ​​basen vil generelt stige, de "tre" baser er større end de "to" baser. Dette er dog ikke vigtigere, hvis den anden version var tilfreds med 150-200 MB RAM, så har den nye udgave brug for en halv gigabyte, og denne værdi skal tages i betragtning, når du planlægger de nødvendige ressourcer til at arbejde med programmet.

Net

Netværksbåndbredde er en af ​​de vigtigste parametre for netværksapplikationer, især som 1C i filtilstand, som flytter betydelige mængder data på tværs af netværket. De fleste netværk til små virksomheder er bygget på basis af billigt 100 Mbit/s-udstyr, så vi begyndte at teste ved at sammenligne 1C-ydeevneindikatorer i 100 Mbit/s- og 1 Gbit/s-netværk.

Hvad sker der ved opstart fildatabase 1C over netværket? Klienten downloader nok til midlertidige mapper et stort antal af information, især hvis dette er den første, "kolde" start. Ved 100 Mbit/s forventes vi at løbe ind i kanalbredden, og downloading kan tage lang tid, i vores tilfælde omkring 40 sekunder (omkostningen ved at dividere grafen er 4 sekunder).

Den anden lancering er hurtigere, da nogle af dataene er gemt i cachen og forbliver der indtil genstart. Skift til et gigabit-netværk kan fremskynde programindlæsningen betydeligt, både "koldt" og "varmt", og forholdet mellem værdier respekteres. Derfor besluttede vi at udtrykke resultatet i relative værdier, idet vi tog det meste stor betydning hver måling:

Som du kan se på graferne, indlæses Accounting 2.0 ved enhver netværkshastighed dobbelt så hurtigt, overgangen fra 100 Mbit/s til 1 Gbit/s giver dig mulighed for at fremskynde downloadtiden fire gange. Der er ingen forskel mellem de optimerede og ikke-optimerede "trojka"-databaser i denne tilstand.

Vi kontrollerede også netværkshastighedens indflydelse på driften i tunge tilstande, for eksempel under gruppeoverførsler. Resultatet er også udtrykt i relative værdier:

Her er det mere interessant, den optimerede base af de "tre" i et 100 Mbit/s netværk arbejder med samme hastighed som de "to", og den ikke-optimerede viser dobbelt så dårlige resultater. På gigabit forbliver forholdet det samme, den uoptimerede "tre" er også halvt så langsom som de "to", og den optimerede halter en tredjedel bagud. Også overgangen til 1 Gbit/s giver dig mulighed for at reducere eksekveringstiden med tre gange for udgave 2.0 og med det halve for udgave 3.0.

For at evaluere effekten af ​​netværkshastighed på det daglige arbejde, brugte vi Præstationsmåling, der udfører en sekvens af forudbestemte handlinger i hver database.

Faktisk er netværksgennemstrømning ikke en flaskehals til daglige opgaver, en uoptimeret "tre" er kun 20 % langsommere end en "to", og efter optimering viser den sig at være omtrent det samme hurtigere - fordelene ved at arbejde i tynd klienttilstand er tydelige. Overgangen til 1 Gbit/s giver ikke den optimerede base nogen fordele, og den uoptimerede og de to begynder at arbejde hurtigere og viser en lille forskel på sig selv.

Fra de udførte tests bliver det klart, at netværket ikke er en flaskehals for nye konfigurationer, og den administrerede applikation kører endnu hurtigere end normalt. Du kan også anbefale at skifte til 1 Gbit/s, hvis tunge opgaver og databaseindlæsningshastighed er kritisk for dig. I andre tilfælde giver nye konfigurationer dig mulighed for at arbejde effektivt selv i langsomme 100 Mbit/s netværk.

Så hvorfor er 1C langsom? Vi vil se nærmere på det.

Serverdiskundersystem og SSD

I den forrige artikel opnåede vi en stigning i 1C-ydeevnen ved at placere databaserne på en SSD. Måske er ydeevnen af ​​serverens diskundersystem utilstrækkelig? Vi målte ydeevnen af ​​en diskserver under en gruppekørsel i to databaser på én gang og fik et ret optimistisk resultat.

På trods af det relativt store antal input/output operationer per sekund (IOPS) - 913, oversteg kølængden ikke 1,84, hvilket er et meget godt resultat for et to-disk array. Baseret på dette kan vi antage, at et spejl lavet af almindelige diske vil være nok til normal drift af 8-10 netværksklienter i tunge tilstande.

Så er der brug for en SSD på en server? Den bedste måde at besvare dette spørgsmål på vil være gennem test, som vi udførte ved hjælp af en lignende metode, netværksforbindelsen er 1 Gbit/s overalt, resultatet er også udtrykt i relative værdier.

Lad os starte med databasens indlæsningshastighed.

Det kan virke overraskende for nogle, men SSD'en på serveren påvirker ikke databasens indlæsningshastighed. Den vigtigste begrænsende faktor her, som den forrige test viste, er netværksgennemstrømning og klientydelse.

Lad os gå videre til at lave om:

Vi har allerede bemærket ovenfor, at diskens ydeevne er ganske tilstrækkelig selv til at arbejde i tunge tilstande, så hastigheden på SSD'en er heller ikke påvirket, bortset fra den uoptimerede base, som på SSD'en har indhentet den optimerede. Faktisk bekræfter dette endnu en gang, at optimeringsoperationer organiserer information i databasen, hvilket reducerer antallet af tilfældige I/O-operationer og øger adgangshastigheden til den.

I hverdagens opgaver er billedet det samme:

Kun den ikke-optimerede database drager fordel af SSD'en. Du kan selvfølgelig købe en SSD, men det ville være meget bedre at tænke på rettidig vedligeholdelse af databasen. Glem heller ikke at defragmentere sektionen med infobaser på serveren.

Client disk subsystem og SSD

Vi diskuterede indflydelsen af ​​SSD på hastigheden af ​​driften af ​​lokalt installeret 1C i det tidligere materiale, er meget af det, der blev sagt, også sandt for arbejde i netværkstilstand. Faktisk bruger 1C ganske aktivt diskressourcer, herunder til baggrunds- og rutineopgaver. På figuren nedenfor kan du se, hvordan Accounting 3.0 ret aktivt tilgår disken i omkring 40 sekunder efter indlæsning.

Men samtidig skal du være opmærksom på, at for en arbejdsstation, hvor der arbejdes aktivt med en eller to informationsdatabaser, er ydeevneressourcerne på en almindelig masseproduceret HDD ganske tilstrækkelige. At købe en SSD kan fremskynde nogle processer, men du vil ikke bemærke en radikal acceleration i det daglige arbejde, da f.eks. belastningen vil være begrænset gennemløb netværk.

Langsom HDD kan bremse nogle handlinger, men kan ikke i sig selv få programmet til at bremse.

vædder

På trods af at RAM nu er uanstændigt billig, fortsætter mange arbejdsstationer med at arbejde med den mængde hukommelse, der blev installeret, da de blev købt. Det er her de første problemer venter. Allerede baseret på det faktum, at den gennemsnitlige "trojka" kræver omkring 500 MB hukommelse, kan vi antage, at en samlet mængde RAM på 1 GB ikke vil være nok til at arbejde med programmet.

Vi reducerede systemhukommelsen til 1 GB og lancerede to informationsdatabaser.

Ved første øjekast er alt ikke så slemt, programmet har dæmpet sin appetit og passer godt ind i den tilgængelige hukommelse, men lad os ikke glemme, at behovet for driftsdata ikke har ændret sig, så hvor blev det af? Nulstil til disk, cache, swap osv., essensen af ​​denne operation er unødvendig dette øjeblik data sendes fra hurtig RAM, hvis mængde ikke er nok, til langsom diskhukommelse.

Hvor fører det hen? Lad os se, hvordan systemressourcer bruges i tunge operationer, lad os for eksempel starte en gruppegenoverførsel i to databaser på én gang. Først på et system med 2 GB RAM:

Som vi kan se, bruger systemet aktivt netværket til at modtage data, og processoren til at behandle dem er ubetydelig under behandlingen, men den er ikke en begrænsende faktor.

Lad os nu reducere hukommelsen til 1 GB:

Situationen ændrer sig radikalt, hovedbelastningen falder nu på harddisken, processoren og netværket er inaktive og venter på, at systemet læser de nødvendige data fra disken ind i hukommelsen og sender unødvendige data dertil.

Samtidig viste selv subjektivt arbejde med to åbne databaser på et system med 1 GB hukommelse sig at være ekstremt ubehageligt, og magasiner åbnet med en betydelig forsinkelse og aktiv adgang til disken. For eksempel tog åbningen af ​​journalen Salg af varer og tjenester omkring 20 sekunder og blev al denne tid ledsaget af høj diskaktivitet (fremhævet med en rød linje).

For objektivt at vurdere virkningen af ​​RAM på ydeevnen af ​​konfigurationer baseret på en administreret applikation, udførte vi tre målinger: indlæsningshastigheden af ​​den første database, indlæsningshastigheden af ​​den anden database og gruppegenkøring i en af ​​databaserne . Begge databaser er fuldstændig identiske og blev oprettet ved at kopiere den optimerede database. Resultatet er udtrykt i relative enheder.

Resultatet taler for sig selv: Hvis indlæsningstiden stiger med omkring en tredjedel, hvilket stadig er ret acceptabelt, øges tiden til at udføre operationer i databasen tre gange, der er ingen grund til at tale om noget behageligt arbejde under sådanne forhold. Forresten, dette er tilfældet, når køb af en SSD kan forbedre situationen, men det er meget nemmere (og billigere) at håndtere årsagen, ikke konsekvenserne, og bare købe den rigtige mængde RAM.

Mangel på RAM er hovedårsagen til, at arbejdet med nye 1C-konfigurationer viser sig at være ubehageligt. Konfigurationer med 2 GB hukommelse ombord bør betragtes som minimalt egnede. Samtidig skal du huske på, at der i vores tilfælde blev skabt "drivhus"-forhold: et rent system, kun 1C og task manageren kørte. I I virkeligheden på en arbejdscomputer, som regel er en browser, en kontorpakke åbne, et antivirus kører osv. osv., så fortsæt fra behovet for 500 MB pr. database plus noget reserve, så du under tunge operationer gør ikke støde på mangel på hukommelse og et kraftigt fald i produktiviteten.

CPU

Uden overdrivelse kan den centrale processor kaldes computerens hjerte, da det er den, der i sidste ende behandler alle beregninger. For at evaluere dens rolle gennemførte vi et andet sæt test, det samme som for RAM, hvilket reducerede antallet af kerner, der er tilgængelige for den virtuelle maskine fra to til én, og testen blev udført to gange med hukommelsesmængder på 1 GB og 2 GB.

Resultatet viste sig at være ret interessant og uventet: en mere kraftfuld processor påtog sig ganske effektivt belastningen, når der var mangel på ressourcer, resten af ​​tiden uden at give nogen håndgribelige fordele. 1C Enterprise kan næppe kaldes en applikation, der aktivt bruger processorressourcer, den er ret krævende. Og under vanskelige forhold belastes processoren ikke så meget ved at beregne dataene i selve applikationen, men ved at servicere overheadomkostninger: yderligere input/outputoperationer osv.

konklusioner

Så hvorfor er 1C langsom? Først og fremmest er dette en mangel på RAM; hovedbelastningen i dette tilfælde falder på harddisken og processoren. Og hvis de ikke skinner med ydeevne, som det normalt er tilfældet i kontorkonfigurationer, så får vi situationen beskrevet i begyndelsen af ​​artiklen - de "to" fungerede fint, men de "tre" er ugudeligt langsom.

På andenpladsen er netværkets ydeevne; en langsom 100 Mbit/s kanal kan blive en rigtig flaskehals, men samtidig er den tynde klienttilstand i stand til at opretholde et ret behageligt driftsniveau selv på langsomme kanaler.

Så bør du være opmærksom på diskdrevet at købe en SSD er usandsynligt en god investering, men at udskifte drevet med et mere moderne ville være en god idé. Forskellen mellem generationer harddiske kan vurderes af til følgende materiale: Gennemgang af to billige Western Digital Blue-seriedrev 500 GB og 1 TB.

Og endelig processoren. En hurtigere model vil bestemt ikke være overflødig, men giver meget mening Der er ingen måde at øge dens ydeevne på, medmindre denne pc bruges til tunge operationer: gruppebehandling, tunge rapporter, lukning af måneden osv.

Vi håber dette materiale vil hjælpe dig med hurtigt at forstå spørgsmålet "hvorfor 1C er langsom" og løse det mest effektivt og uden ekstra omkostninger.

Alle, der arbejder med produkter på 1C:Enterprise-platformen, har sikkert hørt sætningen "1C er langsom." Nogle mennesker klagede over det, andre accepterede klager. I denne artikel vil vi prøve at se på de mest almindelige årsager til dette problem og muligheder for at løse det.

Lad os vende os til en metafor: før du finder ud af, hvorfor en person ikke kom et sted, skal du sørge for, at han har ben at gå. Så lad os starte med hardware- og netværkskravene.

Hvis Windows 7 er installeret:

Hvis du har Windows 8 eller 10 installeret:



Husk det også Fri plads Disken skal have mindst 2GB, og netværksforbindelsen skal have en hastighed på mindst 100 MB/sek.

Det giver ikke meget mening at overveje egenskaberne ved servere i klient-server-versionen, for i dette tilfælde afhænger alt af antallet af brugere og detaljerne i de opgaver, de løser i 1C.

Når du vælger en serverkonfiguration, skal du huske på følgende:

  • Én 1C-serverarbejdsproces bruger i gennemsnit 4 GB (ikke at forveksle med en brugerforbindelse, da én arbejdsproces kan have så mange forbindelser, som du angiver i serverindstillingerne);
  • Brug af 1C og en DBMS (især MS SQL) på én fysisk server giver fordele ved behandling af store datamængder (f.eks. lukke en måned, beregne et budget baseret på en model osv.), men reducerer ydeevnen betydeligt under aflastede operationer ( for eksempel oprettelse og gennemførelse af implementeringsdokument osv.);
  • Husk at 1C-servere og DBMS skal forbindes over en kanal "tyk" på 1 GB;
  • Brug højtydende diske og kombiner ikke 1C- og DBMS-serverrollerne med andre roller (f.eks. fil, AD, domænecontroller osv.).

Hvis udstyret 1C efter kontrol stadig sænker farten

Vi har en lille virksomhed, 7 personer, og 1C er langsom. Vi kontaktede specialister, og de sagde, at kun klient-server-muligheden ville redde os. Men for os er sådan en løsning ikke acceptabel, den er for dyr!

Udfør rutinemæssig vedligeholdelse i databasen*:

1. Start databasen i konfiguratortilstand.


2. Vælg "Administration" i hovedmenuen, og i den - "Test og rettelse".


3. Marker alle felterne som på billedet. Klik på Kør.

*Denne procedure kan tage fra 15 minutter til en time afhængigt af databasens størrelse og din pc's egenskaber.

Hvis dette ikke hjælper, så laver vi en klient-server-forbindelse, men uden yderligere investeringer i hardware og software:

1. Vælg den mindst belastede stationære computer på kontoret (ikke en notebook): den skal have mindst 4 GB RAM og en netværksforbindelse på mindst 100 MB/sek.

2. Aktiver IIS (Internet Information Server) på den. For det:





3. Udgiv din database på denne computer. Der er tilgængeligt materiale om dette emne om ITS, eller kontakt en supportspecialist.

4. På brugercomputere skal du konfigurere adgangen til databasen via en tynd klient. For det:


Åbn 1C-startvinduet.


Vælg din arbejdsbase. Her er det "Din base". Klik på "Rediger". Indstil kontakten til positionen "På en webserver", angiv i linjen under navnet eller IP-adressen på den server, hvor IIS blev aktiveret, og det navn, som databasen blev offentliggjort under. Klik på "Næste".


Indstil "Basic startup mode"-kontakten til "Thin Client"-tilstand. Klik på "Udført".

Vi har en ret stor virksomhed, men ikke en særlig stor, omkring 50-60 personer. Vi bruger en klient-server-mulighed, men 1C er frygtelig langsom.

I dette tilfælde anbefales det at opdele 1C-serveren og DBMS-serveren i to forskellige servere. Når du adskiller, skal du huske at huske: Hvis de forblev på den samme fysiske server, som blot blev virtualiseret, så skal diskene på disse servere være forskellige - fysisk forskellige! Sørg også for at opsætte rutineopgaver på DBMS-serveren, når det kommer til MS SQL (flere detaljer om dette er beskrevet på ITS-hjemmesiden)

Vi har en ret stor virksomhed, mere end 100 brugere. Alt er konfigureret i overensstemmelse med 1C-anbefalinger for denne mulighed, men ved behandling af nogle dokumenter er 1C meget langsom, og nogle gange opstår der en blokeringsfejl. Måske lave en base rollup?

En lignende situation opstår på grund af størrelsen af ​​et meget specifikt akkumulerings- eller regnskabsregister (men oftere - akkumulering), på grund af at registret enten "lukker" helt, dvs. der er indgående bevægelser, men ingen flowbevægelser, eller antallet af målinger, som registerbalancerne beregnes efter, er meget stort. Der kan endda være en blanding af de to tidligere årsager. Hvordan bestemmer man, hvilket register der ødelægger alt?

Vi registrerer tidspunktet, hvor dokumenter behandles langsomt, eller tidspunktet og brugeren, der har en blokeringsfejl.

Åbn registreringsloggen.



Vi finder det dokument, vi skal bruge, på det rigtige tidspunkt, til den rigtige bruger med hændelsestypen "Data.Post".



Vi ser på hele udførelsesblokken, indtil transaktionen annulleres, hvis der var en blokeringsfejl, eller vi kigger efter den længste ændring (tiden fra den forrige rekord er mere end et minut).

Herefter træffer vi en beslutning, idet vi husker på, at sammenbrud af netop dette register under alle omstændigheder er billigere end hele databasen.

Vi er en meget stor virksomhed, mere end 1000 brugere, tusindvis af dokumenter om dagen, vores egen IT-afdeling, en kæmpe flåde af servere, vi har optimeret forespørgsler flere gange, men 1C er langsom. Vi er tilsyneladende vokset fra 1C, og vi har brug for noget mere kraftfuldt.

I langt de fleste af sådanne tilfælde er det ikke 1C, der bremser, men arkitekturen i den anvendte løsning. At træffe et valg til fordel nyt program for erhvervslivet, husk, at det er billigere og nemmere at skrive dine forretningsprocesser i et program end at konvertere dem til nogle, især et meget dyrt program. Kun 1C giver denne mulighed. Derfor er det bedre at stille spørgsmålet: "Hvordan rettes situationen? Hvordan kan du få 1C til at "flyve" ved sådanne volumener?" Lad os kort se på flere behandlingsmuligheder:

  • Brug parallelle og asynkrone programmeringsteknologier understøttet af 1C ( baggrundsjob og forespørgsler i en løkke).
  • Undgå ved design af løsningsarkitekturen at bruge akkumuleringsregistre og regnskabsregistre i de mest flaskehalse områder.
  • Når du udvikler en datastruktur (akkumulerings- og/eller informationsregistre), skal du overholde reglen: "Den hurtigste tabel til skrivning og læsning er en tabel med én kolonne." Om hvad vi taler om, bliver det tydeligere, hvis man ser på den typiske RAUZ-mekanisme.
  • For at behandle store mængder data skal du bruge hjælpeklynger, hvor den samme database er tilsluttet (men i intet tilfælde bør dette gøres under interaktivt arbejde!!!). Dette giver dig mulighed for at omgå standard 1C-låse, som gør det muligt at arbejde med databasen med næsten samme hastighed, som når du arbejder direkte med SQL-værktøjer.

Det er værd at bemærke, at 1C optimering for holding og store virksomheder er et emne for en separat stor artikel, så følg med for opdateret materiale på vores hjemmeside.

2. Funktioner i programmet. Ofte, selv med optimale indstillinger, fungerer 1C meget langsomt. Ydeevnen falder især kraftigt, når antallet af samtidige arbejder med databasen overstiger 4-5 brugere.

Hvem er du i virksomheden?

Løsning langsomt arbejde 1C afhænger af, hvem du er i virksomheden. Hvis du er tekniker, så læs bare videre. Hvis du er direktør eller revisor, så følg det særlige link ↓

Netværks båndbredde

Som regel arbejder ikke én, men flere brugere med én informationsbase (IS). Samtidig foregår der en konstant udveksling af data mellem den computer, hvorpå 1C-klienten er installeret, og den computer, som informationssikkerheden er placeret på. Mængden af ​​disse data er ret betydelig. En situation opstår ofte, når et lokalt netværk, der kører med en hastighed på 100 Mbit/s, som er den mest almindelige hastighed, simpelthen ikke kan klare belastningen. Og igen klager brugeren over, at programmet er langsomt.

Hver af disse faktorer individuelt reducerer allerede programmets hastighed betydeligt, men det mest ubehagelige er, at disse ting normalt hænger sammen.

Lad os nu se på flere løsninger på problemet med lav 1C driftshastighed og deres omkostninger ved at bruge eksemplet lokale netværk af 10 gennemsnitlige computere.

Løsning et. Modernisering af infrastruktur

Dette er måske den mest oplagte løsning. Lad os beregne dens minimumsomkostninger.

For hver computer har vi som minimum brug for en 2 GB RAM-stick, som i gennemsnit koster 1.500 rubler, LAN kort med understøttelse af hastighed 1 Gbit/s koster omkring 700 rubler. Derudover har du brug for mindst 1 router, der understøtter en hastighed på 1 Gbit/s, hvilket vil koste cirka 4.000 rubler. Samlede omkostninger - 26.000 rubler for udstyr, eksklusive arbejde.

I princippet kan hastigheden stige markant, men nu er det ikke længere muligt at købe billige computere til kontoret. Udover, denne beslutning ikke relevant for dem, der bruger Wi-Fi eller ønsker at arbejde via internettet - i deres tilfælde kan netværkshastigheden være titusinder gange lavere. Tanken opstår: "Er det ikke muligt at implementere hele programmet på én kraftfuld server, så brugerens computer ikke deltager i komplekse beregninger, men blot tjener til at overføre billedet?" Så kan du arbejde selv på meget svage computere, selv på netværk med lav båndbredde. Naturligvis findes sådanne løsninger.

Løsning to. Terminal Server

Vandt stor popularitet tilbage i 1C 7's dage. Implementeret på serveren Windows versioner og klarer vores opgave perfekt. Det har dog sine faldgruber, nemlig omkostningerne til licenser.

Hende selv operativ system vil koste omkring 40.000 rubler. Ud over dette skal vi for alle, der planlægger at arbejde i 1C, bruge en Windows Server CAL-licens, der koster omkring 1.700 rubler, og en Windows Remote Desktop Services CAL-licens, som koster omkring 5.900 rubler.

Efter at have beregnet omkostningerne for et netværk på 10 computere, ender vi med 116.000 rubler. kun for én licens. Tilføj hertil prisen på selve serveren (mindst 40.000 rubler) og omkostningerne ved implementeringsarbejde, men selv uden dette viste prisen for licenser sig at være imponerende.

Løsning tre. Service 1C Enterprise

1C har udviklet sin egen løsning på dette problem, som kan øge programmets hastighed markant. Men der er også en nuance her.

Faktum er, at prisen på en sådan løsning varierer fra 50.000 til 80.000 rubler, afhængigt af udgaven. For en virksomhed med op til 15 brugere viser det sig at være ret dyrt. Der blev sat store forhåbninger til "mini-server 1C-virksomheden", som ifølge 1C-virksomheden er rettet mod små virksomheder og koster omkring 10.000 - 15.000 rubler.

Men da det kom til salg, var dette produkt en stor skuffelse. Faktum er, at maksimalt beløb Der var kun 5 brugere, som mini-serveren kunne bruges sammen med.

Som en 1C-programmør skrev på forummet: "Det er stadig ikke klart, hvorfor 1C valgte præcis 5 forbindelser! Problemerne begynder kun med 4 brugere, men med fem slutter det hele. Hvis du vil forbinde en sjette person, så betal yderligere 50.000 Vi kunne lave mindst 10 forbindelser...”

Miniserveren fandt selvfølgelig også sin forbruger. For virksomheder, hvor 5 eller flere personer arbejder med 1C, er der dog ikke dukket en enkel og billig løsning op.

Ud over programaccelerationsmetoderne beskrevet ovenfor, er der en anden, der er ideel til segmentet på 5 - 15 brugere, nemlig webadgang for 1C i filtilstand.

Løsning fire. Webadgang for 1C i filtilstand

Funktionsprincippet er som følger: en ekstra rolle for en webserver er installeret på computeren, på hvilken informationssikkerhed er offentliggjort.

Naturligvis skal dette enten være det mest kraftfuld computer på netværket eller en separat maskine dedikeret til denne rolle. Derefter kan du arbejde med 1C i webservertilstand. Alle tunge operationer vil blive udført på serversiden, og trafik transmitteret over netværket vil blive minimeret, ligesom belastningen på klientens computer.

Således kan selv meget svage maskiner bruges til at arbejde i 1C, og netværksbåndbredden bliver ikke kritisk. Vores test har vist, at du kan arbejde komfortabelt igennem Mobilt internet på en billig tablet uden at opleve ubehag.

Denne mulighed er ringere end enterprise 1C-serveren med hensyn til driftshastighed, men denne forskel er praktisk talt usynlig op til 15-20 brugere. For at implementere en webserver kan du bruge IIS (til Windows) og Apache (til Linux), og begge disse løsninger er gratis!

På trods af de åbenlyse fordele, denne metode optimering af 1C-drift har ikke vundet meget popularitet.

Jeg kan ikke sige det med sikkerhed, men det skyldes højst sandsynligt to årsager:

  • En ret svag beskrivelse teknisk dokumentation
  • Placeret i skæringspunktet mellem systemadministratorens og 1C-programmørens ansvar

Normalt, når en systemadministrator kontaktes med et problem med lav hastighed, foreslår han at opgradere infrastrukturen eller en terminalserver, hvis en 1C-specialist bliver kontaktet, bliver han tilbudt en 1C-virksomhedsserver. Så hvis der i din virksomhed arbejder en specialist med ansvar for infrastruktur og en specialist med ansvar for 1C "hånd i hånd", så kan du trygt bruge en løsning baseret på en webserver.

Lad os fremskynde 1C. Fjernt, hurtigt og uden din deltagelse

Vi ved, hvordan man fremskynder 1Ski uden at forstyrre kunden. Vi dykker ned i problemet, gør vores arbejde og går. Hvis du ønsker, at programmet bare skal fungere normalt, så kontakt os. Vi finder ud af det.

Efterlad en anmodning og modtag en gratis konsultation om at accelerere programmet.

I På det sidste Brugere og administratorer begynder i stigende grad at klage over, at nye 1C-konfigurationer udviklet baseret på en administreret applikation er langsomme, i nogle tilfælde uacceptabelt langsomme. Det er klart, at nye konfigurationer indeholder nye funktioner og muligheder, og derfor er mere ressourcekrævende, men de fleste brugere forstår ikke, hvad der primært påvirker driften af ​​1C i filtilstand. Lad os prøve at rette op på dette hul.

I vores har vi allerede berørt virkningen af ​​diskundersystems ydeevne på hastigheden af ​​1C, men denne undersøgelse vedrørte den lokale brug af applikationen på en separat pc eller terminalserver. Samtidig involverer de fleste små implementeringer arbejde med en fildatabase over et netværk, hvor en af ​​brugerens pc'er bruges som server, eller en dedikeret filserver baseret på en almindelig, oftest også billig, computer.

En lille undersøgelse af russisksprogede ressourcer på 1C viste, at dette problem omhyggeligt undgås, hvis der opstår problemer, anbefales det normalt at skifte til klient-server- eller terminaltilstand. Det er også blevet næsten generelt accepteret, at konfigurationer på en administreret applikation fungerer meget langsommere end normalt. Som regel er argumenterne "jern": "Regnskab 2.0 fløj bare, og "trojkaen" bevægede sig næsten ikke, selvfølgelig er der en vis sandhed i disse ord, så lad os prøve at finde ud af det.

Ressourceforbrug, første øjekast

Før vi begyndte denne undersøgelse, satte vi os to mål: at finde ud af, om administrerede applikationsbaserede konfigurationer faktisk er langsommere end konventionelle konfigurationer, og hvilke specifikke ressourcer der har den primære indflydelse på ydeevnen.

Til test tog vi to virtuelle maskiner, der kører henholdsvis Windows Server 2012 R2 og Windows 8.1, hvilket giver dem 2 kerner af værten Core i5-4670 og 2 GB RAM, hvilket svarer til cirka en gennemsnitlig kontormaskine. Serveren blev placeret på et RAID 0-array med to, og klienten blev placeret på et lignende array af almindelige diske.

Som eksperimentelle baser valgte vi flere konfigurationer af Accounting 2.0, udgivelse 2.0.64.12 , som derefter blev opdateret til 3.0.38.52 , blev alle konfigurationer lanceret på platformen 8.3.5.1443 .

Det første, der tiltrækker opmærksomhed, er den øgede størrelse af trojkaens informationsbase, som er vokset betydeligt, samt en meget større appetit på RAM:

Vi er klar til at høre det sædvanlige: "hvorfor føjede de det til disse tre", men lad os ikke skynde os. I modsætning til brugere af klient-server-versioner, som kræver en mere eller mindre kvalificeret administrator, tænker brugere af filversioner sjældent på at vedligeholde databaser. Også ansatte i specialiserede virksomheder, der servicerer (læs opdatering) af disse databaser, tænker sjældent over dette.

I mellemtiden er 1C informationsbasen et fuldgyldigt DBMS af sit eget format, som også kræver vedligeholdelse, og til dette er der endda et værktøj kaldet Test og korrigering af informationsgrundlaget. Måske spillede navnet en grusom joke, som på en eller anden måde antyder, at dette er et værktøj til fejlfinding af problemer, men lav ydeevne er også et problem, og omstrukturering og reindeksering sammen med tabelkomprimering er velkendte værktøjer til at optimere databaser for enhver DBMS-administrator . Skal vi tjekke?

Efter at have anvendt de valgte handlinger "tabte databasen sig kraftigt" og blev endnu mindre end de "to", som ingen nogensinde havde optimeret, og RAM-forbruget faldt også lidt.

Efterfølgende, efter indlæsning af nye klassifikatorer og mapper, oprettelse af indekser osv. størrelsen af ​​basen vil generelt stige, de "tre" baser er større end de "to" baser. Dette er dog ikke vigtigere, hvis den anden version var tilfreds med 150-200 MB RAM, så har den nye udgave brug for en halv gigabyte, og denne værdi skal tages i betragtning, når du planlægger de nødvendige ressourcer til at arbejde med programmet.

Net

Netværksbåndbredde er en af ​​de vigtigste parametre for netværksapplikationer, især som 1C i filtilstand, som flytter betydelige mængder data på tværs af netværket. De fleste netværk til små virksomheder er bygget på basis af billigt 100 Mbit/s-udstyr, så vi begyndte at teste ved at sammenligne 1C-ydeevneindikatorer i 100 Mbit/s- og 1 Gbit/s-netværk.

Hvad sker der, når du starter en 1C-fildatabase over netværket? Klienten downloader en ret stor mængde information til midlertidige mapper, især hvis dette er den første "kolde" start. Ved 100 Mbit/s forventes vi at løbe ind i kanalbredden, og downloading kan tage lang tid, i vores tilfælde omkring 40 sekunder (omkostningen ved at dividere grafen er 4 sekunder).

Den anden lancering er hurtigere, da nogle af dataene er gemt i cachen og forbliver der indtil genstart. Skift til et gigabit-netværk kan fremskynde programindlæsningen betydeligt, både "koldt" og "varmt", og forholdet mellem værdier respekteres. Derfor besluttede vi at udtrykke resultatet i relative værdier, idet vi tog den største værdi af hver måling som 100 %:

Som du kan se på graferne, indlæses Accounting 2.0 ved enhver netværkshastighed dobbelt så hurtigt, overgangen fra 100 Mbit/s til 1 Gbit/s giver dig mulighed for at fremskynde downloadtiden fire gange. Der er ingen forskel mellem de optimerede og ikke-optimerede "trojka"-databaser i denne tilstand.

Vi kontrollerede også netværkshastighedens indflydelse på driften i tunge tilstande, for eksempel under gruppeoverførsler. Resultatet er også udtrykt i relative værdier:

Her er det mere interessant, den optimerede base af de "tre" i et 100 Mbit/s netværk arbejder med samme hastighed som de "to", og den ikke-optimerede viser dobbelt så dårlige resultater. På gigabit forbliver forholdet det samme, den uoptimerede "tre" er også halvt så langsom som de "to", og den optimerede halter en tredjedel bagud. Også overgangen til 1 Gbit/s giver dig mulighed for at reducere eksekveringstiden med tre gange for udgave 2.0 og med det halve for udgave 3.0.

For at evaluere effekten af ​​netværkshastighed på det daglige arbejde, brugte vi Præstationsmåling, der udfører en sekvens af forudbestemte handlinger i hver database.

Faktisk er netværksgennemstrømning ikke en flaskehals til daglige opgaver, en uoptimeret "tre" er kun 20 % langsommere end en "to", og efter optimering viser den sig at være omtrent det samme hurtigere - fordelene ved at arbejde i tynd klienttilstand er tydelige. Overgangen til 1 Gbit/s giver ikke den optimerede base nogen fordele, og den uoptimerede og de to begynder at arbejde hurtigere og viser en lille forskel på sig selv.

Fra de udførte tests bliver det klart, at netværket ikke er en flaskehals for nye konfigurationer, og den administrerede applikation kører endnu hurtigere end normalt. Du kan også anbefale at skifte til 1 Gbit/s, hvis tunge opgaver og databaseindlæsningshastighed er kritisk for dig. I andre tilfælde giver nye konfigurationer dig mulighed for at arbejde effektivt selv i langsomme 100 Mbit/s netværk.

Så hvorfor er 1C langsom? Vi vil se nærmere på det.

Serverdiskundersystem og SSD

I den forrige artikel opnåede vi en stigning i 1C-ydeevnen ved at placere databaserne på en SSD. Måske er ydeevnen af ​​serverens diskundersystem utilstrækkelig? Vi målte ydeevnen af ​​en diskserver under en gruppekørsel i to databaser på én gang og fik et ret optimistisk resultat.

På trods af det relativt store antal input/output operationer per sekund (IOPS) - 913, oversteg kølængden ikke 1,84, hvilket er et meget godt resultat for et to-disk array. Baseret på dette kan vi antage, at et spejl lavet af almindelige diske vil være nok til normal drift af 8-10 netværksklienter i tunge tilstande.

Så er der brug for en SSD på en server? Den bedste måde at besvare dette spørgsmål på vil være gennem test, som vi udførte ved hjælp af en lignende metode, netværksforbindelsen er 1 Gbit/s overalt, resultatet er også udtrykt i relative værdier.

Lad os starte med databasens indlæsningshastighed.

Det kan virke overraskende for nogle, men SSD'en på serveren påvirker ikke databasens indlæsningshastighed. Den vigtigste begrænsende faktor her, som den forrige test viste, er netværksgennemstrømning og klientydelse.

Lad os gå videre til at lave om:

Vi har allerede bemærket ovenfor, at diskens ydeevne er ganske tilstrækkelig selv til at arbejde i tunge tilstande, så hastigheden på SSD'en er heller ikke påvirket, bortset fra den uoptimerede base, som på SSD'en har indhentet den optimerede. Faktisk bekræfter dette endnu en gang, at optimeringsoperationer organiserer information i databasen, hvilket reducerer antallet af tilfældige I/O-operationer og øger adgangshastigheden til den.

I hverdagens opgaver er billedet det samme:

Kun den ikke-optimerede database drager fordel af SSD'en. Du kan selvfølgelig købe en SSD, men det ville være meget bedre at tænke på rettidig vedligeholdelse af databasen. Glem heller ikke at defragmentere sektionen med infobaser på serveren.

Client disk subsystem og SSD

Vi analyserede indflydelsen af ​​SSD på driftshastigheden af ​​lokalt installeret 1C in, meget af det, der blev sagt, er også sandt for arbejde i netværkstilstand. Faktisk bruger 1C ganske aktivt diskressourcer, herunder til baggrunds- og rutineopgaver. På figuren nedenfor kan du se, hvordan Accounting 3.0 ret aktivt tilgår disken i omkring 40 sekunder efter indlæsning.

Men samtidig skal du være opmærksom på, at for en arbejdsstation, hvor der arbejdes aktivt med en eller to informationsdatabaser, er ydeevneressourcerne på en almindelig masseproduceret HDD ganske tilstrækkelige. At købe en SSD kan fremskynde nogle processer, men du vil ikke bemærke en radikal fremskyndelse i det daglige arbejde, da for eksempel downloading vil være begrænset af netværksbåndbredden.

En langsom harddisk kan bremse nogle handlinger, men kan i sig selv ikke få et program til at bremse.

vædder

På trods af at RAM nu er uanstændigt billig, fortsætter mange arbejdsstationer med at arbejde med den mængde hukommelse, der blev installeret, da de blev købt. Det er her de første problemer venter. Allerede baseret på det faktum, at den gennemsnitlige "trojka" kræver omkring 500 MB hukommelse, kan vi antage, at en samlet mængde RAM på 1 GB ikke vil være nok til at arbejde med programmet.

Vi reducerede systemhukommelsen til 1 GB og lancerede to informationsdatabaser.

Ved første øjekast er alt ikke så slemt, programmet har dæmpet sin appetit og passer godt ind i den tilgængelige hukommelse, men lad os ikke glemme, at behovet for driftsdata ikke har ændret sig, så hvor blev det af? Nulstil til disk, cache, swap osv., essensen af ​​denne operation er, at data, der ikke er nødvendige i øjeblikket, sendes fra hurtig RAM, hvis mængde ikke er nok, til langsom diskhukommelse.

Hvor fører det hen? Lad os se, hvordan systemressourcer bruges i tunge operationer, lad os for eksempel starte en gruppegenoverførsel i to databaser på én gang. Først på et system med 2 GB RAM:

Som vi kan se, bruger systemet aktivt netværket til at modtage data, og processoren til at behandle dem er ubetydelig under behandlingen, men den er ikke en begrænsende faktor.

Lad os nu reducere hukommelsen til 1 GB:

Situationen ændrer sig radikalt, hovedbelastningen falder nu på harddisken, processoren og netværket er inaktive og venter på, at systemet læser de nødvendige data fra disken ind i hukommelsen og sender unødvendige data dertil.

Samtidig viste selv subjektivt arbejde med to åbne databaser på et system med 1 GB hukommelse sig at være ekstremt ubehageligt, og magasiner åbnet med en betydelig forsinkelse og aktiv adgang til disken. For eksempel tog åbningen af ​​journalen Salg af varer og tjenester omkring 20 sekunder og blev al denne tid ledsaget af høj diskaktivitet (fremhævet med en rød linje).

For objektivt at vurdere virkningen af ​​RAM på ydeevnen af ​​konfigurationer baseret på en administreret applikation, udførte vi tre målinger: indlæsningshastigheden af ​​den første database, indlæsningshastigheden af ​​den anden database og gruppegenkøring i en af ​​databaserne . Begge databaser er fuldstændig identiske og blev oprettet ved at kopiere den optimerede database. Resultatet er udtrykt i relative enheder.

Resultatet taler for sig selv: Hvis indlæsningstiden stiger med omkring en tredjedel, hvilket stadig er ret acceptabelt, øges tiden til at udføre operationer i databasen tre gange, der er ingen grund til at tale om noget behageligt arbejde under sådanne forhold. Forresten, dette er tilfældet, når køb af en SSD kan forbedre situationen, men det er meget nemmere (og billigere) at håndtere årsagen, ikke konsekvenserne, og bare købe den rigtige mængde RAM.

Mangel på RAM er hovedårsagen til, at arbejdet med nye 1C-konfigurationer viser sig at være ubehageligt. Konfigurationer med 2 GB hukommelse ombord bør betragtes som minimalt egnede. Samtidig skal du huske på, at der i vores tilfælde blev skabt "drivhus"-forhold: et rent system, kun 1C og task manageren kørte. I det virkelige liv, på en arbejdscomputer, er som regel en browser, en kontorpakke åbne, et antivirus kører osv. osv., så fortsæt fra behovet for 500 MB pr. database plus noget reserve, så under tunge operationer møder du ikke mangel på hukommelse og et kraftigt fald i produktiviteten.

CPU

Uden overdrivelse kan den centrale processor kaldes computerens hjerte, da det er den, der i sidste ende behandler alle beregninger. For at evaluere dens rolle gennemførte vi et andet sæt test, det samme som for RAM, hvilket reducerede antallet af kerner, der er tilgængelige for den virtuelle maskine fra to til én, og testen blev udført to gange med hukommelsesmængder på 1 GB og 2 GB.

Resultatet viste sig at være ret interessant og uventet: en mere kraftfuld processor påtog sig ganske effektivt belastningen, når der var mangel på ressourcer, resten af ​​tiden uden at give nogen håndgribelige fordele. 1C Enterprise (i filtilstand) kan næppe kaldes en applikation, der aktivt bruger processorressourcer, det er ret krævende. Og under vanskelige forhold belastes processoren ikke så meget ved at beregne dataene i selve applikationen, men ved at servicere overheadomkostninger: yderligere input/outputoperationer osv.

konklusioner

Så hvorfor er 1C langsom? Først og fremmest er dette en mangel på RAM; hovedbelastningen i dette tilfælde falder på harddisken og processoren. Og hvis de ikke skinner med ydeevne, som det normalt er tilfældet i kontorkonfigurationer, så får vi situationen beskrevet i begyndelsen af ​​artiklen - de "to" fungerede fint, men de "tre" er ugudeligt langsom.

På andenpladsen er netværkets ydeevne; en langsom 100 Mbit/s kanal kan blive en rigtig flaskehals, men samtidig er den tynde klienttilstand i stand til at opretholde et ret behageligt driftsniveau selv på langsomme kanaler.

Så bør du være opmærksom på diskdrevet at købe en SSD er usandsynligt en god investering, men at udskifte drevet med et mere moderne ville være en god idé. Forskellen mellem generationer af harddiske kan vurderes ud fra følgende materiale: .

Og endelig processoren. En hurtigere model vil selvfølgelig ikke være overflødig, men det nytter ikke meget at øge dens ydeevne, medmindre denne pc bruges til tunge operationer: gruppebehandling, tunge rapporter, månedsafslutning osv.

Vi håber, at dette materiale vil hjælpe dig med hurtigt at forstå spørgsmålet "hvorfor 1C er langsom" og løse det mest effektivt og uden ekstra omkostninger.

  • Tags:

Aktiver venligst JavaScript for at se