Parametri klastera 1s 8.3

Jučer smo ažurirali sav serverski softver. Dotaknimo se možda najzanimljivijih i novih karakteristika klastera servera 1C:Enterprise 8.3.

Kako postaviti klaster servera za 1C:Enterprise 8.2 možete vidjeti u prethodnom odjeljku. Neću se fokusirati na neke tačke koje su već opisane.

ŠTA SE PROMIJENILO U KLASTERU 1C:Enterprise 8.3:

Prije svega, nakon instaliranja klastera 1C:Enterprise 8.3, bilo je potrebno kreirati tokove posla. Kako se ispostavilo, klaster procesi se sada kreiraju automatski u zavisnosti od opterećenja računovodstvenog sistema.

Probno pokretanje pozadinskih poslova glavne baze podataka dovelo je do beskrajnog preopterećenja klastera 1C:Enterprise 8.3 rphost.exe i dodatne rphost.exe Nisam želeo da budem stvoren. Nakon kopanja kroz podešavanja, sve je postalo jasno.

Maksimalna memorija toka rada je količina memorije koju radni procesi mogu koristiti zajedno. Morate biti vrlo pažljivi kada postavljate parametar, mjeren u bajtova. Ako postavite pogrešnu vrijednost (nedovoljna za normalan rad korisnika), korisnici će dobiti grešku "Nema dovoljno slobodne memorije na serveru 1C: Enterprise". Ovu grešku možete dobiti i kada je ponestalo memorijske kvote na serveru 1C: Enterprise.

Sigurna potrošnja memorije po pozivu- omogućava vam kontrolu potrošnje memorije tokom poziva servera, mjereno u bajtova. Ako poziv koristi više memorije od očekivanog, ovaj poziv će biti dovršen unutar 1C klastera bez ponovnog pokretanja radnog procesa ( rphost.exe). Shodno tome, „gubitnik“ koji je uputio poziv servera će izgubiti svoju sesiju sa bazom podataka bez uticaja na rad drugih korisnika.

Količina memorije radnog procesa do koje se server smatra produktivnim- ako je ovaj parametar prekoračen, server u klasteru 1C:Enterprise 8.3 prestat će prihvaćati nove veze.

Broj informacione sigurnosti po procesu- omogućava vam da izolujete informacijske baze za radne procese. Prema zadanim postavkama, trenutni klaster 1C:Enterprise 8.3 bio je postavljen na "8", ali nekoliko sati rada server se ponašao nestabilno, korisničke sesije su se zamrznule. Nakon izolacije svake infobaze (vrijednost - “1”) problemi su nestali.

Broj veza po procesu- zadana vrijednost je “128”. S obzirom na to da postojeća baza podataka ima veoma veliki broj pozadinskih zadataka (logističke kalkulacije, analiza cjenovnika, analiza konkurenata, itd.), odlučeno je da se broj smanji na „25“.

Postavke samog klastera 1C:Enterprise 8.3 su se neznatno promijenile:


Nivo tolerancije grešaka- ovo je broj servera koji rade koji mogu istovremeno otkazati, a da ne uzrokuju pad korisnika. Backup usluge se automatski pokreću u količini potrebnoj da se osigura navedena tolerancija grešaka. U realnom vremenu, aktivni servis se replicira na rezervne.

Način dijeljenja opterećenja- postoje dvije opcije za parametar: "Prioritet prema performansama" - troši se više serverske memorije i performanse su veće, "Prioritet po memoriji" - klaster "1C: Enterprise 8.3" štedi memoriju servera.

Umjesto pogovora. Klaster 1C:Enterprise 8.3 radi primjetno brže i pouzdanije, kreiranje korisničke sesije s bazom informacija je višestruko brže, sučelje u načinu kompatibilnosti sa 1C:Enterprise 8.2.16, moglo bi se reći, leti. Naravno, postoje nijanse, ali gdje bismo bili bez njih? Sretno u postavljanju novog klastera 1C:Enterprise 8.3.

Server 8.3 karakteriše novi redizajniran interni kod, iako se „izvana“ može činiti da se radi o malo modifikovanom 8.2.

Server je postao „automatski konfigurabilniji“ neki parametri, kao što je broj radnih procesa, više se ne kreiraju ručno, već se izračunavaju na osnovu opisa zahteva tolerancije grešaka i zadataka pouzdanosti.

Razvijen je mehanizam za balansiranje opterećenja, koji se može koristiti ili za povećanje performansi sistema u cjelini, ili za korištenje novog moda „uštede memorije“, koji vam omogućava da radite „sa ograničenom memorijom“ u slučajevima kada je konfiguracija korišteno "voli da pojede memoriju."

