Cum se configurează smartphone-uri și PC-uri. Portal informativ

Dimensiunea memoriei server SQL pentru 1c 8.3.

Vă rugăm să rețineți că setările clusterului sunt responsabile pentru setările tuturor serverelor care aparțin clusterului configurat. Un cluster presupune operarea mai multor servere fizice sau virtuale care lucrează cu aceleași baze de informații.

Interval de repornire- este responsabil pentru frecvența repornirii proceselor de lucru în cluster. Acest parametru trebuie setat atunci când serverul rulează non-stop. Se recomandă asocierea frecvenței de repornire cu ciclul tehnologic al bazelor de info cluster. Aceasta este de obicei la fiecare 24 de ore (86400 de secunde). După cum știți, procesele de lucru ale serverelor 1C procesează și stochează datele de lucru.

Repornirea automată a fost concepută în platformă „pentru a minimiza efectele negative ale fragmentării și scurgerilor de memorie în procesele lucrătorilor”. Pe ITS există chiar și informații despre modul de organizare a repornirii proceselor de lucru în funcție de alți parametri (dimensiunea memoriei, resursele ocupate etc.).

Dimensiunea de memorie permisă- protejează serverele 1C de suprasolicitarea memoriei. Când procesul depășește acest volum în intervalul de depăşire a volumului admis, procesul este repornit. Aceasta poate fi calculată ca cantitatea maximă de memorie utilizată de procesele rphost în perioadele de vârf de încărcare a serverului. De asemenea, merită să setați un interval mic pentru depășirea volumului permis.

Toleranța la erori de server... Platforma calculează numărul mediu de erori de server în raport cu numărul de solicitări către server în decurs de 5 minute. Dacă acest raport depășește valoarea admisă, atunci fluxul de lucru este considerat „problematic” și poate fi încheiat de sistem dacă steag-ul este setat „Începeți forțat procesele cu probleme”.

Opriți procesele dezactivate în. Dacă se depășește cantitatea de memorie permisă, fluxul de lucru nu se termină imediat, ci devine „dezactivat”, astfel încât să existe timp să „transferăm” datele de lucru fără a le pierde în noul flux de lucru care rulează. Dacă acest parametru este specificat, atunci procesul „dezactivat” se va încheia în orice caz după acest timp. Dacă există procese de lucru „înghețate” în serverul 1C, atunci acest parametru poate fi setat pentru 2-5 minute.
Aceste setări sunt setate individual pentru fiecare server 1C.

Memorie maximă pentru fluxul de lucru Este volumul cumulativ memorie care poate fi ocupată de procesele de lucru (rphost) pe clusterul curent. Dacă parametrul este setat la „0”, atunci ocupă 80% din memoria RAM a serverului. „-1” - nelimitat. Când un DBMS și un server 1C rulează pe același server, trebuie să partajeze RAM. Dacă în timpul funcționării se constată că serverul DBMS nu are suficientă memorie, atunci puteți limita memoria alocată serverului 1C folosind acest parametru. Dacă DBMS și 1C sunt împărțite de servere, atunci este logic să calculați acest parametru folosind formula:

„Volum maxim” = „RAM totală” - „RAM OS”;

„OS RAM” se calculează pe baza a 1 GB pentru fiecare 16 GB de RAM de server

Consum sigur de memorie într-un singur apel... În general, apelurile individuale nu ar trebui să ocupe toată memoria RAM alocată procesului de lucru. Dacă parametrul este setat la „0”, atunci volumul debitului sigur va fi egal cu 5% din „ Dimensiunea maximă a memoriei proceselor de lucru "... „-1” - fără limitare, ceea ce este extrem de descurajat. În cele mai multe cazuri, este mai bine să lăsați acest parametru „0”.

Utilizarea parametrilor „Număr de IB-uri per proces” și „Număr de conexiuni per proces” puteți gestiona distribuția muncii serverului 1C în funcție de fluxul de lucru. De exemplu, rulați un „rphost” separat pentru fiecare bază de date, astfel încât, în cazul unui „crash” al procesului, numai utilizatorii unei baze de date să fie deconectați. Acești parametri ar trebui selectați individual pentru fiecare configurație de server.

Restricții privind utilizarea RAM de către serverul DBMS- Serverul MS SQL DBMS are o caracteristică remarcabilă - îi place să încarce complet bazele de date cu care lucrează activ în RAM. Dacă nu este limitat, atunci va lua toată memoria RAM posibilă.

  • Dacă serverul 1C: Enterprise este instalat împreună cu Microsoft SQL Server, atunci pragul superior de memorie trebuie redus cu o cantitate suficientă pentru ca serverul 1C să funcționeze.
  • Dacă numai DBMS rulează pe server, atunci pentru DBMS conform formulei:

"DBMS memory" = "Shared RAM" - "OS RAM";

Memorie partajată- se cunosc multe despre acest parametru, dar tot se întâmplă ca oamenii să uite de el. Îl setăm la „1” dacă serverul 1C și DBMS funcționează pe același server fizic sau virtual. Apropo, funcționează începând de la platforma 8.2.17.

Gradul maxim de paralelism- determină câte procesoare sunt folosite la executarea unei cereri. SGBD paralelizează regăsirea datelor atunci când efectuează interogări complexe pe mai multe fire. Pentru 1C, este recomandat să îl setați la „1”, adică un flux.

Fișierele bazei de date cu extindere automată- definim pasul in MB, cu care fisierul bazei de date este "extins". Dacă pasul este mic, atunci odată cu creșterea activă a bazei de date, extensiile frecvente vor duce la încărcare suplimentară a sistemului de discuri. Mai bine să-l setați la 500 - 1000 MB.

Reindexarea și defragmentarea indecșilor- se recomanda sa faci defragmentare/reindexare cel putin o data pe saptamana. Reindexează tabelele, așa că cel mai bine este să rulezi în afara orelor de lucru sau în perioadele de vârf. Nu are sens să faci defragmentarea după reconstruirea indexului (reindexare). Conform recomandării Microsoft, defragmentarea se face dacă fragmentarea indexului nu depășește 30%. Dacă este mai mare, se recomandă reindexarea.

Planul de alimentare- în setările de putere ale sistemului de operare, setați la performanță ridicată.

Până în prezent, produsul financiar 1C a crescut de la o aplicație software de contabilitate pentru contabilitate într-un complex de format larg pentru contabilitate și întreținere a aproape orice tip de afacere, pretinzând că concurează cu „monstrii” lumii SAP R/3 și Microsoft Dynamics AX. (Axapta).

