Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

På 1C använder vi i stor utsträckning vår egen utveckling för att organisera företagets arbete. Särskilt, "1C: Dokumentflöde 8". Förutom dokumenthantering (som namnet antyder) är den också en modern ECM-system (Enterprise Content Management - corporate content management) med ett brett utbud av funktioner - post, arbetskalendrar för anställda, organisera delad tillgång till resurser (till exempel bokning av mötesrum), tidsspårning, företagsforum och mycket mer.

Mer än tusen anställda använder dokumenthantering på 1C. Databasen har redan blivit imponerande (11 miljarder poster), vilket innebär att den kräver mer noggrann vård och kraftfullare utrustning.

Hur vårt system fungerar, vilka svårigheter vi stöter på när vi underhåller databasen och hur vi löser dem (vi använder MS SQL Server som DBMS) - vi kommer att berätta i artikeln.

För dig som läser om 1C-produkter för första gången.
1C:Document Flow är en applikationslösning (konfiguration) implementerad utifrån ett ramverk för att utveckla affärsapplikationer - 1C:Enterprise-plattformen.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C


"1C: Document Flow 8" (förkortat DO) låter dig automatisera arbete med dokument i ett företag. Ett av de viktigaste verktygen för interaktion med anställda är e-post. Förutom post löser DO även andra problem:

  • Tidsuppföljning
  • Anställdas frånvarospårning
  • Ansökningar om bud/transport
  • Anställdas arbetskalendrar
  • Registrering av korrespondens
  • Anställds kontakter (adressbok)
  • Företagsforum
  • Rumsreservation
  • Evenemangsplanering
  • CRM
  • Kollektivt arbete med filer (med att spara filversioner)
  • etc.

Vi går in i Dokumenthantering tunn klient (inbyggt körbart program) från Windows, Linux, macOS, webbklient (från webbläsare) och mobil klient - beroende på situationen.

Och tack vare vår andra produkt kopplad till Document Flow - Interaktionssystem – vi direkt i Document Flow tar emot budbärarens funktionalitet – chattar, ljud- och videosamtal (inklusive gruppsamtal, vilket nu blivit extra viktigt, bland annat från en mobilklient), snabbt filutbyte plus möjligheten att skriva chattrobotar som förenklar arbeta med systemet. En annan fördel med att använda interaktionssystemet (jämfört med andra budbärare) är möjligheten att föra kontextuella diskussioner kopplade till specifika dokumentflödesobjekt - dokument, händelser, etc. Det vill säga, interaktionssystemet är djupt integrerat med målapplikationen och fungerar inte bara som en "separat knapp".

Antalet bokstäver i vår DO har redan överskridit 100 miljoner, och i allmänhet finns det mer än 11 ​​miljarder poster i DBMS. Totalt använder systemet nästan 30 TB lagringsutrymme: databasvolymen är 7,5 TB, filer för kollektivt arbete lagras separat och upptar ytterligare 21 TB.

Om vi ​​talar om mer specifika siffror, här är antalet bokstäver och filer för tillfället:

  • Utgående mejl – 14,7 miljoner.
  • Inkommande brev – 85,4 miljoner.
  • Filversioner – 70,8 miljoner.
  • Interna handlingar – 30,6 tusen.

DO har mer än bara e-post och filer. Nedan följer siffrorna för övriga redovisningsobjekt:

  • Bokning av mötesrum – 52 126
  • Veckorapporter – 153 940
  • Dagsrapporter – 628 153
  • Godkännandevisum – 11 821
  • Inkommande handlingar – 79 677
  • Utgående handlingar – 28 357
  • Poster om händelser i användarens arbetskalendrar – 168 228
  • Ansökningar för bud – 21 883
  • Motparter – 81 029
  • Register över arbete med motparter – 45 632
  • Kontaktpersoner till motparter – 41 795
  • Händelser – 10 243
  • Projekt – 6 320
  • Medarbetaruppgifter – 245 980
  • Foruminlägg – 26 282
  • Chattmeddelanden – 891 095
  • Affärsprocesser - 109 056. Interaktion mellan anställda sker genom processer - godkännande, utförande, granskning, registrering, signering m.m. Vi mäter processernas längd, antal cykler, antal deltagare, antal returer, antal förfrågningar om att ändra deadlines. Och denna information är mycket användbar att analysera för att förstå vilka processer som äger rum i företaget och öka effektiviteten i medarbetarsamarbetet.