Stabilnost rada pri korištenju velikih količina memorije će biti određena novim parametrima proizvodnog servera.


Posebno je zanimljiv parametar “sigurna potrošnja memorije po pozivu”. Za one koji slabo znaju šta je to, bolje je da ne treniraju na "produktivnoj" osnovi. Parametar "Maksimalna veličina memorije radnih procesa" omogućava da se u slučaju "prelivanja" ne sruši cijeli radni proces, već samo jedna sesija "sa gubitnikom". “Količina memorije za radne procese do koje se server smatra produktivnim” omogućava vam da blokirate nove veze čim se ovaj prag memorije premaši.

Preporučujem izolaciju radnih procesa prema bazi podataka, na primjer, navođenjem parametra “Broj informacione sigurnosti po procesu = 1”. Sa nekoliko visoko opterećenih baza podataka, ovo će smanjiti međusobni uticaj iu smislu pouzdanosti i performansi.

Poseban doprinos stabilnosti sistema daje “trošak” licenci/ključeva. U 8.3, postalo je moguće koristiti „softverski licencni menadžer“, koji podsjeća na „aladin“ menadžer. Cilj je da se ključ može staviti na zasebnu mašinu.

Implementiran je kao još jedan “servis” u upravitelju klastera. Možete koristiti, na primjer, „besplatan“ laptop. Dodajte ga u klaster 1C 8.3, kreirajte zasebnog upravitelja na njemu s uslugom „usluga licenciranja“. Možete umetnuti hardverski hasp ključ u svoj laptop ili aktivirati softverske licence.

Od najvećeg interesa za programere bi trebalo da budu “Zahtjevi za dodjelu funkcionalnosti”.

Dakle, na laptopu sa sigurnosnim ključem, kako ne biste pokretali korisnike na serveru klastera, morate dodati "zahtjeve" za objekt zahtjeva "Klijentska veza za sigurnost informacija" - "Ne dodijeli", tj. spriječiti radne procese na ovom serveru da obrađuju klijentske veze.

Još zanimljivija je mogućnost pokretanja „samo pozadinskih poslova“ na proizvodnom serveru klastera bez korisničkih sesija. Na ovaj način možete premjestiti visoko opterećene zadatke (kod) na zasebnu mašinu. Štaviše, možete pokrenuti jedan pozadinski zadatak “zatvaranja mjeseca” koristeći “Vrijednost dodatnog parametra” na jednom računaru, a pozadinski zadatak “Ažuriranje indeksa punog teksta” na drugom se javlja kroz indikaciju “Vrijednost dodatni parametar”. Na primjer, ako navedete BackgroundJob.CommonModule kao vrijednost, možete ograničiti rad poslužitelja radnika u klasteru samo na pozadinske poslove s bilo kojim sadržajem. Vrijednost BackgroundJob.CommonModule..- će ukazati na određeni kod.

Jasno je da nema smisla prepričavati dokumentaciju. Ali ako neko da neki koristan savjet, proširit ću članak.

Prije svega, nakon instaliranja klastera 1C, bilo je potrebno kreirati tokove rada. Kako se ispostavilo, procesi klastera počeli su se automatski kreirati u zavisnosti od opterećenja baze podataka.

Probno pokretanje pozadinskih poslova glavne baze podataka dovelo je do toga da 1C klaster beskonačno preopterećuje rphost.exe, a dodatni rphost.exe nije želio da se kreira. Nakon kopanja kroz podešavanja, sve je postalo jasno.

Maksimalna memorija toka rada je količina memorije koju radni procesi mogu koristiti zajedno. Morate biti vrlo pažljivi kada postavljate parametar, mjeren u bajtovima. Ako postavite pogrešnu vrijednost (nedovoljno za normalan rad korisnika), korisnici će dobiti grešku "Nema dovoljno slobodne memorije na 1C serveru". Ovu grešku možete dobiti i kada je ponestalo memorijske kvote na 1C serveru.

Sigurna potrošnja memorije po pozivu– omogućava vam kontrolu potrošnje memorije tokom poziva servera, mjereno u bajtovima. Ako poziv koristi više memorije od očekivanog, ovaj poziv će biti dovršen unutar 1C klastera bez ponovnog pokretanja radnog procesa (rphost.exe). U skladu s tim, "gubitnik" koji je uputio poziv servera izgubit će sesiju s 1C bazom podataka bez utjecaja na rad drugih korisnika.