Companiile rusești își organizează din ce în ce mai mult procesele de afaceri folosind configurații moderne 1C 8.3 „Managementul comerțului”, „Managementul producției”, „Managementul întreprinderii ERP”și altele asemenea. Departamentele de contabilitate, marketing, producție, vânzări sunt transferate la 1C, se realizează integrarea cu sisteme de telefonie IP și flux de lucru. Cu toate acestea, imediat după intențiile „să lucrăm în 1C” apar întrebări - pe ce resurse va funcționa baza centrală 1C, ce „hardware” va arăta rezultatul optim pentru un buget rezonabil? Este mai ușor pentru giganții sectorului public în această situație - s-a dat o comandă clară numeroșilor integratori și arhitecți IT cu normă întreagă, au început mecanismele de licitații cu buget mare, cu condiția obligatorie de a oferi un concept „la cheie” și sprijin suplimentar al sistemului de către specialiști certificați. Dar cum rămâne cu companiile care doresc să cumpere și să instaleze unul dintre produsele 1C: Enterprise, cheltuind bugetul cu înțelepciune?

Cea mai de bază greșeală, dacă nu țineți cont de utilizarea de software piratat sau neverificat, este economisirea hardware-ului pentru 1C. Aceste tendințe sunt în special frecvente în startup-uri și companii mici. Există o părere că nu este necesar să cumpărați echipamente de server scumpe cu procesoare Intel Xeon, nu este nevoie să precalculați cantitatea de RAM, încărcarea CPU și a subsistemului de disc, că nu este nevoie să creați redundanță de matrice de discuri (Raid), utilizați controlere de disc profesionale cu Cache-RAM și etc. Erorile în calculele arhitecturii IT pentru 1C duc la consecințe triste, despre care compania află după oprirea proceselor de afaceri. Prin urmare, este foarte important să acordați atenție fiecărui nod hardware al platformei de server pentru 1C.

Exemple de probleme tipice datorate construcției necorespunzătoare a arhitecturii IT pentru 1C:
  • „Încetinirea” interfețelor de bază și 1C din cauza încărcării excesive a resurselor cheie (de obicei, RAM sau subsistem de disc).
  • Erori și „crashuri” ale programului 1C din cauza instabilității echipamentului selectat incorect.
  • Timp de nefuncționare al companiei din cauza defecțiunii hardware-ului central.
  • Pierderea parțială sau completă a datelor 1C din cauza defecțiunilor aleatorii ale componentelor hardware sau software-ului.

Resurse hardware server 1C

Luați în considerare mai jos cele mai importante resurse hardware, o greșeală în alegerea cărora poate ruina întregul proiect de automatizare a întreprinderii atunci când creați singur un server pentru 1C.

Unitate centrală de procesare (CPU)

Numărul de nuclee fizice ale procesorului. Subiectul disputelor eterne pe tot felul de forumuri pe 1C - care este mai importantă frecvența CPU sau multicore. Rădăcinile acestor contradicții se întorc la 1C 8.0 sau chiar la 1C 7.7. Într-adevăr, procesele executabile 1C ale versiunilor anterioare erau pur cu un singur nucleu, de exemplu. indiferent de câte nuclee furnizează procesorul central - serviciul server enterprise 1C 8.0 sau clientul gros 1C 7.7 au ocupat întotdeauna doar un nucleu „zero” în sistemul de operare. Astăzi imaginea s-a schimbat - sistemul de operare distribuie cu îndrăzneală sarcinile unui proces 1C: Enterprise (rphost) pe mai multe nuclee CPU (vezi Figura 1).




Figura 1 - Sarcina procesorului în timpul proceselor serverului 1C.


Dar asta nu înseamnă deloc că, dacă cumperi un procesor cu numărul maxim de nuclee, atunci un server 1C asociat cu un DBMS (cel mai adesea un DBMS înseamnă MS SQL) va arăta performanțe fantastice și rescrierea perioadelor contabile în 1C va fi o chestiune de câteva minute. Trebuie să înțelegeți diferența dintre viteza de efectuare a unei operații și procesul de procesare simultană a unei cantități mari de informații. Numărul de nuclee fizice vă permite doar să rezolvați problema stabilității și performanței lucrului simultan cu multe sarcini diferite de către serverul 1C: Enterprise și DBMS. De aici concluzia - cu cât este mai mare numărul de utilizatori 1C, cu atât numărul necesar de nuclee va juca mai mult un rol pentru munca simultană confortabilă a acelorași utilizatori. Dependența numărului de utilizatori de numărul de nuclee pentru serverul 1C este prezentată în Tabelul 1.


Numărul de utilizatori concurenți pe serverul 1C: Enterprise Tipul și modelul procesorului Numărul de nuclee utilizate
Până la 10 utilizatori Intel Core personalizat de la 3,1 Ghz Nu mai mult de 2-4
Până la 20 de utilizatori Server Intel Xeon de la 2,4 Ghz 4 la 6
Până la 30 de utilizatori Server Intel Xeon de la 2,6 Ghz 6 până la 8 nuclee
Până la 50 de utilizatori Server Intel Xeon de la 2.4 Ghz - in cantitate de 2 bucati 4 pentru fiecare procesor

Tabelul 1 - Raportul dintre numărul de utilizatori de pe serverul 1C și numărul recomandat de nuclee CPU.


frecvența procesorului. Spre deosebire de numărul de nuclee, frecvența procesorului central afectează exact viteza de procesare a unei piese din lucrare la un moment dat, care este cel mai popular criteriu pentru utilizatorii finali de 1C. Frecvența procesorului este exact parametrul, cu o creștere în care, pentru un utilizator individual, viteza de procesare a cererilor de către serverul 1C și DBMS va crește și timpul în care sistemul va furniza rezultatul final utilizatorului final va crește. scădea. Pentru a confirma acest lucru, cunoscutul specialist Gilev, într-unul dintre articolele sale, bazat pe teste practice, a făcut o concluzie fără ambiguitate - „viteza lui 1C este mult mai influențată de frecvența procesorului central decât de ceilalți parametri ai acestuia, fie că este un client final 1C sau un server 1C: Enterprise.” Aceasta este arhitectura programului 1C.