Vilken utrustning bearbetar vi allt detta på?

Dessa siffror indikerar en imponerande mängd uppgifter, så vi stod inför behovet av att allokera ganska produktiv utrustning för behoven hos interna dotterbolag. För närvarande är dess egenskaper följande: 38 kärnor, 240 GB RAM, 26 TB diskar. Här är en tabell över servrar:
Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

I framtiden planerar vi att öka kapaciteten på utrustningen.

Hur går det med serverbelastningen?

Nätverksaktivitet har aldrig varit ett problem för oss eller våra kunder. Som regel är den svaga punkten processorn och diskarna, eftersom alla redan vet hur man hanterar brist på minne. Här är skärmdumpar på våra servrar från Resource Monitor, som visar att vi inte har någon hemsk belastning, den är väldigt blygsam.

Till exempel, i skärmdumpen nedan ser vi en SQL-server där CPU-belastningen är 23%. Och det här är en mycket bra indikator (som jämförelse: om belastningen närmar sig 70%, kommer de anställda med största sannolikhet att observera ganska betydande nedgångar i arbetet).

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Den andra skärmdumpen visar applikationsservern som 1C:Enterprise-plattformen körs på - den betjänar bara användarsessioner. Här är processorbelastningen något högre - 38%, den är smidig och lugn. Det finns en viss diskladdning, men det är acceptabelt.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Den tredje skärmdumpen visar en annan 1C:Enterprise-server (det är den andra, vi har två av dem i klustret). Endast den föregående betjänar användare, och robotar fungerar på den här. Till exempel tar de emot post, ruttdokument, utbyter data, beräknar rättigheter osv. Alla dessa bakgrundsaktiviteter utför cirka 90-100 bakgrundsjobb. Och den här servern är väldigt hårt belastad - 88%. Men det här påverkar inte människor, och det implementerar precis all automatisering som Document Management ska göra.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Vilka är mätvärdena för att mäta prestanda?

Vi har ett seriöst delsystem inbyggt i våra dotterbolag för att mäta prestationsindikatorer och beräkna olika mått. Detta är nödvändigt för att förstå både i det aktuella ögonblicket och ur ett historiskt perspektiv vad som händer i systemet, vad som blir sämre, vad som blir bättre. Övervakningsverktyg - mått och tidsmätningar - ingår i standardleveransen av "1C: Document Flow 8". Mätvärdena kräver anpassning under implementeringen, men själva mekanismen är standard.

Mätvärden är mätningar av olika affärsindikatorer vid vissa tidpunkter (till exempel är den genomsnittliga postleveranstiden 10 minuter).

En av mätvärdena visar antalet aktiva användare i databasen. I genomsnitt är det 1000-1400 av dem under dagen. Grafen visar att det vid tidpunkten för skärmdumpen fanns 2144 aktiva användare i databasen.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Det finns mer än 30 sådana åtgärder, listan är under snittet.Lista

  • Logga in
  • Logga ut
  • Laddar mail
  • Ändra ett objekts giltighet
  • Ändra åtkomsträttigheter
  • Ändra ämne för en process
  • Ändra ett objekts arbetsgrupp
  • Ändra sammansättningen av satsen
  • Ändra en fil
  • Filimport
  • Skickar med post
  • Flytta filer
  • Omdirigera en uppgift
  • Signering av den elektroniska signaturen
  • Sök efter detaljer
  • Fulltextsökning
  • Tar emot en fil
  • Att avbryta en process
  • Titta inuti
  • Dekryptering
  • Dokumentregistrering
  • scan
  • Avmarkerar borttagning
  • Skapa ett objekt
  • Sparar på disk
  • Start av processen
  • Ta bort användarloggposter
  • Ta bort en elektronisk signatur
  • Ställa in ett raderingsmärke
  • Kryptering
  • Exportera en mapp