u jednom GB – 1073741824 bajtova, dakle u 2 GB – 2147483648 bajtova

Količina memorije za radne procese do koje se server smatra produktivnim - ako se ovaj parametar prekorači, server u 1C klasteru prestat će prihvaćati nove veze.

Broj informacione sigurnosti po procesu– omogućava vam da izolujete informacijske baze za radne procese. Prema zadanim postavkama, trenutni 1C klaster je postavljen na “ 8 “, ali tokom nekoliko sati rada server se ponašao vrlo nestabilno, korisničke sesije su se zamrznule. Nakon izolacije svake infobaze (vrijednost – “1”) problemi su nestali.

Broj veza po procesu- zadana vrijednost " 128 “. S obzirom na to da postojeća baza podataka ima veoma veliki broj pozadinskih zadataka (logističke kalkulacije, analiza cjenovnika, analiza konkurenata, itd.), odlučeno je da se broj smanji na „25“.

Postavke samog 1C klastera su se neznatno promijenile:

Nivo tolerancije grešaka– ovo je broj servera koji rade istovremeno mogu otkazati, a to neće dovesti do abnormalnog ukidanja korisnika. Usluge sigurnosnog kopiranja pokreću se automatski u količini potrebnoj da se osigura navedena tolerancija grešaka. U realnom vremenu, aktivna usluga se replicira na rezervne.

Način dijeljenja opterećenja– postoje dvije opcije za parametar: „Prioritet prema performansama“ – troši se više serverske memorije i performanse su veće, „Prioritet po memoriji“ – 1C klaster štedi memoriju servera.

Server 8.3 karakteriše novi redizajniran interni kod, iako se „izvana“ može činiti da se radi o malo modifikovanom 8.2.

Server je postao „automatski konfigurabilniji“ neki parametri, kao što je broj radnih procesa, više se ne kreiraju ručno, već se izračunavaju na osnovu opisa zahteva tolerancije grešaka i zadataka pouzdanosti.

Ovo smanjuje vjerovatnoću pogrešne konfiguracije servera i smanjuje kvalifikacijske zahtjeve za administratore.

Razvijen je mehanizam za balansiranje opterećenja, koji se može koristiti ili za povećanje performansi sistema u cjelini, ili za korištenje novog moda „uštede memorije“, koji vam omogućava da radite „sa ograničenom memorijom“ u slučajevima kada je konfiguracija korišteno "voli da pojede memoriju."

Stabilnost rada pri korištenju velikih količina memorije će biti određena novim parametrima proizvodnog servera.

Posebno je zanimljiv parametar “sigurna potrošnja memorije po pozivu”. Za one koji slabo znaju šta je to, bolje je da ne treniraju na "produktivnoj" osnovi. Parametar “Maksimalna veličina memorije radnih procesa” omogućava, u slučaju “prelivanja”, da se ne sruši cijeli radni proces, već samo jedna sesija “sa gubitnikom”. “Količina memorije radnog procesa do koje se server smatra produktivnim” omogućava vam da blokirate nove veze čim se ovaj prag memorije premaši.

Preporučujem izolaciju radnih procesa prema bazi podataka, na primjer, navođenjem parametra “Broj informacione sigurnosti po procesu = 1”. Sa nekoliko visoko opterećenih baza podataka, ovo će smanjiti međusobni uticaj iu smislu pouzdanosti i performansi.

Poseban doprinos stabilnosti sistema daje “trošak” licenci/ključeva. U 8.3, postalo je moguće koristiti „softverski licencni menadžer“, koji podsjeća na „aladin“ menadžer. Cilj je da se ključ može staviti na zasebnu mašinu.

Implementiran je kao još jedan “servis” u upravitelju klastera. Možete koristiti, na primjer, „besplatan“ laptop. Dodajte ga u klaster 1C 8.3, kreirajte zasebnog upravitelja na njemu s uslugom „usluga licenciranja“. Možete umetnuti hardverski hasp ključ u svoj laptop ili aktivirati softverske licence.

Od najvećeg interesa za programere bi trebalo da budu “Zahtjevi za dodjelu funkcionalnosti”.

Zahtjevi za dodijeljenu funkcionalnost 1c

Dakle, na laptopu sa sigurnosnim ključem, kako ne biste pokretali korisnike na serveru klastera, potrebno je dodati "zahtjeve" za objekt zahtjeva "Klientska veza za sigurnost informacija" - "Ne dodijeli", tj. spriječiti radne procese na ovom serveru da obrađuju klijentske veze.