Cache, virtualizare și hyper threading.În trecut, când procesoarele multi-core nu erau încă atât de răspândite, Intel a venit cu o tehnologie specială de procesor care imită multi-core, așa-numitul „hyper-threading”. Odată activat, un procesor fizic (un nucleu fizic) este definit de sistemul de operare ca două procesoare separate (două nuclee logice). Vă recomandăm să dezactivați hyper-threading pentru serverul 1C. Această tehnologie nu aduce nicio accelerare a muncii lui 1C.

Când utilizați mașini virtuale pentru serverul 1C: Enterprise și DBMS, trebuie să țineți cont de faptul că nucleele de mașini virtuale sunt „mai slabe” decât nucleele fizice reale, deși sunt numite la fel - „kernel-uri”. Nu există coeficienți oficiali exacti, dar articolele de pe portalurile tehnice Microsoft recomandă numărarea a 4-6 nuclee de procesor într-o mașină virtuală per nucleu fizic.

Cache este memoria cache utilizată de procesor pentru a reduce timpul mediu de acces la memoria computerului. De fapt, este o parte integrantă a procesorului, deoarece este situat pe aceeași matriță și face parte din blocurile funcționale. Totul este foarte clar aici - cu cât este mai mare dimensiunea memoriei cache, cu atât mai mari "bucăți" de informații pe care procesorul le poate procesa. De obicei, dimensiunea memoriei cache depinde de modelul procesorului - cu cât modelul este mai scump, cu atât mai multă memorie cache este de obicei. Cu toate acestea, nu credem că dimensiunea cache-ului procesorului afectează dramatic performanța serverului 1C și a SGBD-ului. Mai degrabă, se referă la zona de „ajustare fină”.

Tip procesor. Toată lumea știe că hardware-ul este împărțit în server și utilizator. Este posibil în unele cazuri să utilizați un procesor personalizat ieftin ca alternativă la un procesor de server profesional, dar scump? Se pare că poți. Să luăm în considerare un tabel care compară principalii parametri ai două variante de procesoare centrale Intel (vezi tabelul 2).

Procesor personalizat Intel® Core ™ i7-6700T (8M Cache, până la 3,60 GHz) Server Procesor Intel® Xeon® E5-2680 v2 (25 M Cache, 2,80 GHz)
Memorie cache 8 MB 25 MB
Frecvența magistralei de sistem 8 GT/s DMI3 8 GT/s QPI
Set de comenzi SSE4.1 / 4.2 pe 64 de biți, AVX 2.0 AVX 2.0 pe 64 de biți
Numărul de nuclee 4 10
Viteza de bază a CPU 2,8 GHz 2,8 GHz
Max. cantitatea și tipul de memorie RAM 64 GB non-ECC 768 GB ECC
Cost estimat 354$ 1 280$

Tabelul 2 - Comparația parametrilor principali ai unui procesor de acasă și de server de la Intel.


După cum putem vedea, procesorul serverului are valori mult mai mari în numărul de nuclee, în cantitatea de cache, suport pentru mai multă RAM și, desigur, la un preț mai mare. Cu toate acestea, CPU-ul serverului practic nu diferă de CPU-ul utilizatorului în susținerea anumitor comenzi (instrucțiuni) de procesor și în frecvența ceasului. Prin urmare, putem concluziona că pentru organizațiile mici este destul de acceptabil să folosești un procesor personalizat pentru serverul 1C: Enterprise. Singura întrebare este că un procesor personalizat nu poate fi instalat într-un soclu de pe o placă de bază de server și suportă RAM de server cu verificare de paritate (ECC), iar utilizarea componentelor personalizate implică riscuri de stabilitate a întregului sistem în ansamblu.

memorie cu acces aleatoriu (RAM)

tip RAM. Bara RAM (RAM) diferă prin scopul său - pentru sisteme de server multi-utilizator sau pentru dispozitive personale - PC-uri, laptopuri, netop-uri, thin clients etc. Ca și în cazul procesorului - parametrii principali ai modulelor RAM sunt aproximativ echivalenti - RAM PC-ului modern practic nu rămâne în urma RAM-ului serverului nici în cantitatea unei singure bare, nici în frecvența ceasului, nici în tipul de module DDR. Diferențele dintre RAM de server și RAM „de acasă” în utilizarea și scopul platformei hardware - prin urmare se formează costul său mai mare:

  • RAM serverului are paritate ECC (Error Correction Code) - o tehnică de codificare/decodare care vă permite să corectați erorile în procesarea informațiilor direct de către modulul RAM
  • Placa de bază a serverului are mult mai mulți conectori pentru instalarea modulelor RAM decât un PC obișnuit
  • RAM-ul serverului conține registre (buffere) care furnizează tampon de date (registrat parțial sau tamponat complet complet), reducând astfel încărcarea controlerului de memorie cu multe solicitări simultane. FB-DIMM-urile tamponate sunt incompatibile cu cele fără tampon.
  • Modulele de memorie de înregistrare permit, de asemenea, o scalabilitate crescută a memoriei - prezența registrelor face posibilă instalarea mai multor module pe un canal.

Putem concluziona că utilizarea modulelor RAM pentru server face posibilă instalarea unor cantități mari de RAM într-un singur sistem, iar tehnicile de control al parității ECC și utilizarea bufferelor permit sistemului de operare al serverului să funcționeze stabil și rapid.

Cantitatea de RAM. Unul dintre factorii cheie pentru performanța ridicată a serverului 1C și a DBMS este o cantitate suficientă de RAM. Desigur, nevoile reale de RAM depind de mulți factori - tipul de configurație 1C, numărul de procese 1C: Enterprise server, dimensiunea bazei de date DBMS și așa mai departe. Cu toate acestea, puteți deduce o dependență aproximativă a cantității de RAM de numărul de utilizatori (vezi tabelul 3).


Nevoia de RAM pentru serverul 1c și DBMS Până la 10 utilizatori Până la 20 de utilizatori Până la 30 de utilizatori Până la 50 de utilizatori
Server 1c: Enterprise 4-6 GB 6-8 GB 12-14 GB 18-24 GB
MS SQL Server 4-6 GB 8-10 GB 16-18 GB 24-28 GB

Tabelul 3 - Raportul aproximativ al numărului de utilizatori ai serverului 1C și RAM recomandată pentru procesele serverului 1C: Enterprise și server MS SQL.