Förrförra veckan ökade vår genomsnittliga användaraktivitet med en och en halv gånger (visas i rött på grafen) - detta beror på att de flesta anställda övergått till distansarbete (på grund av välkända händelser). Dessutom ökade antalet aktiva användare med 3 gånger (visas i blått på skärmdumpen), eftersom anställda började aktivt använda mobiltelefoner: varje mobil klient skapar en anslutning till servern. Nu har var och en av våra anställda i genomsnitt 2 anslutningar till servern.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

För oss som administratörer är detta en signal om att vi måste vara mer uppmärksamma på prestandaproblem och se om det har blivit värre. Men vi tittar på detta utifrån andra parametrar. Till exempel hur postleveranstiden för intern routing ändras (visas i blått i skärmdumpen nedan). Vi ser att det var fluktuerande fram till i år, men nu är det stabilt – för oss är detta en indikator på att allt är i sin ordning med systemet.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Ett annat tillämpat mått för oss är den genomsnittliga väntetiden för att ladda ner brev från e-postservern (visas i rött på skärmdumpen). Grovt sett, hur länge kommer brevet att sväva runt på nätet innan det når vår medarbetare. Skärmdumpen visar att den här tiden inte heller har förändrats på något sätt den senaste tiden. Det finns isolerade toppar – men de är inte förknippade med förseningar, utan med att tiden går förlorad på mailservrarna.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Eller, till exempel, ett annat mått (visas i blått på skärmdumpen) – uppdatering av bokstäver i en mapp. Att öppna en e-postmapp är en mycket vanlig operation och måste göras snabbt. Vi mäter hur snabbt det utförs. Denna indikator mäts för varje kund. Du kan se både helhetsbilden för företaget och dynamiken för till exempel en enskild medarbetare. Skärmdumpen visar att måttet fram till i år var obalanserat, sedan gjorde vi ett antal förbättringar, och nu blir det inte sämre – grafen är nästan platt.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Mätvärden är i grunden ett administratörsverktyg för att övervaka systemet, för att snabbt svara på eventuella förändringar i systemets beteende. Skärmdumpen visar interna dotterbolagsstatistik för året. Hoppet i graferna beror på att vi fick uppdrag att utveckla interna dotterbolag.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Här är en lista med några fler mätvärden (under snittet).
Metrik

  • Användaraktivitet
  • Aktiva användare
  • Aktiva processer
  • Antal filer
  • Filstorlek (MB)
  • Antal dokument
  • Antal objekt som ska skickas till mottagare
  • Antal motparter
  • Oavslutade uppgifter
  • Genomsnittlig väntetid för nedladdning av e-post från e-postservern under de senaste 10 minuterna
  • Extern databuffert: antal filer
  • Släpande kant från det aktuella datumet
  • Lång kö
  • Driftkö
  • Rå kontoålder genom extern routing
  • Storlek på intern routingacceptanskö (lång kö)
  • Storlek på intern routingacceptanskö (snabbkö)
  • Postleveranstid via intern routing (lång kö)
  • Postleveranstid via intern routing (snabb kö)
  • Postleveranstid via extern routing (genomsnitt)
  • Antal dokument Reservation
  • Antal dokument Frånvaro
  • Antal dokument "Redovisning av arbete med motpart"
  • Mail Uppdatera brev i en mapp
  • Mail Öppnar ett brevkort
  • Mail Överför ett brev till en mapp
  • Mail Navigera genom mappar

Vårt system mäter mer än 150 indikatorer dygnet runt, men alla kan inte övervakas snabbt. De kan komma till nytta senare, i något historiskt perspektiv, och du kan fokusera på de viktigaste för verksamheten.

I en av implementeringarna valdes till exempel endast 5 indikatorer ut. Kunden satte upp ett mål att skapa ett minimum av indikatorer, men samtidigt så att det täckte de huvudsakliga arbetsscenarierna. Det skulle vara orimligt att inkludera 150 indikatorer i acceptansintyget, eftersom det även inom företaget är svårt att komma överens om vilka indikatorer som anses acceptabla. Och de kände till dessa 5 indikatorer och hade redan presenterat dem för systemet innan implementeringsprojektet startade, inklusive dem i tävlingsdokumentationen: tid att öppna ett kort högst 3 sekunder, tid att slutföra en uppgift med ett filnummer mer än 5 sekunder osv. I våra dotterbolag hade vi mätvärden som mycket tydligt återspeglade den ursprungliga begäran från kundens tekniska specifikationer.