Još zanimljivija je mogućnost pokretanja „samo pozadinskih poslova“ na proizvodnom serveru klastera bez korisničkih sesija. Na ovaj način možete premjestiti visoko opterećene zadatke (kod) na zasebnu mašinu. Štaviše, možete pokrenuti jedan pozadinski zadatak “zatvaranja mjeseca” koristeći “Vrijednost dodatnog parametra” na jednom računaru, a pozadinski zadatak “Ažuriranje indeksa punog teksta” na drugom se javlja kroz indikaciju “Vrijednost dodatni parametar”. Na primjer, ako navedete BackgroundJob.CommonModule kao vrijednost, možete ograničiti rad poslužitelja radnika u klasteru samo na pozadinske poslove s bilo kojim sadržajem. Vrijednost BackgroundJob.CommonModule.<Имя модуля>.<Имя метода>- će ukazati na određeni kod.

Pored verzije datoteke, sistem 1C:Enterprise može raditi sa bazama podataka u verziji klijent-server. U potonjem slučaju, razumijemo arhitekturu koja se sastoji od nekoliko softverskih slojeva, šematski prikazanih na donjoj slici.

  • Klijentske aplikacije, tanki klijenti i web klijenti- ovo je "1C:Enterprise" u različitim načinima pokretanja s kojima radi krajnji korisnik. Za klijentske aplikacije i tanke klijente dovoljan je web pretraživač na računarima korisnika (ili na njima), za web klijenta.
  • Serverski klaster "1C:Enterprise" je skup radnih procesa koji se pokreću na jednom ili više računara i lista informacionih baza koje se nalaze u ovom klasteru. U klasteru servera se obavlja sav rad aplikativnih objekata, priprema se za prikaz obrazaca (čitanje objekata infobaze, popunjavanje podataka obrasca, sređivanje elemenata itd.) i komandnog interfejsa, generisanje izveštaja i izvođenje pozadinskih poslova. Klijenti prikazuju samo informacije pripremljene u klasteru servera. Osim toga, servisni fajlovi se pohranjuju na serveru klastera 1C:Enterprise, kao i evidencija registracije baze podataka.
  • Server baze podataka— na serveru baze podataka odvija se direktno skladištenje i obrada podataka, koje obezbeđuje jedan od sledećih sistema za upravljanje bazom podataka (DBMS) podržanih od 1C:Enterprise sistema:
    • Microsoft SQL Server od Microsoft SQL Server 2000 i noviji;
    • PostgrageSQL od verzije 8.1;
    • IBM DB2 od verzije 9.1;
    • Oracle baza podataka od verzije 10g izdanja 2.
  • Web server potrebno samo za web klijente i jednu od opcija tankog klijenta. Pruža interakciju ovih vrsta veza sa klasterom 1C:Enterprise servera.

Također je vrijedno napomenuti da svaki softverski sloj ne mora nužno biti smješten na zasebnom fizičkom računalu. Klaster servera može se nalaziti na istom računaru sa serverom baze podataka, web serverom itd. Na primjer, sljedeća struktura rada se često nalazi u malim organizacijama:

U ovom članku ću opisati instalaciju servera 1C:Enterprise verzije 8.3.4.389 (za ostale verzije platforme 1C:Enterprise 8.1, 8.2 i 8.3 koraci su slični) na jednom računaru koji radi pod Windows Server 2008 (R2) ili Windows Server 2012 (R2). Microsoft SQL Server 2008 (R2) ili Microsoft SQL Server 2012 će se smatrati DBMS-om.

  1. Računar koji ispunjava sistemske zahtjeve za instaliranje 1C:Enterprise servera i sa OS instaliranim na ovom računaru ili .
  2. Računar za server baze podataka, koji također radi pod operativnim sistemom ili (može biti računar iz koraka 1).
  3. Lokalna administratorska prava na oba računara.
  4. Distribucijski komplet za instaliranje servera 1C:Enterprise 8.
  5. Softverska licenca ili HASP4 Net zaštitni ključ za 1C:Enterprise server.
  6. Distribucijski komplet za instalaciju Microsoft SQL Server 2008 (R2) ili Microsoft SQL Server 2012.

2. Instalacija MS SQL Server DBMS-a

Instaliramo MS SQL Server DBMS na računar koji služi kao server baze podataka. Za rad sa sistemom 1C:Enterprise dovoljno je instalirati sljedeće komponente:

  • Usluge baze podataka
  • Alati za upravljanje - Osnovni
    • Alati za upravljanje - kompletno.