În ceea ce privește procesele serverului 1C: Enterprise (rphost.exe) - platformele moderne 1C nu permit specificarea manuală a numărului de procese server 1C. În schimb, sistemul necesită setarea unor parametri, precum numărul de baze de informații și numărul de utilizatori per proces rphost.exe, după care determină automat numărul optim de procese server 1C: Enterprise. De asemenea, puteți configura eliberarea lină a memoriei RAM prin procesul rphost.exe dacă volumul acesteia depășește un prag predeterminat. În același timp, serverul 1C creează un nou proces rphost.exe, care preia treptat sarcinile 1C, permițând descărcarea procesului 1C necesar.

De asemenea, trebuie remarcat faptul că cantitatea de RAM alocată serviciului SQL este considerată suficientă dacă datele SQL atinse în cache sunt de cel puțin 90%. Această măsurătoare este destul de convenabilă deoarece nu puteți vedea pur și simplu cantitatea de RAM consumată de serverul SQL - ultimele versiuni ale SQL au consumat RAM dinamic - cantitatea maximă posibilă de RAM este capturată și eliberată pe măsură ce alte procese solicită RAM.

Frecvența RAM. Pe scurt, aceasta este lățimea de bandă a canalelor prin care datele sunt transmise către placa de bază și de acolo către procesor. Este de dorit ca acest parametru să coincidă cu frecvența admisă a plăcii de bază sau să o depășească, altfel canalul de transmisie RAM riscă să devină un „gât de sticlă”. În cadrul unui tip de DDR, creșterea / scăderea frecvenței nu afectează drastic performanța serverului 1C și se referă mai mult la zona de „ajustare fină”.

Timinguri RAM. Aceasta este Latența sau Latența RAM. Acest parametru este caracterizat de timpul de întârziere a datelor la comutarea între diferite module ale microcircuitului RAM. Valorile mai mici înseamnă performanță mai rapidă. Cu toate acestea, impactul asupra performanței generale a sistemului de server, și cu atât mai mult asupra serverului 1C: Enterprise, nu este mare. De obicei, doar jucătorii și overclockerii acordă atenție acestor parametri, pentru care fiecare scădere suplimentară de performanță este cea mai scumpă.

Subsistem de disc și HDD pentru hard disk-uri

Controlere de hard disk. Dispozitivul principal pentru conectarea și organizarea hard disk-urilor într-un sistem hardware este controlerul hard diskului. Este de doua feluri:

1. Încorporat - modulul controlerului este încorporat în sistem, carcasa hard diskului este conectată direct la placa de bază. Este considerată o soluție mai economică.

2. Extern - este o placă de circuit imprimat (dispozitiv) separată care este conectată la conectorul plăcii de bază. Este considerată o soluție mai profesională datorită faptului că are cipuri separate pentru efectuarea și controlul operațiunilor cu hard disk-uri HDD. Recomandat pentru sisteme server importante, cum ar fi 1C: server Enterprise și DBMS.

Există, de asemenea, un al treilea tip - un dispozitiv pentru recepția / transmiterea datelor bloc prin canale iSCSI, FiberChanel, InfiniBand, SAS. Cu toate acestea, în această variantă de realizare, subsistemul de disc este „scos” pe un dispozitiv de stocare separat (DSS), care este conectat la server printr-un cablu optic sau de cupru. În articolul nostru, analizăm cerințele pentru un server autonom pentru 1C, așa că nu vom lua în considerare acest tip.

Tipuri și niveluri de matrice RAID. Este o tehnologie de virtualizare a datelor care combină mai multe discuri într-o unitate logică pentru redundanță și performanță îmbunătățită. Să aruncăm o privire la cele mai populare niveluri ale specificației RAID:

  • RAID 0 („Striping”) nu are redundanță și distribuie informațiile dintr-o dată pe toate discurile incluse în matrice sub formă de blocuri mici ("stripe"). Acest lucru îmbunătățește semnificativ performanța, dar compromite fiabilitatea. Nu vă recomandăm să utilizați acest tip de matrice, în ciuda îmbunătățirilor de performanță.
  • RAID 1 ("Oglindă", "oglindă"). Are protecție împotriva defecțiunii a jumătate din hardware-ul disponibil (în cazul general, unul dintre cele două hard disk), oferă o viteză de scriere acceptabilă și un câștig în viteza de citire datorită paralelizării solicitărilor. Acest tip de matrice va „trage” destul de mult un server 1C + DBMS până la 25-30 de utilizatori, mai ales dacă sunt folosite unități SAS 15K sau SSD-uri.
  • RAID 10. Perechile de unități în oglindă sunt aranjate într-un „lanț”, astfel încât volumul rezultat poate depăși capacitatea unui singur hard disk. În opinia noastră, cel mai de succes tip de matrice de discuri, de atunci combină fiabilitatea RAID1 și viteza RAID 0. În combinație cu unități SAS de 15K sau SSD poate fi folosit pentru servere 1C de la 40-50 de utilizatori.
  • RAID 5. Renumit pentru economia sa. Prin sacrificarea capacității unei singure unități din matrice de dragul redundanței, obținem protecție împotriva defecțiunii oricăreia dintre hard disk-urile din sistem. (Variația sa RAID 6 necesită două hard disk-uri suplimentare pentru a găzdui sumele de verificare, dar păstrează datele chiar dacă două unități defectează). Acest tip de matrice este economic, de încredere și are o performanță de citire destul de vizibilă. Din păcate, blocajul acestei matrice este viteza scăzută de scriere, ceea ce îl face confortabil de utilizat cu configurații de server 1C pentru până la 15-20 de utilizatori. De asemenea, este optim pentru scopuri aplicate - stocarea datelor fișierelor, arhivele fluxului de documente etc.