Vi har även en profilanalys av prestationsmätningar. Prestandaindikatorer är en registrering av varaktigheten av varje pågående operation (skriva ett brev till databasen, skicka ett brev till en e-postserver, etc.). Detta används uteslutande av tekniker. Vi samlar många resultatindikatorer i vårt program. Vi mäter för närvarande cirka 1500 XNUMX nyckeloperationer som är indelade i profiler.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

En av de viktigaste profilerna för oss är "listan över nyckelindikatorer för post ur ett konsumentperspektiv." Denna profil innehåller till exempel följande indikatorer:

  • Utföra kommandot: Välj efter tagg
  • Öppna ett formulär: Listformulär
  • Utföra kommandot: Välj efter mapp
  • Visar en bokstav i läsområdet
  • Spara ett brev i din favoritmapp
  • Sök efter bokstäver efter detaljer
  • Skapa ett brev

Om vi ​​ser att måttet för någon affärsindikator har blivit för stort (t.ex. har brev från en viss användare börjat komma under mycket lång tid), börjar vi ta reda på det och vänder oss till att mäta tiden för tekniska operationer. Vi har en teknisk operation "Arkivera brev på en e-postserver" - vi ser att tiden för denna operation har överskridits för den senaste perioden. Denna operation bryts i sin tur upp i andra operationer - till exempel att upprätta en anslutning till en e-postserver. Vi ser att det av någon anledning plötsligt har blivit väldigt stort (vi har alla mått i en månad – vi kan jämföra att förra veckan var det 10 millisekunder, och nu är det 1000 millisekunder). Och vi förstår att något är trasigt här – vi måste fixa det.

Hur underhåller vi en så stor databas?

Vår interna DO är ett exempel på ett riktigt fungerande högbelastningsprojekt. Låt oss prata om de tekniska funktionerna i dess databas.

Hur lång tid tar det att omstrukturera stora databastabeller?

SQL-servern kräver periodiskt underhåll, vilket gör att tabellerna är i ordning. På ett bra sätt bör detta göras minst en gång om dagen, och ännu oftare för bord med hög efterfrågan. Men om databasen är stor (och vårt antal poster redan har överstigit 11 miljarder), är det inte lätt att ta hand om den.

Vi gjorde en bordsrekonstruktion för 6 år sedan, men sedan började det ta så lång tid att vi inte längre passade in i nattintervallerna. Och eftersom dessa operationer belastar SQL-servern hårt, kan den inte effektivt tjäna andra användare.

Därför måste vi nu använda olika knep. Till exempel kan vi inte utföra dessa procedurer på kompletta datamängder. Du måste tillgripa proceduren för Uppdatera Sample 500000 rader - detta tar 14 minuter. Den uppdaterar inte statistik på all data i tabellen, utan väljer en halv miljon rader och använder dem för att beräkna statistik som den använder för hela tabellen. Detta är ett antagande, men vi är tvungna att göra det, för för en specifik tabell kommer det att ta oacceptabelt lång tid att samla in statistik på hela miljarden poster.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C
Vi optimerade även andra underhållsoperationer genom att göra dem partiella.

Att underhålla ett DBMS är i allmänhet en komplex uppgift. Vid aktiv interaktion mellan anställda växer databasen snabbt, och det blir allt svårare för administratörer att underhålla den – uppdatera statistik, defragmentering, indexering. Här behöver vi tillämpa olika strategier, vi vet väl hur man gör detta, vi har erfarenhet, vi kan dela med oss ​​av den.

Hur implementeras säkerhetskopiering med sådana volymer?

En fullständig DBMS-säkerhetskopiering utförs en gång om dagen på natten, en inkrementell - varje timme. Dessutom skapas en filkatalog varje dag, och den är en del av den inkrementella säkerhetskopieringen av fillagringen.