Odaberite opcije sortiranja " Cyrillic_General_CI_AS" Detalji o instalaciji sistema

3. Konfiguriranje Windows zaštitnog zida za rad DBMS-a

Ako se server baze podataka i klaster server 1C:Enterprise nalaze na različitim fizičkim računarima, potrebno je da konfigurišete Windows Firewall na serveru baze podataka tako da server 1C:Enterprise može raditi sa DBMS-om, odnosno otvoriti dolazne veze na portu 1433 (za zadanu instancu SQL Servera).

  • Pisao sam detaljno o postavljanju Windows zaštitnog zida za Microsoft SQL Server 2008 (R2) / 2012.

4. Dodavanje korisnika na MS SQL Server

Zatim ćemo dodati zasebnog korisnika na MS SQL Server, pod kojim će se povezati baze podataka 1C:Enterprise servera. Ovaj korisnik će također biti vlasnik ovih baza podataka. Korisnik koji se dodaje mora biti autoriziran na serveru pomoću lozinke i imati sljedeći skup uloga: dbcreator, processadmin, javnosti. Detalji o dodavanju korisnika u

  • Microsoft SQL Server 2008 (R2) Napisao sam.
  • Napisao sam Microsoft SQL Server 2012.

5. Instalacija servera 1C:Enterprise

Sada pređimo na instalaciju datoteka servera 1C: Enterprise i pokretanje odgovarajuće usluge. Za instalaciju je potreban distributivni komplet tehnološke platforme 1C:Enterprise. Sa liste isporučenih distribucija odgovaraju sljedeće:

  • Tehnološka platforma 1C:Enterprise za Windows - omogućava instalaciju 32-bitnog 1C:Enterprise servera
  • 1C:Enterprise server (64-bit) za Windows - omogućava instalaciju i 32-bitnih i 64-bitnih 1C:Enterprise servera

(Postoji i proširena verzija KORP servera 1C:Enterprise 8.3, detalje možete pronaći na web stranici 1C)

Otvorite direktorij s instalacijskim datotekama 1C:Enterprise servera i pokrenite datoteku setup.exe.

Pokrenut će se pomoćnik za instalaciju sistema 1C: Enterprise. Na prvoj stranici kliknite na " Dalje».

Na sljedećoj stranici trebate odabrati komponente koje će biti instalirane potrebne su nam sljedeće komponente:

  • Server 1C: Enterprise— Komponente servera 1C:Enterprise
  • Administracija servera 1C:Enterprise 8— dodatne komponente za administriranje klastera 1C:Enterprise servera

Preostale komponente (lista komponenti može zavisiti od specifične distribucije), u zavisnosti od potrebe, takođe se mogu instalirati na ovom računaru. Nakon što ste odabrali, kliknite na “ Dalje».

Izaberite jezik interfejsa koji će se podrazumevano koristiti i kliknite na „ Dalje».

Ako je server 1C:Enterprise instaliran kao Windows usluga (a u većini slučajeva bi trebao biti instaliran na ovaj način), preporučujem da odmah kreirate posebnog korisnika pod kojim će kreirana usluga biti pokrenuta. Za ovo

  • Ostavite zastavu "uključenu" Instalirajte 1C:Enterprise server kao Windows uslugu (preporučeno)»;
  • Pomeramo odgovarajući prekidač na “ Kreirajte korisnika USR1CV8».
  • Unesite lozinku za korisnika koji se kreira dvaput. Podrazumevano, lozinka mora biti u skladu sa Windows politikom lozinki. Više o ovome možete pročitati:
    • Za Microsoft Windows Server 2008 (R2) - ;
    • Za Microsoft Windows Server 2012 - .

Također možete odabrati postojećeg korisnika za pokretanje 1C:Enterprise servera. U tom slučaju odabrani korisnik mora imati sljedeća prava:

  • Prijavite se kao servis
  • Prijavite se kao skupni posao
  • Korisnici dnevnika performansi.

Također, korisnik mora dobiti potrebna prava na direktorij serverskih servisnih datoteka (podrazumevano C:\Program Files\1cv8\srvinfo za 64-bitne i C:\Program Files (x86)\1cv8\srvinfo za 32-bitni server).

Automatski kreiran korisnik USR1CV8 imaće sva gore navedena prava.

Nakon što unesete odgovarajuće parametre, kliknite na “ Dalje».