Tipuri de interfețe pentru hard disk. După tipul de conexiune, hard disk-urile sunt împărțite:

  • HDD Sata Acasă. Cea mai ieftină versiune de hard disk concepută pentru utilizare în computerele de acasă sau în centrele media în rețea. Este puternic descurajat să folosiți astfel de dispozitive în serverele 1c din cauza toleranței scăzute la erori și a stabilității funcționării - componentele acestor unități pur și simplu nu sunt proiectate pentru funcționare 24/7 și eșuează rapid.
  • Server HDD Sata. Acest nume se referă de obicei la hard disk-uri cu o interfață Sata și o viteză de rotație a axului de 7.200 rpm. Prefixul „Server” înseamnă că astfel de unități au fost testate pentru operabilitatea în sistemele server și sunt proiectate să funcționeze stabil 24/7. Ele sunt de obicei folosite în serverele 1C pentru a stoca cantități mari de informații care nu necesită viteză mare de procesare. De exemplu - baze de date de arhivă 1c, foldere de schimb, fișiere de încărcare a documentelor de birou etc.
  • Server HDD SAS. Există mai multe diferențe între interfața SAS (analogicul modern al SCSI) și interfața Sata. Acesta este timpul mediu de răspuns al discului și funcționează într-un raft de discuri partajat și lucrează cu controlerul HDD la rate de schimb de date mai mari - până la 6 Gb / s (comparativ cu Sata 3 Gb / s). Dar principalul avantaj este existența modelelor SAS-disk cu o viteză de rotație a axului de 15.000 rpm. Această caracteristică de design permite unităților SAS să efectueze de aproape 3 ori mai multe operațiuni I/O pe secundă în comparație cu HDD Sata Server. Astfel de discuri SAS au un volum mic și sunt recomandate a fi utilizate pentru baze de date 1c de bază cu o sarcină de lucru constant mare.
  • Unități SSD. Aceste discuri diferă de cele anterioare nu în interfața de conectare, ci în designul lor - sunt în stare solidă și nu au părți mobile, adică. în esența lor sunt analogi ale „unităților flash”. Astfel de tehnologii permit discurilor SSD să producă un număr „prohibitor” de operațiuni I/O pe secundă (de la 10.000 de operațiuni pe cele mai simple modele SSD). Cu toate acestea, acest avantaj are și un dezavantaj - prețul mai mare al unităților SSD și „pragul de viață”, care depinde de limita numărului de scrieri pe blocurile SSD. Cu toate acestea, în fiecare an aceste discuri devin din ce în ce mai accesibile și mai durabile. Deoarece costul discurilor SSD crește de multe ori în funcție de dimensiune, cel mai rezonabil ar fi să le folosiți pentru baze de date 1c mici, dar supraîncărcate, care necesită viteză mare de acces, precum și pentru bazele de date temporare ale SGBD-ului TempDB.

IOPS este numărul de operații de intrare-ieșire pe secundă. De fapt, IOPS este numărul de blocuri de informații care pot fi citite sau scrise pe un mediu în 1 secundă de timp. Adică, în forma sa pură - acesta este parametrul cheie al vitezei de procesare a informațiilor de către hard disk, care afectează performanța serverului 1C. Dacă luăm pentru comparație un bloc standard de informații 4kb, atunci putem evidenția aproximativ următorii indicatori IOPS (vezi tabelul 4).


HDD IOPS Interfață
Unități SATA de 7.200 rpm ~ 75-100 IOPS SATA 3Gb/s
Unități SATA de 10.000 rpm ~ 125-150 IOPS SATA 3Gb/s
Unități SAS de 10.000 rpm ~ 140 IOPS SAS
Unități SAS de 15.000 rpm ~ 175-210 IOPS SAS
Unități SSD De la 8.000 IOPS SAS sau SATA

Tabelul 4 - Indicatori de IOPS pe diferite tipuri de hard disk atunci când lucrați cu un bloc de date de 4KB.


Desigur, în forma sa pură, IOPS nu este foarte util pentru calcularea calculelor și cerințelor finale pentru subsistemul de disc al serverului 1C. La urma urmei, performanța totală a unui subsistem de disc constă din tipul de matrice RAID, tipurile de discuri și indicatorii vitezei interfeței sale, timpul de răspuns (latență), timpul de acces aleatoriu, procentul din numărul de operațiuni de citire și scriere, și mulți alți factori. Cu toate acestea, acest parametru, în opinia noastră, este un indicator cheie al vitezei subsistemului de discuri și, în etapele de dezvoltare a unei arhitecturi de server, ajută la determinarea tipului de hard disk-uri, în general, cel mai potrivit pentru anumite nevoi. (vezi calculatorul RAID)

Test practic

Care este relația dintre numărul de utilizatori 1C și numărul de iops? Echipa noastră a efectuat un test practic (vezi tabelul 5) pentru a măsura încărcarea subsistemului de disc cu un anumit număr de sesiuni 1C. Deoarece sistemul 1C este un mediu programabil și fiecare companie poate avea propriul set de procese de afaceri în 1C, trebuia să fim conectați la o anumită configurație de referință pentru testare. În această calitate, a fost aleasă o configurație specializată a MCC 1C, dezvoltată pentru testare și depanare. Pe baza acesteia, programatorii noștri 1C au adăugat o serie de solicitări care simulează funcționarea normală a unei întreprinderi obișnuite, cu formarea de anchete contabile, înregistrări, întocmirea de rapoarte și realizarea documentelor operaționale.


Disc de sistem Disc de bază de date
Repetare Utilizatori Scriere IOPS Citire IOPS Scriere IOPS Citire IOPS
Valori medii
1 12 9,1 0,1 13,1 1,5
2 20 7,9 0,1 21,8 0,4
3 32 5,2 0,006 36,1 5,2
4 40 7,7 0,013 27,52 1,3
5 52 7,7 0,006 32,04 0,94

Tabelul 5 - Rezultatele unui test practic asupra încărcării subsistemului disc.


Rezultatele testului arată că partea leului din încărcarea subsistemului de disc are loc atunci când 1C este scris în baza de date a serverului DBMS și pe discul sistemului de operare (pe care se află în mod implicit fișierele serverului cache 1C: Enterprise).

În paralel, am efectuat măsurători practice ale bazelor deja operaționale ale 1C UPP 8.2 în perioada de testare - 5 zile lucrătoare. Ei arată că, în medie, un server 1C + DBMS consumă de două ori mai mulți iops „pentru scriere” decât „pentru citire”. Această diferență între testele sintetice și statisticile pentru monitorizarea unui server 1C real se datorează atât eșantionării periodice a datelor de informații din baza de date în timpul zilei de lucru, cât și citirii regulate a bazei de date la copierea sau replicarea SGBD.