Hur lång tid tar det att slutföra en fullständig säkerhetskopiering?

En fullständig säkerhetskopiering till en hårddisk är klar på tre timmar, en partiell säkerhetskopiering på en timme. Det tar längre tid att skriva till band (en speciell enhet som gör en säkerhetskopia till en speciell kassett som förvaras utanför kontoret; en överförbar kopia görs till bandet, som kommer att bevaras om t.ex. serverrummet brinner ner). Säkerhetskopieringen görs på exakt samma server, vars parametrar var högre - en SQL-server med 20% processorbelastning. Vid tidpunkten för säkerhetskopiering blir systemet naturligtvis mycket sämre, men det fungerar fortfarande.

Vi kontrollerar oss själva: hur 1C distribueras och hur det administreras: Dokumentflöde inom företaget 1C

Finns det deduplicering?

Deduplicering Det finns filer, vi testar det på oss själva, och snart kommer det att inkluderas i den nya versionen av Dokumenthantering. Vi testar också motpartsdedupliceringsmekanismen. Det finns ingen deduplicering av poster på DBMS-nivå, eftersom detta inte är nödvändigt. 1C:Enterprise-plattformen lagrar objekt i DBMS, och endast plattformen kan ansvara för deras konsistens.

Finns det skrivskyddade noder?

Det finns inga läsnoder (dedikerade systemnoder som betjänar dem som behöver ta emot data för läsning). DO är inget redovisningssystem att lägga på en separat BI-nod, utan det finns en separat nod för utvecklingsavdelningen, med vilken meddelanden utbyts i JSON-format, och den typiska replikeringstiden är enheter och tiotals sekunder. Noden är fortfarande liten, den har cirka 800 miljoner poster, men den växer snabbt.

Raderas inte e-postmeddelanden som är markerade för radering alls?

Inte än. Vi har inte till uppgift att göra basen lättare. Det fanns flera ganska allvarliga fall då det var nödvändigt att hänvisa till brev markerade för radering, inklusive 2009. Det var därför vi bestämde oss för att behålla allt tills vidare. Men när kostnaden för detta blir omotiverad kommer vi att fundera på borttagning. Men om du behöver ta bort ett separat brev från databasen helt så att det inte finns några spår, kan detta göras på särskild begäran.

Varför lagra det? Har du statistik över tillgång till gamla dokument?

Det finns ingen statistik. Mer exakt är det i form av en användarlogg, men det lagras inte länge. Poster äldre än ett år raderas från protokollet.

Det fanns situationer då det var nödvändigt att hämta gammal korrespondens från fem eller till och med tio år sedan. Och detta gjordes alltid inte av tom nyfikenhet, utan för att fatta komplexa affärsbeslut. Det fanns ett fall där ett felaktigt affärsbeslut skulle ha fattats utan korrespondenshistorik.

Hur bedöms och förstörs värdet av handlingar enligt lagringstider?

För pappersdokument görs detta på vanligt traditionellt sätt, som alla andra. Vi gör det inte för elektroniska - låt dem behålla dem för sig själva. Sitten är här. Det finns fördelar. Alla mår bra.

Vilka utvecklingsmöjligheter finns det?

Nu löser vår DO ett 30-tal interna problem, varav några listade vi i början av artikeln. DL används också för att förbereda konferenser som vi håller två gånger om året för våra partners: hela programmet, alla rapporter, alla parallella sektioner, salar - allt detta skrivs in i DL och laddas sedan ner från det, och ett tryckt program är gjord.

Det är flera fler uppgifter på väg för DO, utöver dem som den redan löser. Det finns företagsomfattande uppgifter, och det finns unika och sällsynta sådana som bara behövs av en specifik avdelning. Det är nödvändigt att hjälpa dem, vilket innebär att utöka "geografin" för att använda systemet inom 1C - utöka tillämpningsområdet, lösa problemen för alla avdelningar. Detta skulle vara det bästa testet för prestanda och tillförlitlighet. Jag skulle vilja se systemet fungera på biljoner poster, petabyte av information.

Källa: will.com

Lägg en kommentar