I na kraju, kliknite na “ Instaliraj» za početak instalacije. Ovo će kopirati datoteke odabranih komponenti, kreirati konfiguracijske datoteke, registrirati komponente programa, kreirati prečice, a također će pokrenuti uslugu servera 1C:Enterprise.

Kada se instalacija završi, pomoćnik će od vas tražiti da instalirate zaštitni drajver - HASP Device Driver. Ako koristite softversku licencu za 1C:Enterprise server, nema potrebe za instaliranjem drajvera. Ostavite ili uklonite zastavu" Instalirajte zaštitni drajver" i kliknite " Dalje».

Iznajmite 1C:ERP Cloud rješenje
od 2000 rub./mjesečno.

Upravljanje isporukom Za trgovinske i kurirske kompanije!

1C:EDO Saznajte o svim prednostima elektronskog upravljanja dokumentima!

Kraj podrške
"1C:KA izd. 1.1"!
Organizirajte prelazak na “1C:KA 2.4”

Iznajmite 1C server
u oblaku
Radite u 1C na daljinu i uštedite do 70%!


1C serverski klaster - izgradnja sistema visokog opterećenja

Naručite demo Naručite

Ovaj članak će razmotriti nekoliko opcija za 1C strukturu za sisteme visokog opterećenja (od 200 aktivnih korisnika) izgrađene na bazi klijent-server arhitekture - njihove prednosti i nedostatke, troškove instalacije i uporedne testove performansi svake opcije.

Nećemo opisivati, procjenjivati ​​i upoređivati ​​općeprihvaćene i odavno poznate klasične sheme za izgradnju strukture 1C servera, kao što su odvojeni 1C server i zasebni DBMS server, ili Microsoft SQL klaster sa 1C klasterom. Postoji veliki broj takvih recenzija, uključujući i one koje provode sami proizvođači softverskih proizvoda. Ponudit ćemo pregled shema dizajna 1C strukture koje smo naišli u posljednjih nekoliko godina u našim IT projektima za srednja i velika poduzeća.

Zahtjevi za visoko opterećene 1C sisteme

Visoko opterećeni 1C sistemi koji rade s velikim količinama podataka 24/7/365 podložni su faktorima rizika koji se obično ne primjećuju u standardnim situacijama. Kao rezultat toga, da bi se eliminirali i spriječili, potrebna je upotreba posebnih šema arhitekture 1C i novih tehnologija.

Otpornost DBMS na katastrofe. U procesu projektovanja 1C arhitekture akcenat je na računarskoj snazi ​​i visokoj dostupnosti usluga, izraženoj u njihovom klasterovanju. Podrazumevano, 1C:Enterprise serveri su sposobni da rade u redundantnom klasteru, a za DBMS klaster se obično koriste industrijski sistem skladištenja podataka (SDS) i tehnologija klasterisanja (na primer, Microsoft SQL Cluster). Međutim, situacija postaje strašna kada se pojave problemi sa samim sistemom za skladištenje podataka (često, prema našem iskustvu poslednjih godina, to su problemi sa softverom). Tada se IT inženjer iznenada susreće sa dva problema – gde da dobije ažurirane podatke i gde da ih primeni u najkraćem mogućem roku, pošto sistem za skladištenje podataka sa potrebnim volumenom brzog diskovnog niza nije dostupan.

Sigurnosni zahtjevi baze podataka. Radeći sa projektima srednjih i velikih preduzeća, redovno se susrećemo sa zahtjevima za zaštitu ličnih podataka (posebno da se pridržavamo paragrafa Federalnog zakona-152). Jedan od uslova za ispunjavanje ovih zahtjeva je osiguranje odgovarajuće sigurnosti ličnih podataka, što zahtijeva šifriranje baze podataka 1C.

Prilikom razvoja šeme za 1C sisteme visokog opterećenja, ljudi obično obraćaju pažnju prije svega na parametre diskovnog ulazno/izlaznog sistema na kojem se nalaze baze podataka. Ali osim toga, postoji i aktivno korištenje CPU resursa i potrošnje RAM-a od strane 1C servera. Često upravo ova vrsta resursa nedostaje, mogućnosti za nadogradnju hardvera trenutnog 1C servera su iscrpljene i potrebno je dodati nove 1C servere koji rade sa jednim DBMS serverom.

Šeme za organiziranje klastera 1C servera