Alte părți ale hard disk-ului pe care trebuie să le urmăriți.

  • Dimensiunea fizică (factor de formă). Astăzi, aproape toate unitățile cunoscute pentru computere personale și servere au o dimensiune de 3,5 sau 2,5 inchi. Rețineți că discurile de 2,5 inchi nu sunt produse în volume mari.
  • Timp de acces aleatoriu- timpul în care hard diskul este garantat să efectueze o operație de citire-scriere pe o anumită zonă a discului magnetic. De regulă, unitățile server au rezultate mai bune. Acesta este un parametru destul de important atunci când se construiește o matrice de discuri pentru un server DBMS 1C.
  • Viteza axului- numărul de rotații ale axului hard diskului pe minut. Totul aici este simplu și clar - timpul de acces și rata medie de transfer de date a hard disk-ului depind de viteza de rotație a axului cu platouri magnetice.
  • Dimensiunea memoriei tampon pentru hard disk- un buffer este o memorie temporară concepută pentru a netezi diferențele de viteză de citire/scriere a hard disk-ului și transferul de date prin interfață.
  • Fiabilitate- este definit ca timp mediu între defecțiuni (MTBF). De obicei, fiabilitatea depinde direct de producător, preț și mediul de utilizare al hard disk-ului. Considerăm că fiabilitatea este un parametru important al unui hard disk care afectează calitatea funcționării serverului 1C.

Alegerea potrivită: hardware de acasă sau server

Scăderea componentelor hardware și creșterea activă a capacităților potențiale ale „calculatoarelor de acasă” conduc la încă o amăgire pernicioasă - întreprinderile mici folosesc în mod activ stațiile de lucru ca platformă de colaborare cu bazele de date 1C. În același timp, fără a realiza că, pe lângă parametrii frecvenței de bază, dimensiunea memoriei și posibilitatea de a utiliza unități SSD de buget într-un computer obișnuit, există cerințe mai sistemice, mai profunde și mai importante pentru funcționarea hardware-ului în o structură comercială (vezi Tabelul 6).

Pentru a rezolva problema organizării unui server 1C, oferim închiriere de servere cloud 1C în centrele de date Tier III. Fezabilitatea economică a alegerii unui închiriere de server poate fi găsită în articol.


Parametrii Server Calculator personal
Suficiența puterii de calcul V V
Disponibilitate garantată a sistemului 24/7 V X
Fiabilitatea și stabilitatea componentelor hardware cheie V X
Capacitate Remote Power & Console Management (IPMI). V X
Costul bugetar al platformei hardware X V

Tabelul 6 - Comparația hardware-ului de acasă și a serverului în funcție de criteriile necesare pentru funcționarea de înaltă calitate a serverului 1C.

Funcționare de siguranță a 1C

Fără îndoială, una dintre cerințele importante pentru partea de server a 1C este stabilitatea funcționării sale și rezistența la defecțiuni. Microsoft și 1C însuși au depus multe eforturi în această direcție, creând tehnologii pentru gruparea serviciilor lor la un nivel destul de serios (a se vedea tabelul 7).


Toleranța la erori a serverelor SQL Bazat pe conceptul unui singur depozit de date partajat. Tehnologia de clustering SQL Server încorporată combină două servere SQL într-un singur cluster cu o singură adresă IP virtuală și o singură bază. Astfel, dacă SQL-ul principal eșuează, interogările sunt transferate automat în backup.
A doua opțiune este AlwaysOn, recent introdusă, o tehnologie pentru replicarea automată a bazelor de date între serverele SQL primare și cele de așteptare. În același timp, serverul SQL duplicat este localizat fizic pe un alt spațiu de stocare, ceea ce crește rezistența la riscuri
Toleranța la erori a serviciului 1C: Enterprise server Serverele 1C Enterprise sunt combinate într-un cluster de failover activ-activ cu failover automat și salvarea sesiunilor curente.

Tabelul 7 - Toleranța la erori a serverelor SQL și 1C.


Cu toate acestea, fiecare tehnologie are atât avantaje, cât și dezavantaje. În plus față de avantajele cheie, trebuie să cunoașteți câteva dintre caracteristicile grupării 1C și SQL () pentru a nu duce la o deteriorare a performanței serviciului:

  • Clusteringul SQL utilizează IP virtual. Aceasta înseamnă că interacțiunea dintre serverul 1C: Enterprise și MS SQL va avea loc întotdeauna prin interfața de rețea, chiar dacă ambele servicii sunt în același sistem de operare. Ceea ce, în consecință, va duce la o încetinire a activității lui 1C în comparație cu versiunea clasică a arhitecturii recomandate de 1C în sine - folosind memoria partajată. În principiu, această piedică poate fi „ocolită” folosind, de exemplu, tehnologia MS SQL Log Shipping. Cu toate acestea, în acest caz, trecerea la serverul SQL de așteptare nu va mai fi automată și această opțiune nu poate fi considerată un cluster cu drepturi depline.
  • SQL Cluster este o investiție cu buget mare. Dacă vorbim de clustering clasic al serviciului MS SQL, este necesară o stocare unificată a bazei de date conectată la serverele SQL principale și de rezervă. De obicei, acest rol este jucat de sistemele de stocare scumpe, ceea ce mărește bugetul cu un ordin de mărime. Dacă vorbim despre noul AlwaysOn, atunci nu este necesară o stocare unificată a bazei de date, tehnologia funcționează cu discuri locale ale serverelor primare și de rezervă din rețea. În schimb, necesită o versiune Enterprise a SQL Server, care costă de 4 ori mai mult decât o licență obișnuită SQL Server Standard.
  • Numărul de licențe.În ciuda faptului că cel de-al doilea server SQL nu procesează date și este în rezervă, vor trebui achiziționate licențe pentru ambele servere - atât cel principal, cât și cel de rezervă. Licențele SQL Server Enterprise pentru implementarea unui cluster distribuit de AlwaysOn High Availability Groups sunt deosebit de dificile de buget.
  • Nu trebuie să utilizați hardware personalizat ieftin pentru un serviciu la fel de important ca un sistem de contabilitate la nivel de întreprindere. În acest caz, prețul determină direct calitatea, stabilitatea și durabilitatea unei astfel de platforme.
  • Atunci când alegeți o platformă de server, vă recomandăm să acordați atenție prezenței a două surse de alimentare, a unei plăci IPMI la distanță și a mărcii producătorului. Desigur, fiecare alege o soluție în funcție de buget, brandurile de top sunt uneori prea scumpe și nu în totalitate potrivite, dar nu ar trebui să economisiți cu adevărat pe producător, asta poate duce la forță majoră incontrolabilă în lucrul cu 1C. Noi folosim personal platformele de server Supermicro împreună cu procesoarele de server Intel.
  • Există o opinie, confirmată de practică, că performanța 1C depinde mai mult de o frecvență mai mare a procesorului decât de numărul de nuclee furnizate.
  • Nu este nevoie să economisiți cantitatea de RAM alocată pentru serverul 1C și serviciul SQL. În acest moment, RAM este o resursă destul de ieftină, iar deficitul său (chiar și cu 10-15 la sută) va duce la o scădere puternică a performanței sistemului 1C, deoarece sistemul de schimb mai lent se va porni. În plus, schimbul va pune încărcare suplimentară pe subsistemul de disc, ceea ce va înrăutăți și mai mult situația.
  • EFSOL oferă servicii complete pentru selectarea unui server 1C, care include: proiectare, achiziție, configurare și întreținere server 1C.
  • O alternativă la crearea proprie a unei opțiuni de server 1C este să închiriați un server pentru 1C. Tehnologiile cloud permit, la costuri lunare reduse, să obțineți un serviciu fiabil, tolerant la erori, pentru o muncă confortabilă în 1C.