Šema s klasterom 1C servera povezanih na klaster sa sinkronom SQL AlwaysOn replikacijom putem IP-a. Ova shema je jedna od visokokvalitetnih opcija za rješavanje problema otpornosti na katastrofe 1C baze podataka (vidi sliku 1). Tehnologija klasteriranja baze podataka SQL AlwaysOn zasniva se na principu onlajn sinhronizacije SQL tabela između glavnog i rezervnog servera bez intervencije krajnjeg korisnika. Koristeći SQL Listener, moguće je prebaciti se na rezervni SQL server u slučaju kvara glavnog, što vam omogućava da ovaj sistem nazovete punopravnim SQL klasterom otpornim na katastrofe, zahvaljujući korištenju dva nezavisna SQL servera . Tehnologija SQL Always On dostupna je samo u izdanju Microsoft SQL Enterprise.


Slika 1 - dijagram klastera 1C servera + SQL AlwaysOn


Druga shema je identična prvoj, samo je dodana enkripcija SQL baza podataka na glavnom i rezervnom serveru. Već smo spomenuli da je rad na nedavnim IT projektima pokazao da su kompanije počele da posvećuju mnogo više pažnje pitanju sigurnosti podataka, iz različitih razloga - zahtjevi Federalnog zakona-152, raidersko preuzimanje servera, curenje podataka u oblaku. , i slično. Stoga smatramo da je ova verzija 1C šeme prilično relevantna (vidi sliku 2).


Slika 2 - dijagram klastera 1C + SQL AlwaysOn servera sa enkripcijom


Grupa 1C "aktivno-aktivnih" servera povezanih na jedan DBMS server preko IP-a. Za razliku od potreba za tolerancijom grešaka i bezbednošću, neke strukture prvenstveno zahtevaju povećane performanse, da tako kažem, „svu računarsku snagu“. Stoga je maksimalni prioritet dat povećanju broja računarskih klastera 1C servera, u koje moderna 1C platforma omogućava diferenciranje različitih tipova proračuna i pozadinskih poslova (vidi sliku 3). Naravno, konfiguracija glavnih resursa SQL servera takođe treba da bude na standardnom nivou, ali sam server baze podataka je predstavljen u jednini (očigledno, proračun je napravljen za pravovremeno pravljenje rezervnih kopija baza podataka).


Slika 3 - dijagram klastera 1C servera sa jednim DBMS serverom


1C server i DBMS na jednom hardverskom serveru sa SharedMemory. Pošto su naši praktični testovi fokusirani na upoređivanje performansi različitih šema, potrebna je neka vrsta standarda za poređenje nekoliko opcija (vidi sliku 4). Kao standard, po našem mišljenju, potrebno je uzeti raspored 1C servera i DBMS-a na jednom hardverskom serveru bez virtuelizacije sa interakcijom preko SharedMemory-a.


Slika 4 - dijagram 1C servera i DBMS na jednom hardverskom serveru sa SharedMemory


Ispod je opšta uporedna tabela koja prikazuje ukupne rezultate za ključne kriterijume za procenu organizacije strukture 1C sistema (vidi tabelu 1).


Kriterijumi za vrednovanje 1C arhitekture Klaster 1C + SQL uvijek uključen Klaster 1C + SQL AlwaysOn sa enkripcijom
1C klaster sa jednim DBMS serverom
Klasični 1C+DBMS SharedMemory
Jednostavnost instalacije i održavanja Zadovoljan Zadovoljan U redu Odlično
tolerancije grešaka Odlično Odlično Zadovoljan Nije primjenjivo
Sigurnost Zadovoljan Odlično Zadovoljan Zadovoljan
Budžetiranje Zadovoljan Zadovoljan U redu Odlično

Tabela 1 - poređenje opcija za izgradnju 1C sistema


Kao što vidite, ostaje jedan važan kriterij čije značenje ostaje da se utvrdi - produktivnost. Da bismo to učinili, provest ćemo seriju praktičnih testova na namjenskom ispitnom stolu.

Opis metodologije testiranja

Faza testiranja sastoji se od dva ključna alata za sintetičko generiranje opterećenja i simulaciju rada korisnika u 1C. Ovo je Gilev test (TPC-1C) i “Centar za testiranje” iz 1C: Instrumentation alata.

Gilevov test. Test pripada sekciji univerzalnih integralnih cross-platform testova. Može se koristiti i za fajl i za klijent-server verzije 1C:Enterprise. Test procjenjuje količinu posla po jedinici vremena u jednoj niti i pogodan je za procjenu brzine jednonitnog učitavanja, uključujući brzinu prikazivanja interfejsa, uticaj troškova resursa na održavanje virtuelnog okruženja, ponovno objavljivanje dokumenata, zatvaranje mjesec, obračun platnog spiska itd. Univerzalnost vam omogućava da napravite generaliziranu procjenu performansi bez vezivanja za specifičnu tipičnu konfiguraciju platforme. Rezultat testa je zbirna procjena izmjerenog 1C sistema, izražena u konvencionalnim jedinicama.