Integrarea sistemului. Consultanta

După împărțirea serverului 1C: Enterprise și a serverului SQL în diferite mașini, la încărcarea fișierului dt în baza de date situată pe serverul SQL, au început să primească eroarea „Not enough free memory on the 1C: Enterprise server”.
sau (Eroare DBMS: Microsoft OLE DB Provider pentru SQL Server: nu există suficientă memorie în pool-ul de resurse „implicit” pentru a rula această interogare. HRESULT = 80040E14)

Soluţie:
1. Dacă apare o eroare, reporniți serviciul server 1C.
2. Utilizați multe procese (În proprietățile clusterului, bifați caseta „Multe procese”). Adăugați fluxuri de lucru, valoarea optimă este de 4-5 procese.
3. Utilizați repornirea programată a proceselor de lucru. Dar asta nu va rezolva problema. Pur și simplu va reduce pierderile de memorie.
4. Pentru operațiuni de bază de date, cum ar fi copierea unei baze de date, utilizați instrumentele ms sql, nu lucrați cu fișierele dt.
5. Activați înregistrarea evenimentelor DBMSSQL în
(Consultați textul fișierului „logcfg.xml” de mai jos sau utilizați procesarea cu ITS ConfigureTechnologicalJournal.epf) și determinați ce tabel este încărcat cu o eroare. Dacă config, atunci încărcați în varianta de fișier și ștergeți configurația furnizorului:
5.1 Pentru a face acest lucru, verificați configurația pentru informații incorecte. Pentru a face acest lucru, executați comanda de meniu Configurație - „Verificați configurația” (NU TESTARE!) Cu UNA casetă de selectare selectată „Verificați integritatea logică a configurației”. Dacă sunt identificate probleme, va fi afișat un mesaj. Informațiile incorecte vor fi șterse automat.
5.2 Dacă configurația dvs. este suportată, ar trebui să verificați în mod similar configurația furnizorului. Pentru a face acest lucru, în configurarea suportului, salvați configurația furnizorului într-un fișier cf, încărcați-o într-o nouă bază de date și urmați procedura descrisă la punctul 1. Dacă a fost primit un mesaj de remediere („S-au eliminat informații incorecte despre metadate”), atunci configurația furnizorului conține informații incorecte. În acest caz, ar trebui să eliminați configurația din suport și să o reinstalați prin fuzionarea cu o nouă ediție a configurației furnizorului.

Adăugarea unui flux de lucru
Adăugarea unui flux de lucru, spre deosebire de navigare, este posibilă numai pentru un anumit server din cluster.
Pentru a adăuga un nou flux de lucru pentru serverul de cluster, selectați serverul necesar în arborele central al serverului, selectați clusterul necesar, selectați serverul de cluster necesar, selectați ramura Procese și executați comanda din meniul contextual Nou - Proces, bifați caseta Activare proces.

Dacă procesul NU este adăugat, atunci verificați și faceți următoarele:
1. În proprietățile Clusterului trebuie să existe o bifă „Multe procese”
2. În proprietățile serverului de lucru, măriți Intervalul de adrese IP

În ceea ce privește repornirea proceselor de lucru - din ce moment începe numărătoarea inversă specificată în setările clusterului?
De la începutul procesului. De exemplu, a început la 18:00:00. Perioada de repornire este de 86400 de secunde, adică 24 de ore. În consecință, într-o zi la ora 18:00:00 procesul se va opri și va fi creat un nou proces.

Optimizarea fluxurilor de lucru de repornire:
1. Interval de repornire: 86400 sec (24 ore). Momentul repornirii nu este reglementat, aparent din momentul setarii parametrilor, sau al pornirii serverului de aplicatii.
2. De asemenea, puteți specifica dimensiunea de memorie permisă: 3.000.000 KB (3 GB).
3. Intervalul de epuizare a memoriei este un interval continuu de timp fără memorie, după care serverul va reporni procesul. Dacă este specificat 0 sec, va aștepta pentru totdeauna.

Versiunile 8.2 și 8.3 ale platformei 1C: Enterprise sunt considerate o aplicație standard pentru sarcini de contabilitate și management al companiei. O gamă largă de soluții aplicate a fost dezvoltată pentru întreprinderile publice și private. Prezentându-și propria infrastructură informațională, fiecare șef sau IT-manager al companiei are o întrebare, ce fel de server este necesar pentru „1C”. Problema este complicată de faptul că achiziția de echipamente necesită costuri financiare semnificative și nu orice întreprindere își poate permite să aleagă configurații de top.

Am colectat recomandări de la producători de hardware de top (HP, Dell, IBM) și dezvoltatori ai produsului software 1C 8.3, astfel încât clienții noștri să poată achiziționa în mod profitabil serverul necesar. Infrastructura optimă de rețea poate fi obținută cu orice sistem de operare, dar capacitățile hardware-ului joacă un rol mai important în acest sens.

Criterii de selectare a serverului

Platforma 1C poate necesita resurse hardware semnificative de la server. Dacă bugetul companiei este nelimitat, ceea ce se întâmplă rar, poți lua fără ezitare platforme de ultimă generație, poți umple toate coșurile de discuri, sloturile RAM și poți cere de la specialistul IT funcționarea neîntreruptă a sistemului. Alegerea echipamentelor cu fonduri limitate necesită o abordare mai echilibrată. Pentru a înțelege care server pentru „1C” va putea face față acestui lucru, este necesar să se analizeze cu atenție structura sarcinilor de calcul. Dacă sunt cunoscuți dinainte, va fi mult mai ușor să proiectați o soluție la cheie.