Specijalizirani "Centar za testiranje" iz 1C: Instrumentation alata. Test centar je alat za automatizaciju višekorisničkih testova opterećenja informacionih sistema na platformi 1C:Enterprise 8 Uz njegovu pomoć možete simulirati rad preduzeća bez učešća stvarnih korisnika, što vam omogućava da procenite primenljivost, performanse i skalabilnost informacionog sistema u realnim uslovima. Koristeći 1C:KIP alate, na osnovu procesa i test slučajeva, generiše se matrica „Lista objekata rasporeda ERP 2.2 baze podataka“ za scenario testiranja performansi. U izgledu baze podataka 1C: ERP 2.2, podaci se generiraju obradom prema Regulatornim referentnim informacijama (RNI):

  • Nekoliko hiljada nomenklaturnih jedinica;
  • Nekoliko organizacija;
  • Nekoliko hiljada ugovornih strana.

Test se provodi unutar nekoliko grupa korisnika. Grupa se sastoji od 4 korisnika, od kojih svaki ima svoju ulogu i listu uzastopnih operacija. Zahvaljujući fleksibilnom mehanizmu za postavljanje parametara za testiranje, možete pokrenuti test na različitom broju korisnika, što će vam omogućiti da procijenite ponašanje sistema pod različitim opterećenjima i identifikujete parametre koji mogu dovesti do smanjenja pokazatelja performansi. Izvode se 3 testa u 3 iteracije u kojima 1C programer izvodi test koji emulira rad korisnika i mjeri vrijeme izvršenja svake operacije. Sve tri iteracije se mjere za svaku od shema 1C strukture. Rezultat testa je da se dobije prosječno vrijeme izvršenja operacije za svaki matrični dokument.

Indikatori “Test centra” i Gilev testa bit će prikazani u zbirnoj tabeli 2.

Test bench

Terminal Access Server– virtuelna mašina, koja se koristi za upravljanje alatima za testiranje:

  • vCPU - 16 jezgara 2.6GHz
  • RAM - 32 GB
  • I\o: Intel Sata SSD Raid1
  • RAM - 96 GB
  • I\o: Intel Sata SSD Raid1

1C Server i DBMS - fizički server

  • CPU - Intel Xeon procesor E5-2670 8C 2.6GHz – 2 kom.
  • RAM - 96 GB
  • I\o: Intel Sata SSD Raid1
  • Uloge: 1C Server 8.3.8.2137, MS SQL Server 2014 SP 2

zaključci

Možemo zaključiti da je, na osnovu prosečnog vremena rada, najoptimalnija šema br. 3 „Klaster 1C „aktivno-aktivno” servera povezanih na jedan DBMS server preko IP protokola” (videti tabelu 2). Da bi se osigurala tolerancija na greške takve arhitekture, preporučujemo izgradnju klasičnog MSSQL klastera za prevazilaženje greške sa bazom podataka koja se nalazi na zasebnom sistemu skladištenja.

Važno je napomenuti da je najoptimalniji balans faktora za minimiziranje zastoja, tolerancije grešaka i sigurnosti podataka u šemi br. 1 „Klaster 1C servera povezanih na klaster sa sinhronom SQL AlwaysOn replikacijom putem IP-a”, dok je pad performansi upoređivan. do najproduktivnije opcije je otprilike 10%.

Kao što možemo vidjeti iz rezultata testiranja, sinhrona replikacija AlwaysOn SQL baze podataka ima prilično negativan utjecaj na performanse. Ovo se objašnjava činjenicom da SQL sistem čeka kraj replikacije svake transakcije na backup server, ne dozvoljavajući vam da radite sa bazom podataka u ovom trenutku. Ovo se može izbjeći postavljanjem asinhrone replikacije između MSSQL servera, ali sa takvim postavkama nećemo dobiti automatsko prebacivanje aplikacija na backup čvor u slučaju kvara. Prebacivanje će se morati izvršiti ručno.

Na osnovu EFSOL oblaka, nudimo našim klijentima 1C klaster servera za iznajmljivanje. Ovo vam omogućava da značajno uštedite novac na izgradnji vlastite arhitekture otporne na greške za rad sa 1C.



1C arhitektonski dijagram

Prosječno vrijeme dovršetka operacije, sec