Atunci când alegeți un server pentru 1C (8.2; ​​​​​8.3), aceștia sunt ghidați de următoarele puncte:

  • numărul de operatori care realizează simultan introducerea și raportarea datelor;
  • capacitatea de a selecta servere fizice separate pentru SQL și aplicația 1C;
  • volumele planificate de prelucrare a datelor;
  • Structura de echilibrare a încărcăturii în arhitectura client-server

Alegerea procesorului și a memoriei RAM

Calcularea frecvenței, a numărului necesar de nuclee de procesor și a cantității de memorie RAM este primul și cel mai important pas. Pentru a lua în considerare mai multe opțiuni, vom alege un server pentru „1C” ținând cont de personalul companiei.

Organizație mică (până la 15 angajați). Cu un număr mic de utilizatori, dimensiunea bazei de date, de regulă, nu depășește 2 GB, iar programul 1C este instalat sub forma unei versiuni de fișier pe mașinile client. În același timp, sistemul de operare are nevoie de 4–6 GB și alți 4 GB sunt alocați pentru memoria cache a fișierelor de sistem. Distribuția sarcinii procesorului este următoarea:

  • 2 nuclee - pentru utilizatorii OS și terminale;
  • 1 nucleu - pentru serverul de aplicații 1C;
  • 1 nucleu - pentru SQL DB.

Mașinile entry-level cu un singur procesor quad-core pot face față acestei sarcini. Acestea pot fi atât servere rack, cât și servere turn. Ultima opțiune este de preferat, deoarece nu necesită o cameră separată pentru camera serverului.

Organizație medie (până la 40 de angajați). Cu un asemenea număr de utilizatori, dezvoltatorii 1C recomandă utilizarea modului terminal de acces la aplicație. Bazele de date pot avea o dimensiune de până la 4 GB. Pentru o astfel de încărcare, aveți nevoie de cel puțin două procesoare pentru 4-6 nuclee. Cantitatea optimă de RAM va fi de 16-64 GB, deoarece trebuie alocați cel puțin 700 MB pentru fiecare utilizator. Se crede că soluția de aplicație 1C, în care funcționează mașina client, necesită 240 până la 480 MB, iar alți 200–220 MB sunt alocați pentru aplicațiile de birou.

Cu atât de multe procese, se recomandă utilizarea unei mașini de nivel mediu cu virtualizare sau două servere fizice. Unul dintre ele va fi folosit pentru accesul la terminal, iar celălalt pentru SQL. Cel mai bine este să implementați serverul de aplicații 1C pe prima mașină sau chiar să alocați un sistem separat cu un singur procesor pentru aceasta. Configurația necesară este selectată în fiecare caz specific pe baza analizei timpului procesorului.

Organizație mare (peste 40 de angajați). Configurația hardware de bază în acest caz va consta din trei servere fizice:

  • Terminal,
  • DBMS,
  • „1C”.

Cu un astfel de număr de angajați, volumele bazei de date depășesc adesea 4 GB și este recomandat să alocați cel puțin aceeași cantitate de RAM pentru memoria cache a sistemului. Alți 4 GB vor fi folosiți de sistemul de operare, iar pentru aplicațiile 1C vor fi necesari aproximativ 8 GB. Astfel, aveți nevoie de cel puțin 16 GB de RAM.

Pentru astfel de sarcini, sunt selectate servere cu două procesoare cu suport pentru Intel Xeon E5-2600 sau mai mare. Dacă numărul de angajați nu depășește 50 de persoane, se poate lăsa doar o singură mașină pentru acces la terminal și aplicații 1C. Cu toate acestea, având în vedere perspectivele de creștere ale companiei, este mai bine să oferiți un server separat pentru fiecare sarcină. Dacă numărul personalului implicat se apropie de 100 de angajați, trebuie să implementați un grup de două mașini pentru 1C și să lăsați una pentru restul sarcinilor.

Alegerea unui subsistem de disc

Performanța serverului depinde direct de subsistemul de disc. Când rulează aplicațiile 1C, operațiunile de citire și scriere a datelor sunt efectuate cu intensitate ridicată. Majoritatea plângerilor cu privire la performanța serverului sunt legate de blocarea mesei atunci când un număr mare de utilizatori accesează simultan.

Sarcina de a alege un server pentru 1C include monitorizarea subsistemului de disc, care vă permite să găsiți echilibrul optim de performanță și fiabilitate. Un factor extrem de important care afectează performanța este capacitatea sa de a efectua un anumit număr de operațiuni de citire/scriere pe secundă (IOPS). Dacă baza de date este de până la 300 MB și numărul de utilizatori 1C este de până la 6 persoane, acest parametru este 400–600. Dacă numărul de utilizatori de server ajunge la 100, atunci IOPS va fi de 18 000. Rata de streaming este de importanță secundară.

Vitezele de citire/scriere sunt setate pentru fiecare tip de hard disk:

  • SATA - 100/80;
  • SAS - 240/220;
  • SSD - 35.000/8.600.

Acest lucru arată că unitățile SSD sunt cele mai potrivite pentru serverele de baze de date 1C. Principalul factor care limitează utilizarea lor este costul lor ridicat. Prin urmare, unitățile SAS sunt folosite și pentru a reduce bugetul. Pentru a stoca date critice, inclusiv 1C, hard disk-urile sunt combinate în matrice RAID de diferite niveluri, iar redundanța inerentă acestora ar trebui inclusă în calculul performanței serverului.

La proiectarea unei soluții, toleranța la erori a sistemului joacă un rol important. Pentru aceasta se folosesc atât hardware cât și software. Serverele sunt echipate cu surse de alimentare interschimbabile la cald și cuști de discuri și folosesc un UPS pentru alimentare neîntreruptă. Asigurarea siguranței datelor se realizează prin salvarea acestora. Cel puțin o dată pe zi este creat un fișier jurnal, care oferă recuperarea informațiilor în cazul defecțiunilor sistemului.

Puteți găsi serverul necesar și îl puteți configura pentru 1C pe site. Experții noștri vă vor ajuta în rezolvarea acestei probleme. Pentru sfaturi, contactați-i telefonic sau contactați managerul din chat.

Top articole similare