Internet Windows Android

Server pentru contabilitate 1s. Soluții

Server pentru 1C

Întreprinderile mari folosesc de mult 1C în modul client-server. Și astăzi această tehnologie avansează în mod activ în întreprinderile mijlocii și mici. Acest articol este despre ceea ce ar trebui să fie un server pentru 1C cu un număr mic de utilizatori.

Pornind de la câți utilizatori aveți nevoie de un server pentru 1C?

PostgreSQL gratuit pentru 1C a aparut cu mult timp in urma. Și relativ recent, o poziție atât de minunată a apărut în lista de prețuri 1C:

Vă recomandăm cu încredere să utilizați 1C în modul client-server începând de la 3-5 utilizatori. Opțiunea de fișier rămâne pentru bazele de date foarte mici, iar dacă nu este nevoie să lucrați în baza de date de acasă, călătorii de afaceri, alte birouri, dacă rămâneți fără 1C în cazul unei eșecuri pentru câteva zile, nu este deloc înfricoșător. De asemenea, considerăm că lucrul în RDP este o tehnologie învechită, care este potrivită doar atunci când, dintr-un motiv oarecare, se folosește o platformă veche (8.0 sau 8.1) sau o platformă veche și este tentant să scrieți „Rusă veche” (7.7). Prin urmare, tot ce este scris mai jos se referă la opțiunea „un DBMS și un server de aplicații 1C: Enterprise sunt instalate pe serverul 1C, munca se desfășoară într-un client subțire 8.2”.

Cumpărați un server de marcă sau asamblați-l singur sau comandați un ansamblu de la furnizori?

Dacă aveți până la 10 utilizatori, puteți utiliza un computer obișnuit „de acasă” ca server cu unele modificări. Este foarte posibil să îl cumpărați „pentru piese de schimb” și să îl asamblați singur. Dacă știți bine ce este pasta termică, cum să rupeți conectorul de alimentare ATX fără a rupe placa în jumătate, unde se află conectorul cooler pe ea, cum viteza lui 1C depinde de frecvența memoriei (aproape liniar cu resurse suficiente) și de ce nu ar trebui să lipiți hard disk-urile aproape unul de celălalt.

  • peste 15 utilizatori
  • nu există un supersysadmin care să știe totul „despre computere” în general
  • afacerea aduce suficienți bani pentru a-i scuti dacă 1C nu mai funcționează

Mica precizare. Prin „marcă” înțelegem IBM, HP și mărci similare. Nu sunt marci orice „integratori” locali care asambleaza computere bazate pe platforma de server Intel „la comanda” cu ajutorul elevilor de ieri, cu o configuratie inregistrata dupa spusele clientului. Chiar dacă acest server este asamblat într-un șasiu montat pe rack. Chiar dacă o etichetă frumoasă a fost lipită pe panoul frontal. Aceasta este auto-asamblare și avem multe exemple în care, să spunem, asamblatorii greșesc atunci când selectează componente. De exemplu, am văzut cum într-un server serios pentru mai mult de 300.000 de ruble, un controler hardware RAID a intrat în conflict cu placa de bază și a dat 15% din lățimea de bandă declarată. Am văzut, de asemenea, configurații masiv deformate, cum ar fi o mașină cu patru Xeon și o singură matrice de discuri cu două discuri. Contact pentru achiziționarea unui server sub 1C celor care înțeleg cum ar trebui să fie.

Ceea ce este important, astăzi merită un server de marcă, garantat a fi operațional, dovedit și de încrederemai ieftinautoasamblare cu caracteristici comparabile. Prin urmare, cel mai probabil nu este posibil să economisiți bani cumpărând un server de nivel mediu auto-asamblat. Astăzi, auto-asamblarea are dreptul de a exista doar în segmentul de servere bazate pe componente convenționale („desktop”), adică chiar nivelul de intrare, care practic nu sunt produse de mărci.

sistem de operare


Fără a aranja războaie sfinte, vă recomandăm să utilizați Windows Server 2012. Aceasta este o platformă de încredere și dovedită pentru serverul 1C. Alte soluții au dreptul la viață, dar, să zicem, dacă te hotărăști să instalezi Ubuntu Server, abia ai nevoie de recomandări. Și da, probabil că nu vor ajuta. Linux pentru 1C este unic de fiecare dată și este imposibil să dai recomandări generale.

Pentru serverele entry-level, este foarte posibil să utilizați Windows desktop, de exemplu, Windows 7/8. Dacă nu aveți nevoie de Active Directory, RDS și nu veți folosi MS SQL Server ca SGBD. Trebuie doar să rețineți că, implicit, în Windows 7 Professional, numărul de conexiuni TCP simultane nu poate depăși 20. În Windows 8, această restricție a fost eliminată.

Memorie

Ar trebui să existe suficientă memorie. Dacă puneți mai multă memorie decât aveți nevoie, nu va exista o creștere a performanței. Dacă puneți mai puțin decât aveți nevoie, experiența utilizatorului se va transforma în tortură. Calculul este următorul: minim 2GB pentru nevoile sistemului de operare, de la 2GB pentru DBMS, de la 4GB pentru serverul 1C: Enterprise. Total minim 8 GB. Acest volum este suficient pentru ca 5-10 utilizatori să lucreze cu o singură bază de date. Captura de ecran arată o imagine tipică a distribuției memoriei în timpul lucrului fără grabă a mai multor utilizatori cu o singură bază de date mică:

Acordați atenție modului în care serverul de aplicații 1C (rphost.exe) iubește memoria. Imediat după deschiderea bazei de date, are nevoie de aproximativ un gigaoctet. Cu multă muncă, de exemplu, repostând documente timp de o lună, este destul de capabil să stăpânească 6 GB cu o singură conexiune activă. De asemenea, trebuie să rețineți că bara albastră ("Waiting") nu este memoria liberă, ci memoria cache a sistemului. Iată același sistem în care au început să lucreze mai mult sau mai puțin intens:

Fluxul de lucru 1C are o caracteristică. De regulă, crește într-o singură direcție. Cantitatea de memorie capturată de rphost.exe crește treptat și crește pe parcursul zilei de lucru. Vă recomandăm să reporniți agentul serverului 1C în fiecare noapte, chiar înainte de a încărca copii de rezervă.

16 GB este suficient pentru 20-30 de utilizatori cu două sau trei baze de date. Asigurați-vă că configurați volumul maxim alocat pentru serverul 1C:Enterprise (acest lucru se face în consola de administrare) și pentru DBMS! Dacă acest lucru nu se face, atunci, de exemplu, memoria Postgree „out of the box” va folosi doar 200-300MB. Este „sugrumat” în mod implicit. Dar serverul de aplicații 1C, dimpotrivă, poate „mânca” totul, oricât de mult.

Subsistemul disc

În primul rând, chiar și pe un server entry-level, este necesar să se separe discul cu sistemul și discul cu bazele de date. În plus, dacă finanțele permit, adăugăm un al treilea disc pentru a stoca o cantitate mare de date (backup-uri etc.). Pentru Postgree, asigurați-vă că ați creat un disc RAM pentru plasarea temporară a statisticilor.

Este foarte posibil să folosiți un disc pentru sistem care nu este cel mai rapid și nici cel mai voluminos. 500 GB este mai mult decât suficient.

Unitatea pentru baze este cu siguranță un SSD. Pentru bazele de date 1C, discurile obișnuite și matricele lor nu au cel mai mic avantaj. Cu o dimensiune tipică a bazei de date a unei întreprinderi medii de 2-3 GB, un volum de 120 GB, după cum știți, este suficient. Iar viteza, celelalte lucruri fiind egale, diferă de 10 sau de mai multe ori. Limitările privind numărul de cicluri de rescriere sunt deja în trecut, astăzi SSD-ul este mai fiabil decât orice disc „mecanic”. Asigurați-vă că luați un SSD cu tehnologie TRIM (suprascrierea memoriei cache atunci când alimentarea este oprită) și trebuie să vă uitați cu atenție la viteza de scriere declarată, acum există multe opțiuni diferite pe piață.

Dacă timpul de întrerupere a bazelor de date și, în plus, restaurarea copiei de ieri dintr-o arhivă este inacceptabilă, trebuie să instalați un controler RAID și două discuri în modul „oglindă”. Descurajăm cu tărie utilizarea controlerelor RAID software. Doar hardware.

Arhivarea poate fi configurată folosind instrumente DBMS sau puteți scrie un fișier batch care va fi lansat de planificatorul Windows și descărca bazele de date din modul batch 1C:Enterprise. Nu este foarte important. Este important ca în fiecare seară sistemul să facă automat o arhivă și să o scrie pe un disc de server separat. Un sistem de rezervă care vă cere să îl porniți manual nu este un sistem de rezervă, ci o prostie. După crearea încărcărilor de baze de date, vă recomandăm cu căldură să le încărcați în stocarea în cloud. Poate fi Google Drive, Yandex Disk, Dropbox sau propria ta resursă ftp. Principalul lucru este că aceste încărcări nu sunt stocate în aceeași cameră în care se află serverul. De ce? Pentru că o afacere normală ar trebui să îndure cu calm orice. Incendiu, efractie, vizita de organe cu sechestru. Doamne ferește, desigur, dar orice se poate întâmpla.

Dacă tot ce puteți este deja configurat și mâinile vă mâncărim să faceți altceva, puteți redirecționa înregistrarea Postgree (dacă aveți una) pe un disc separat. Acest lucru va da o creștere mică, dar destul de vizibilă a vitezei în timpul operațiunilor active cu baza de date.

Sursa de alimentare si UPS

Nu vă zgâriți cu sursa de alimentare. Nu. La orice altceva, puteți economisi în limite rezonabile, iar sursa de alimentare pentru server ar trebui să fie perfectă. Serverul diferă de un computer obișnuit în primul rând prin faptul că este mereu pornit. Dubla puterea și o marcă de nume (Thermaltake, Powerman, Enermax) este recomandarea noastră. O sursă de alimentare neîntreruptibilă (UPS) este necesară pentru două scopuri. În primul rând, în cazul unor supratensiuni grave, ar trebui să permită sursei de alimentare a serverului să supraviețuiască, luând o lovitură asupra ei înșiși (sau mai bine, pe siguranța sa). În al doilea rând, trebuie să închidă corect serverul în cazul unei căderi de curent în rețea. UPS-ul nu ar trebui și nu poate fi lăsat să funcționeze fără tensiune externă, acestea sunt iluzii. Chiar și 15 minute. Sarcina sa este de a oferi sistemului de operare server o comandă de închidere. Prin urmare, un UPS neconectat și neconfigurat este o piesă de mobilier, nimic mai mult.

CPU

Când lucrați cu 5 utilizatori, orice procesor „desktop” de o clasă suficient de înaltă, de exemplu, un Core i7 quad-core, va fi încărcat cu 5-7% în medie. Procesorul nu este de obicei blocajul. Ar trebui să se potrivească cu restul parametrilor, nimic mai mult. Prin urmare, este mai bine să alegeți ultimul procesor, dintre cele potrivite pentru sistemul selectat. Caracteristicile digitale (numărul de nuclee, dimensiunea memoriei cache, frecvența) nu sunt decisive. De exemplu, Core i5-urile proaspete depășesc generația anterioară Core i7-urile.

În orice caz, nu ar trebui să cumpărați cel mai puternic și mai scump procesor pentru serverul 1C care este disponibil pentru platforma selectată (placa de bază). Mai degrabă, cea mai bună opțiune ar fi de la mijlocul listei, sortată după preț.

Software

Nu este necesar să instalați software antivirus pe server. E prea mult. Securitatea și absența virușilor sunt asigurate de trei reguli:

  • Serverul nu ar trebui să aibă niciun program care nu este necesar pentru funcționarea sa.
  • Serverul nu trebuie utilizat ca unul dintre computerele client
  • În afară, de pe Internet și rețeaua locală, nu ar trebui să fie disponibile resurse de server, cu excepția cazului absolut necesar

Nu vă recomandăm să combinați un server 1C și un server de fișiere, e-mail, proxy și web. Aceste sarcini sunt perfect rezolvate de dispozitive și servicii specializate. De exemplu, routerul Zyxel Keenetic 4G și altele asemenea sunt perfect capabile să distribuie Internetul în rețea, să funcționeze ca un ftp și server de fișiere. Serverul web al unei companii mici și mijlocii este absolut mai bine să fie transferat pe un VDS într-un centru de date. E-mail acolo sau chiar pe e-mail Google sau Yandex pentru domeniul tău.

Câteva cuvinte despre serverele virtuale

Desigur, pentru soluțiile de server hi-end, aceasta este o tehnologie foarte populară. Cu toate acestea, pentru întreprinderile mijlocii (20-50 de utilizatori), beneficiile virtualizării sunt departe de a fi evidente, iar pentru companiile mici nu dau decât bătăi de cap. În primul rând, virtualizarea serverului nu este gratuită și consumă resurse ale mașinii. În al doilea rând, toate avantajele „ajustării performanței din mers” și ale „mobilității” se descompun într-o grămadă de probleme cu pierderea licențelor software 1C în cazul oricăror modificări. În al treilea rând, în general, nu există nimic de partajat (există puține resurse), iar o astfel de întreprindere pur și simplu nu are nevoie de mai multe servere. Astăzi, foarte puține întreprinderi riscă să închirieze un server virtual într-un centru de date sub 1C și chiar și în acest caz este mai bine să nu închirieze un server, ci să se conecteze la serviciul 1C Online.

Cât costă un server pentru 1C?

La momentul scrierii acestui articol, costul aproximativ al serverului:

    • de la 30.000 de ruble pentru 5-10 utilizatori
    • de la 60.000 de ruble pentru 15-20 de utilizatori
    • de la 90.000 de ruble pentru 30-50 de utilizatori

Cu un număr mai mare de utilizatori, devine deja necesară distribuirea serverului DBMS și a serverului de aplicații pe diferite mașini fizice.

La cererea dvs., noi, împreună cu partenerii noștri, putem selecta și furniza atât un server IBM de marcă, cât și un server prefabricat entry-level.

1C:Enterprise 8 poate fi o aplicație consumatoare de resurse chiar și cu un număr mic de utilizatori. Alegând un server pentru 1C, orice proprietar ar dori să evite „rănirile la naștere” - potențiale blocaje încorporate în acesta. Pe de altă parte, astăzi puțini cumpără servere cu capacitate în exces, „pentru creștere”. Este bine dacă profilul de încărcare poate fi eliminat în prealabil - atunci este mai ușor să proiectați un server pentru o anumită configurație a aplicațiilor companiei.

Pentru certitudine, să luăm în considerare platforma „1C:Enterprise 8.2” în configurațiile sale de bază populare „Contabilitate”, „Comerț și depozit”, „Gestionarea salariilor și a resurselor umane”, „Managementul unei întreprinderi comerciale” și, parțial, „Managementul întreprinderii de producție”. Pornim de la faptul că pentru întreprinderile cu 10 sau mai mulți angajați care lucrează în 1C, „1C: Enterprise 8.2. Server de aplicații”. Să luăm în considerare opțiunea de a lucra în modul Desktop la distanță, cu numărul de utilizatori simultani ai bazei de date de până la 100-150. Recomandările se vor aplica și pentru DB 1C mai „grele”, dar „cazurile severe” necesită întotdeauna o abordare individuală.

Procesoare și RAM

Dacă compania este foarte mică (2-7 utilizatori în sistem), baza de date este mică (până la 1GB), iar 1C:Enterprise 8.2 funcționează în modul fișier pe computerul utilizatorului, atunci obținem o implementare clasică de server de fișiere. Chiar și Intel Core i3, în special Intel Xeon E3-12xx, poate face față unei astfel de sarcini în ceea ce privește încărcarea procesorului. Cantitatea de RAM necesară este destul de simplă: 2 GB pentru sistemul de operare și 2 GB pentru memoria cache a fișierelor de sistem.

Dacă compania are 5-25 utilizatori 1C, dimensiunea bazei de date este de până la 4GB, atunci aplicația 1C:Enterprise 8.2 ar trebui să aibă suficient Intel Xeon E3-12xx cu 4 nuclee sau AMD Opteron 4xxx. Pe lângă 2 GB de RAM pentru sistemul de operare, este necesar să se aloce 1-4 GB pentru 1C:Enterprise 8.2. Application Server” și aceeași cantitate pentru MS SQL Server ca cache - un total de 8-12 GB RAM. Pentru bazele de date mici, este de dorit să păstrați în cache cel puțin 30% din baza de date în RAM și, de preferință, toate 100%.

Fapt cunoscut (deși nu este deosebit de promovat): „1C: Enterprise 8.2. Application Server nu-i place foarte mult când sistemul de operare îl descarcă într-un fișier swap de pe hard disk și tinde să piardă uneori răspunsul. Prin urmare, pe serverul pe care rulează „Serverul de aplicații”, ar trebui să existe întotdeauna o rezervă de spațiu liber în RAM - mai ales că astăzi este ieftin.

În companiile mai mari, utilizatorii 1C lucrează de obicei prin acces de la distanță la aplicație (Remote Desktop) - adică în modul terminal. De regulă, cu 10-100 de utilizatori 1C cu o bază de date de 1 GB sau mai mult, „1C:Enterprise 8.2. Application Server” și aplicația utilizator „1C:Enterprise 8.2” rulează pe același server.

Pentru a determina resursele necesare procesorului, se presupune că un nucleu fizic poate procesa eficient nu mai mult de 8 fire de execuție - acest lucru se datorează arhitecturii interne a procesoarelor. După cum arată practica, pentru sarcinile 1C + Remote Desktop, nu ar trebui să luați procesoare server de linii inferioare cu frecvențe joase de nuclee de calcul și o arhitectură trunchiată. Dacă sunt puțini utilizatori (până la 15-20), un procesor Intel Xeon E3-12xx de înaltă frecvență va fi suficient. În același timp, cel puțin unul dintre nucleul său fizic (2 fire) va merge la nevoile SQL Server, încă unul (2 fire) - la 1C:Enterprise 8.2. Application Server", și restul de 2 nuclee fizice (4 fire) - pentru utilizatorii OS și terminale. Cu mai mult de 20 de utilizatori 1C sau mai mult de 4 GB de volume de baze de date, este timpul să treceți la sisteme cu 2 procesoare pe Intel Xeon E5-26xx sau AMD Opteron 62xx.

Calculul cantității necesare de RAM este relativ simplu: 2 GB trebuie să fie dați sistemului de operare, 2 GB sau mai mult - MS SQL Server ca cache (cel puțin 30% din baza de date), 1-4 GB - sub „1C: Enterprise 8.2. Application Server”, restul memoriei serverului ar trebui să fie suficient pentru sesiunile terminale. Un utilizator de terminal, în funcție de configurație, consumă 100-120MB în aplicațiile Contabilitate, Comerț și Depozit, 120-160MB în Managementul salariilor și personalului, Managementul întreprinderilor comerciale și 180-240MB în Managementul întreprinderii de producție. Dacă utilizatorul lansează suplimentar MS Word, MS Excel, MS Outlook pe server, atunci ar trebui să fie alocați încă 100 MB pentru fiecare aplicație. De regulă, minimul pentru un server terminal este de 12 GB RAM.

De exemplu, pentru un server 1C cu întregul pachet software, 50 de utilizatori de terminale în configurația Trading Enterprise Management și o bază de date de 8 GB, puterea de calcul a două procesoare Intel Xeon E5-2650 (8 nuclee, 16 fire de execuție, 2,0 GHz) va fi optimă. RAM va avea nevoie de cel puțin 2 (OS) + 4 (SQL) + 4 (1C-server) + 8 (160 „UTP” * 50 de utilizatori) = 18 GB și, de preferință, 24-32 GB (6-8 canale DIMM de 4 GB fiecare).

Subsistemul disc

Cele mai multe reclamații cu privire la funcționarea lentă a serverelor 1C:Enterprise 8 se datorează unei neînțelegeri a ce tipuri de operațiuni I/O sunt efectuate pe acestea, pe ce date și cu ce intensitate. Adesea, subsistemul de disc este cheia pentru a asigura performanța suficientă a serverului în ansamblu - la urma urmei, pentru bazele de date încărcate, cea mai mare problemă este blocarea tabelelor atunci când mulți utilizatori lucrează cu ele simultan sau în timpul descărcărilor/încărcărilor/postărilor în bloc. Monitorizarea si optimizarea subsistemului disc al serverului.

1C are 5 fluxuri de date pentru subsistemul de disc cu care funcționează:

  • tabele de baze de date;
  • fișiere index;
  • fișiere temporare tempDB;
  • fișier jurnal SQL;
  • fișierul jurnal al aplicațiilor utilizator 1C.

Structura de date din 1C este orientată pe obiecte, cu multe obiecte și relații între ele. Pentru a lucra cu tabele de date, numărul de operațiuni de citire și scriere pe care subsistemul disc le poate efectua într-o perioadă de timp (Input Output Operation per Second, IOPS) este extrem de important. În același timp, capacitatea sa de a oferi o rată mare de transmitere a datelor (în MBp/s) este mult mai puțin importantă. O bază foarte modestă de 200-300MB cu 3-5 utilizatori poate genera până la 400-600 IOPS în vârfuri. O bază de date pentru 10-15 utilizatori și un volum de 400-800MB este capabilă să furnizeze 1500-2500 IOPS, 40-50 utilizatori ai unei baze de date de 2-4GB generează 5000-7500 IOPS, iar bazele de date pentru 80-100 de utilizatori ajung cu ușurință la 12000-1800 IOPS.

Desigur, sarcina medie a subsistemului de disc poate fi de 10-15% din vârf. Doar în realitate, performanța în perioada de vârf este cea care este importantă: descărcări automate de date din alte sisteme, schimb de date al unui sistem distribuit sau o reluare a perioadei.

Unitățile moderne în operațiuni de citire și scriere cu acces aleatoriu (Random Read / Write) fac față singure unor astfel de sarcini:

Intel 910 400 GB

2400 - 8600 IOPS

Se vede clar ca:

  • blocajul atât pentru HDD, cât și pentru SSD este scrierea;
  • HDD-urile tradiționale nu sunt concurente ale SSD-urilor în ceea ce privește viteza de citire în IOPS, chiar și teoretic, diferența depășește două ordine de mărime;
  • chiar și nici cel mai modern SSD desktop este de 3-40 de ori (în funcție de configurație) mai rapid decât orice HDD în ceea ce privește viteza de scriere în IOPS, server SSD este de 12-40 de ori mai rapid decât HDD;
  • performanța maximă în IOPS este asigurată de PCIe SSD clasa Intel 910 sau LSI WarpDrive.

Discurile individuale nu sunt folosite în serverele de baze de date, ci doar matrice RAID. Pentru a calcula în continuare performanța reală a subsistemului de disc, trebuie să țineți cont de costurile („penalizare”) pentru scrierea în IOPS, care sunt suportate de grupul de discuri în RAID:

Dacă colectați 6 discuri în RAID 10, atunci pentru fiecare înregistrare de 1 IOPS de date vor fi cheltuite 2 IOPS de discuri fizice, iar dacă în RAID 6, atunci 6 IOPS de discuri. Astfel, atunci când calculați capacitatea de încărcare de scriere a unui grup de discuri, trebuie mai întâi să adăugați IOPS-urile tuturor discurilor din grupul RAID și apoi să le împărțiți la „penalizare”.

Exemplul 1: 2 HDD-uri SATA 7200 în RAID 1 vor furniza scriere: (100 IOPS *2) / 2 = 100 IOPS.

Exemplul 2: 4 SATA 7200 în RAID 5 vor oferi: (100 IOPS *4) / 4 = 100 IOPS per scriere.

Exemplul 3: 4 SATA 7200 în RAID 10 vor oferi: (100 IOPS *4) / 2 = 200 IOPS per scriere.

Exemplele 2 și 3 arată de ce RAID 10 este preferat pentru stocarea bazelor de date care au o distribuție tipică de citire/scriere 68/32.

Din aceste trei tabele, reiese clar de ce performanța unui „set gentleman’s set” tipic 2 HDD SATA 7200 în RAID 1 nu este suficientă pentru un server: la sarcini de vârf, coada de accesări la disc crește, utilizatorii așteaptă un răspuns din partea sistemului, uneori timp de multe ore.

Cum să creșteți performanța de scriere a subsistemului de disc? Creșteți numărul de discuri dintr-un grup RAID, treceți la discuri cu o viteză de rotație mai mare, selectați un nivel RAID cu o penalizare de scriere mai mică. Memorarea în cache de către un controler RAID cu modul Write back activat ajută foarte mult. Datele sunt scrise nu direct pe discuri (ca în modul Write Through), ci în memoria cache a controlerului și abia apoi, în modul lot și într-o formă ordonată, pe discuri. În funcție de specificul sarcinii, performanța de scriere poate fi crescută cu 30-100%.

În bazele de date puțin încărcate sau relativ mici (până la 20 GB), este potrivită o modalitate ieftină de a „extrage IOPS” - RAID hibrid de pe SSD / HDD. Mai mult și nu aveți nevoie de o bază de date de sucursale pentru 3-15 utilizatori într-o structură distribuită, cum ar fi o rețea de cafenele sau benzinării.

Pentru bazele de date mari (200 GB sau mai mult) cu un istoric lung de date sau pentru deservirea mai multor baze de date mari, stocarea în cache SSD (tehnologiile LSI CacheCade 2.0 sau Adaptec MaxCache 3.0) poate fi eficientă. Conform experienței de operare a unor astfel de sisteme, în sarcinile 1C acestea pot fi folosite relativ ieftin și fără modificări semnificative în infrastructura de stocare pentru a accelera operațiunile de disc cu 20-50%.

Campionul în ceea ce privește performanța în IOPS este, în mod previzibil, matricele RAID de pe SSD-uri de server - atât tradiționale, folosind un controler RAID SAS, cât și SSD-uri PCIe. Popularitatea lor este împiedicată de două limitări: tehnologice (performanța controlerelor RAID sau nevoia de a sparge radical structura de stocare) și prețul de vânzare.

Separat, ar trebui spus despre stocarea fișierelor index și TempDB. Fișierele index sunt actualizate foarte rar (de obicei o dată pe zi), dar sunt citite foarte, foarte des (IOPS). Astfel de date trebuie pur și simplu stocate pe un SSD, cu ratele lor de citire! TempDB folosit pentru stocarea datelor temporare este de obicei de dimensiuni reduse (1-4-12 GB), dar foarte solicitant la viteza de scriere. Fișierele index și temporare au în comun faptul că pierderea lor nu duce la pierderea datelor reale. Aceasta înseamnă că pot fi plasate pe un SSD separat (și mai bine - pe două volume separate). Cel puțin pe controlerul SATA de la bord al plăcii de bază. Din punct de vedere al fiabilității și performanței, sub TempDB este de dorit să se dea o oglindă (RAID1) de la SSD, este posibilă pe controlerul de bord, dar cu oprirea obligatorie a tuturor cache-urilor de scriere. SSD-urile pentru desktop pot face față, de asemenea, acestui rol - cum ar fi seria Intel 520, unde compresia hardware a datelor atunci când scrieți în TempDB va fi corectă. Îndepărtarea acestor sarcini dintr-un sistem de stocare partajat într-un subsistem dedicat de mare viteză are un efect pozitiv asupra performanței sistemului în ansamblu, în special în perioadele de încărcare maximă.

În cazurile în care este posibil să se asigure cel mai rapid răspuns posibil al administratorilor în caz de defecțiuni, și când există sarcini complexe de calcul (logistica de depozit sau transport, producție în SCP, schimburi de volum în URDB), TempDB este transferat la RAMDrive. Această soluție vă permite să câștigați uneori până la 4-12% din performanța generală a sistemului. Unele inconveniente apar numai dacă serverul este repornit: dacă RAMDrive nu pornește automat, va fi necesară intervenția administratorului pentru a porni manual - altfel întregul sistem va deveni.

O altă componentă importantă sunt fișierele jurnal. Au o caracteristică neplăcută pentru orice subsistem de disc - generează un flux aproape constant de accesări mici de scriere. Acest lucru este imperceptibil la sarcini medii, dar degradează foarte mult performanța serverului 1C la sarcini de vârf. Este logic să mutați fișierul jurnal (în special, fișierul jurnal SQL) într-un volum fizic separat care nu are cerințe ridicate de IOPS și care va fi scris aproape liniar. Pentru liniște sufletească, puteți crea o oglindă din SATA / NL SAS ieftin și voluminos (pentru jurnal complet) sau SSD-uri desktop ieftine din aceeași serie Intel 520 (jurnal simplu sau jurnal complet, cu backup și curățare zilnică).

În general, putem spune că sosirea SSD-urilor în servere a deschis noi oportunități pentru creșterea performanței serverelor de masă - datorită stocării de date pe niveluri și configurației rezonabile I/O pe disc.

Subsistemul de disc al „serverului ideal sub 1C” arată astfel:

1. Tabelele bazelor de date sunt găzduite pe RAID 10 (sau RAID 1 pentru baze de date mici) de SSD-uri de server fiabile cu un controler RAID hardware obligatoriu. Pentru cerințe ridicate de IOPS, luați în considerare o opțiune SSD PCIe. Pentru bazele de date mari, stocarea în cache SSD a matricelor HDD este eficientă. Dacă configurația 1C utilizată și structura datelor nu sunt prea solicitante pentru IOPS, iar numărul de utilizatori este mic, va fi suficientă o matrice tradițională de HDD SAS 15K rpm.

2. Fișierele index sunt mutate pe un singur SSD rapid și ieftin, TempDB - la 1-2 (RAID 1) SSD sau RAMDrive.

3. Pentru fișierele jurnal SQL (și de preferință 1C) este alocat un volum dedicat (un singur disc fizic sau RAID-1) pe un HDD SATA/NL SAS sau SSD cu preț redus, sau un disc logic pe o matrice RAID (și de preferință 1C), pe care se află sistemul de operare al serverului și fișierele / folderele utilizator.

4. Sistemul de operare și datele utilizatorului sunt stocate pe RAID 1 al HDD sau SSD.

Dacă infrastructura IT este virtualizată, este foarte de dorit ca SQL Server să fie instalat nu ca o mașină virtuală, ci direct pe un server fizic, pe bare metal. Prețul problemei este de la 15 la 35% din performanța subsistemului de disc (în funcție de hardware, drivere, instrumente de virtualizare și metode de conectare la volum). Într-un mediu de server SQL virtualizat, conectarea volumelor cu tabele de baze de date, fișiere index și TempDB la o VM este obligatorie în modul exclusiv prin Acces Direct.

Interfețe de rețea

La construirea sistemelor 1C:Enterprise 8 pentru întreprinderi mici și mijlocii (până la 100-150 de utilizatori activi în același timp), pierderile în operațiunile de rețea prin interfața Ethernet ar trebui reduse la minimum. În mod ideal, serviți atât SQL Server, cât și „1C: Enterprise 8 Application Server x64”, și sesiuni de utilizator 1C în Remote Desktop cu un singur server fizic. Controversată în ceea ce privește toleranța la erori, această recomandare vă permite să profitați la maximum de hardware și software, iar prin utilizarea virtualizării oferă un anumit nivel de securitate și „repetabilitate a mediului” pe alte echipamente.

De ce să excludem Ethernet din lanțul serverului SQL -> 1C:Serverul de aplicații Enterprise 8 -> sesiunea utilizator 1C:Enterprise 8? Interfața de rețea Ethernet, cu împachetarea datelor în blocuri relativ mici pentru transmisie, va crea întotdeauna întârzieri suplimentare: atât la împachetarea / despachetarea traficului, cât și în timpul transmisiei în sine (latență mare). În 1C:Enterprise 8, matrice de date destul de mari sunt transferate pentru procesare și afișare de-a lungul întregului lanț, în unele situații - în ambele direcții. La transferul de date direct de la un proces la altul în RAM-ul serverului (pe același server fără virtualizare), sau printr-o interfață de rețea virtuală (în cadrul aceluiași server fizic, cu adaptoare de rețea de server bune cu transfer de blocuri RAM între VM), întârzierile sunt mult mai mici. Serverele moderne cu dublu procesor cu RAM mare și un subsistem de disc pe SSD vă permit să serviți confortabil o bază de date 1C pentru 100-150 de utilizatori activi.

Dacă utilizarea mai multor gazde fizice este inevitabilă pentru bazele de date încărcate, este de dorit să conectați toate serverele prin Ethernet de 10 Gb. Sau cel puțin 2-4 conexiuni Ethernet de 1 Gb agregate cu accelerare hardware TCP/IP (TCP/IP Offloader) și suport pentru virtualizare hardware.

Cel mai mult, soluțiile bugetare suferă de pierderi de performanță pe porturile Ethernet. Nu este un secret pentru nimeni că adaptoarele de rețea de 1 Gb, lipite pe majoritatea plăcilor de bază pentru servere, nu sunt proiectate pentru a gestiona trafic intens de rețea. Chiar dacă placa are 2 sau 3 porturi GbE, acestea sunt de obicei implementate pe cipuri desktop. Suficiente pentru management, ele generează costuri generale suplimentare pentru deservirea schimburilor de rețea, în special într-un mediu virtualizat. Întregul proces de transfer de date printr-un astfel de cip este asigurat de resursele procesorului, RAM și încărcarea magistralelor interne. Astfel de cipuri nu asigură nicio accelerare a transmisiei traficului IP, fiecare pachet Ethernet primit și transmis necesită o întrerupere separată pentru procesor. Într-un mediu virtualizat, pierderile de performanță ale interfeței de rețea pot ajunge la 25-30%. Cel mai neplăcut lucru este că interfața de rețea este supraîncărcată de instrumentele de monitorizare și este posibil să nu fie observată. Procesorul central este suflat pentru el, iar dacă nu funcționează, atunci este inactiv în așteptarea unui răspuns de la placa de rețea. Este de dorit să se excludă porturile de pe cipurile desktop din fluxul de date în mediile virtualizate, lăsându-le pentru sarcinile de gestionare a serverului. În condiții de trafic intens de rețea, merită să adăugați o placă de rețea discretă pe chipset-ul serverului.

Toleranță la erori sau timp de nefuncționare acceptabil?

Discuțiile despre performanța serverului sunt aproape întotdeauna însoțite de argumente despre fiabilitatea serverului. Toleranța la erori are întotdeauna un cost suplimentar, mai ales atunci când susțin procese de producție continue. Fără a minimaliza rolul și locul lui 1C, putem spune că majoritatea utilizatorilor săi rezolvă dilema „performanță / fiabilitate” în diferite planuri: luptă pentru primul cu optimizarea soluțiilor hardware, pentru al doilea - cu organizarea proceselor și procedurilor. Când aplicațiile sunt moderat critice, menținerea sănătății se concentrează nu pe protecția individuală a serverului, ci pe minimizarea timpului de nefuncționare a infrastructurii în ansamblu.

Desigur, pentru întreprinderile cu un număr relativ mare de utilizatori conectați simultan (25-150) și care găzduiesc toate aplicațiile pe un singur server, este imperativ să se utilizeze surse de alimentare neîntreruptibile, surse de alimentare redundante pentru serverele în sine, coșuri de discuri hot-swap și matrice RAID hot-standby. Dar niciun hardware nu poate înlocui backup-ul planificat al datelor în sine. Având o copie de rezervă zilnică (mai precis, noaptea) și un fișier online cu un jurnal SQL complet, puteți restaura complet baza de date 1C într-o perioadă relativ scurtă.

Timpul de nefuncționare admisibil al sistemului central 1C pentru întreprinderile mici și mijlocii este de 1-2 accidente pe lună, cu o durată de 1-4 ore. De fapt, aceasta este o marjă uriașă de timp - dacă sunteți pregătit pentru recuperare în avans. O condiție necesară pentru o repornire rapidă este disponibilitatea imaginilor tuturor serverelor virtuale și fizice sub forma unei VM pe un stoc / volum separat - pentru a restabili partea de infrastructură în sine pe un server de rezervă. Backup zilnic obligatoriu (precum săptămânal și la sfârșitul perioadei) pe alt dispozitiv fizic și jurnal Full SQL pentru cazurile în care pierderea datelor „de la începutul zilei de lucru” este critică și dificil de recuperat manual. Dacă aveți echipamente de schimb, puteți păstra în termen de 1-2 ore pentru a restabili capacitatea de lucru în general, deși cu o productivitate mai mică. Ei bine, acolo unde este necesară continuitatea 24×7, prioritățile vor fi alegerea arhitecturii adecvate, a echipamentelor cu un număr minim de puncte de defecțiune și a tehnologiilor de clustering cu drepturi depline. Dar asta este o cu totul altă poveste.

Articol original: http://ko.com.ua/proektirovanie_servera_pod_1s_66779

Cu permisiunea editorului revistei „Computer Review”

În orice organizație în care numărul de utilizatori 1C 8.3 (sau 8.2) este de 10 sau mai mult, se recomandă utilizarea versiunii client-server de lucru cu cantități mari de date. Această opțiune se bazează pe utilizarea unui SGBD terță parte, de exemplu, serverul MS SQL. Desigur, modul client-server este greu de imaginat fără un server autonom. Dar fiecare companie este unică, fiecare are propriile nevoi, de aceea, alegerea unui server trebuie abordată cu responsabilitate. În acest articol vom încerca să răspundem la întrebarea cum să alegeți un server 1C - atât software, cât și hardware. Alegerea este un punct foarte important în dezvoltarea sistemului informațional al unei companii.

Fără software, orice computer este inutil. În special software-ul de înaltă calitate este important în hardware-ul serverului. Trebuie să îndeplinească cei mai recenti parametri de siguranță și fiabilitate. Aplicația client 1C este multi-platformă și disponibilă în aproape toate sistemele de operare, inclusiv sistemele mobile. Aplicația server acceptă două platforme - Linux și Windows.

Există cinci variante ale DBMS cu care funcționează platforma 1C:

Obțineți 267 de lecții video 1C gratuit:

  • SGBD încorporat al lui 1C 8.3, așa-numitul modul fișier. Cel mai simplu mod de a lucra, nu se poate lăuda cu securitatea ridicată. Funcționează pe sistemul de operare Windows și Linux. Limita de dimensiune a bazei de date este de aproximativ 6-10 gigaocteți;
  • MS SQL Server- cel mai bun DBMS pentru 1C disponibil pe piață. Potrivit multor experți, SQL Server este, în general, cel mai bun produs software de la Microsoft. Necesită un sistem de operare Windows;
  • IBM DB2 Universal Database este un sistem de gestionare a bazelor de date destul de fiabil și sigur. Particularitatea sa este în unele nuanțe de procesare a informațiilor și de funcționare a metodelor de sistem (de exemplu, sensibilitatea cu majuscule și minuscule a datelor șirului). Calitatea muncii este afectată semnificativ de abilitățile și cunoștințele administratorului. Suporta Windows, Mac OS X, Linux;
  • Baza de date Oracle- SGBD versionat, care în unele cazuri oferă o creștere a performanței. Suporta Windows, Mac OS X, Linux;
  • PostgreSQL- de asemenea versionat. Cel mai important avantaj este distribuirea gratuită a programului. Calificarea administratorului afectează foarte mult viteza de lucru. Recomandat pentru un număr mic de utilizatori. Funcționează pe Windows, Mac OS X, Linux.

Alegerea fierului de călcat pentru 1C

Spre deosebire de software, alegerea hardware-ului nu este ușoară. Luați în considerare alegerea componentelor serverului pentru un număr diferit de utilizatori. Numărul de utilizatori este un concept abstract, se iau cifrele medii pentru fluxul de lucru. Atunci când alegeți echipamentul, asigurați-vă că luați în considerare cantitatea de documente.

Până la 10 utilizatori

  • CPU: Intel Core i3 sau Intel Xeon E3-12xx.
  • RAM: 4 gigabytes, includ 2 GB pentru sistemul de operare și 2 gigabytes pentru cache-ul DBMS.
  • Subsistemul disc
  • Interfețe de rețea

Server de la 10 la 40

  • CPU: similar cu Intel Xeon E3-12xx sau AMD Opteron 4xxx.
  • RAM R: De obicei, 8-12 gigaocteți sunt suficienți.
  • Subsistemul disc R: O combinație SSD + HDD este ideală de dorit. Dar dacă nu există nicio posibilitate, te poți descurca cu HDD-ul.
  • Interfețe de rețea: De obicei, toate aplicațiile server sunt instalate pe aceeași mașină.

de la 40 la 70

  • CPU
  • RAM: 16 gigabytes, iar 32 este mai bun.
  • Subsistemul disc: O matrice tradițională de HDD SAS 15K rpm este suficientă.
  • Interfețe de rețea R: Dacă serverele sunt pe mașini diferite, utilizați o rețea cu o lățime de bandă de 10 Gb.

de la 70 la 120

Cu atât de mulți utilizatori, este logic să distribuiți aplicațiile server pe mașini server separate.

  • CPU: Intel Xeon E5-26xx sau AMD Opteron 62xx.
  • RAM: de la 32 gigaocteți.
  • Subsistemul disc: RAID 10 al SSD-urilor server de încredere cu controler RAID hardware obligatoriu.
  • Interfețe de rețea: Este de dorit să legați un lanț de servere într-o rețea cu o lățime de bandă de 10 Gb. Se recomandă ca fișierele index să fie mutate pe un SSD separat, tabelul temporar TempDB - la 1-2 (RAID 1).

de la 120 de utilizatori

Versiunile 8.2 și 8.3 ale platformei 1C:Enterprise sunt considerate aplicația standard pentru sarcinile de contabilitate și management ale companiei. O gamă largă de soluții aplicative a fost dezvoltată pentru întreprinderile publice și private. Implementând propria infrastructură informațională, fiecare manager sau manager IT al unei companii are o întrebare despre 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 potrivit. O infrastructură de rețea optimă poate fi obținută de la orice sistem de operare, dar capabilitățile hardware joacă un rol mai important.

Criterii de selecție a serverului

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

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 aloca servere fizice separate pentru SQL și aplicația 1C;
  • volumele planificate de prelucrare a datelor;
  • structura de distribuție 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, precum și a cantității de 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 starea 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 sub forma unei versiuni de fișier este instalat pe mașinile client. Necesarul sistemului de operare în acest caz este de 4–6 GB, iar alți 4 GB sunt alocați cache-ului fișierelor de sistem. Distribuția încărcării procesorului arată astfel:

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

Mașinile entry-level cu un singur procesor quad-core se pot ocupa de această sarcină. Poate fi atât servere rack, cât și servere turn. Ultima opțiune este de preferat, deoarece nu necesită alocarea unei camere separate pentru o cameră de server.

Organizație medie (până la 40 de angajați). Cu un astfel de număr de utilizatori, dezvoltatorii 1C recomandă utilizarea modului de acces terminal 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 cu 4-6 nuclee. Cantitatea optimă de RAM va fi de 16-64 GB, deoarece trebuie alocați minim 700 MB pentru fiecare utilizator. Se crede că soluția de aplicație 1C în care rulează mașina client necesită de la 240 la 480 MB, iar alți 200–220 MB sunt alocați pentru aplicațiile de birou.

Cu acest număr de procese, se recomandă utilizarea unei mașini medii cu virtualizare sau două servere fizice. Unul dintre ele va fi folosit pentru accesul la terminal, iar al doilea 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”.

Volumul bazelor de date cu un astfel de număr de angajați depășește adesea 4 GB și se recomandă să alocați nu mai puțină cantitate de RAM pentru memoria cache a sistemului. Alți 4 GB vor fi folosiți de sistemul de operare, iar aplicațiile 1C vor avea nevoie de 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 de personal 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 discului. 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 tabelelor în timp ce accesați un număr mare de utilizatori în același timp.

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ții 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 utilizatorilor de server ajunge la 100 de persoane, atunci IOPS-ul va fi de 18 000. Viteza de streaming joacă un rol secundar.

Pentru fiecare tip de hard disk, sunt setate valorile vitezei de citire/scriere:

  • 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 încorporată în acestea ar trebui inclusă în calculul performanței serverului.

La proiectarea unei soluții, toleranța la erori de sistem joacă un rol important. Pentru aceasta, se folosesc atât hardware cât și software. Serverele sunt echipate cu surse de alimentare și cuști de discuri interschimbabile la cald și folosesc un UPS pentru alimentare neîntreruptă. Asigurarea securității datelor se realizează prin rezervarea 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 dorit și îl puteți configura pentru 1C pe site-ul site-ului. Experții noștri vă vor ajuta în rezolvarea acestei probleme. Pentru sfaturi, contactați-i telefonic sau contactați managerul din chat.

Astăzi vom lua în considerare alegerea hardware-ului serverului pentru o organizație mică de 25-30 de utilizatori, cu o infrastructură distribuită (prieți, depozit), care necesită un server terminal și programul 1C: Enterprise. Toți angajații vor folosi aceste servicii.

Majoritatea companiilor mici, pentru a reduce costul echipamentelor, preferă să minimizeze cantitatea de echipamente achiziționate și cer administratorilor să „împingă” toate serviciile pe care le-au solicitat într-un singur server fizic. Dorința este de înțeles și de iertat, dar există „nuanțe” aici.

Puteți organiza un server terminal și utilizați versiunea de fișier 1C acolo, dar cu un astfel de număr de utilizatori, compania de dezvoltatori recomandă trecerea la o versiune client-server. Prin urmare, avem nevoie și de un server pentru „1C: Enterprise” și de un server de baze de date. Să clarificăm imediat că este posibil să organizați un server terminal, un server SQL și un server 1C pe același sistem de operare, dar, din punct de vedere al securității și stabilității serviciilor, acest lucru nu este foarte recomandat. Și dacă tot doriți să utilizați un server fizic pentru toate cele trei roluri, atunci vă recomandăm să utilizați virtualizarea, de exemplu, VMWare ESXi sau Hyper-V.
Astfel, apar trei variante:

  1. Un server cu fișierul 1C. O variantă proastă, nu o vom lua în considerare mai departe.
  2. Un server cu două mașini virtuale.
  3. Două servere fizice, un terminal, al doilea cu DB și 1C.

Pentru a rezolva aceste probleme, putem oferi următoarea configurație de server:

In caz de un server fizic am optat pentru Dell R710, care are două procesoare Xeon X5650 cu șase nuclee, 64 GB RAM și șase unități: două SSD-uri în RAID 1 și patru unități SAS în RAID 10.

In caz de două servere fizice Am optat pentru următoarele configurații:

  • Server terminal: IBM x3550 M3 cu un procesor Xeon E5620, 32 GB RAM și două SSD-uri în RAID 1, cu o placă de rețea suplimentară pentru două interfețe gigabit. Acest server este, de asemenea, foarte upgradeabil, deoarece este un procesor dual, are 18 sloturi de memorie și acceptă până la 288 GB de RAM.
  • Server de baze de date: IBM x3250 M5 cu un procesor Xeon E3-1220v3, 16 GB RAM, controler RAID SAS/SATA opțional, patru unități SAS în RAID 10, cu NIC opțional de 2 Gigabit.
De ce am ales aceste configurații? Pentru a răspunde la această întrebare, să calculăm de ce avem nevoie pentru a oferi o experiență confortabilă utilizatorului în mica noastră organizație de 25-30 de angajați. Pentru a evita neînțelegerile: acesta este doar un exemplu de implementare ieftină a 1C și, în multe cazuri, este mai potrivit să alegeți alte configurații.

CPU

Din punct de vedere al timpului procesorului, sesiunile terminale nu ocupă o pondere foarte mare. Conform experienței de implementare a soluțiilor terminale în diverse organizații, pentru a sprijini munca confortabilă a 30 de utilizatori, vor fi suficiente 4-6 nuclee de procesor fizic, un nucleu pentru 6-8 sesiuni.

Pentru o bază de date mică, SQL Server va avea nevoie de un nucleu. Dar ne vom concentra pe extinderea bazei de date în viitor (sau creșterea numărului de baze de date) și să luăm două nuclee pe SQL.

Pentru un server 1C:Enterprise, nu atât numărul de nuclee este important, ci frecvența lor de ceas și frecvența magistralei. Prin urmare, vom așeza încă două nuclee pe serverul 1C.
Și să nu uităm că în cazul utilizării virtualizării, unul sau două nuclee ne vor fi la îndemână pentru a asigura funcționarea sistemului de operare gazdă.

În total obținem:

  • un server cu două mașini virtuale are nevoie de 12 nuclee fizice. Poate fi mai puțin, dar ar trebui să existe întotdeauna o marjă de putere. Un server cu două procesoare cu șase nuclee este ideal pentru asta.
  • pentru un server terminal este suficient un procesor Xeon E5620 cu șase nuclee, pentru un server de baze de date - un procesor Xeon E3-1220v3 cu patru nuclee.

RAM

Mai întâi, să vedem câtă memorie RAM este necesară pentru servicii:
  • Sistemul de operare Windows Server necesită doar 2 GB de RAM pentru el însuși.
  • Pentru SQL și o bază de date mică 1C, 4-6 GB de RAM vor fi suficiente.
  • Serverul 1C: Enterprise necesită încă 2-3 GB de RAM.
  • Ne așteptăm ca fiecare utilizator să aibă nevoie de 700 MB de RAM în sesiunea terminalului, apoi 21 GB vor fi necesari pentru 30 de utilizatori.
Acum să aplicăm acest lucru opțiunilor noastre.
  • Pentru un server cu două mașini virtuale, aveți nevoie de aproximativ 40 GB de RAM.
  • Pentru un server terminal vor fi suficiente 24 GB sau 32 GB de RAM (o vom lua cu o marjă, presupunând extinderea viitoare). Pentru un server cu baze de date, aveți nevoie de cel puțin 8 GB, dar acest lucru este „back to back”, deci 16 GB sunt mai mult decât suficiente. Memoria este acum una dintre cele mai ieftine componente de server.

Subsistemul disc

Acesta este gâtul tradițional al multor sisteme. Selectarea corectă a hard disk-urilor este foarte importantă pentru performanța serverului. Când 1C funcționează cu o bază de date SQL, există multe operațiuni de citire/scriere pe secundă (IOPS). Dacă utilizatorii lucrează pe serverul terminal de la clienți subțiri (adică folosesc pe deplin serverul terminal ca mediu de lucru), acest lucru încarcă puternic sistemul de discuri al serverului. De exemplu, 30 de utilizatori ai unui server terminal pe RAID 1, SATA 3 Gb/s, cu unități WD Velociraptor se simt incomod atunci când lucrează cu e-mail și navighează activ pe internet. Pentru serverele terminale, vă recomandăm să utilizați unități SSD. Pentru servere de baze de date - discuri SAS asamblate în matrice tolerante la erori.

Pe lângă unități, trebuie acordată atenție și controlerului de disc. Serverele moderne au controlere destul de bune la bord, de exemplu, HP SmartArray și DELL PERC. Cu toate acestea, ar fi incorect să folosiți soluții „la bord” sub o sarcină serioasă, atunci când sunt necesare performanțe maxime. Cu puține economii, puteți obține cu ușurință un server puternic care nu trage deloc sarcina. Prin urmare, controlerul trebuie să fie hardware, nu software, cu propria sa memorie nevolatilă.

Luați în considerare opțiunile pentru rezolvarea acestei probleme.

  • Pentru un server cu două mașini virtuale, este de dorit să se utilizeze două matrice RAID: unul va conține fișierele mașinii virtuale a serverului terminal, al doilea - fișierele mașinii virtuale a serverului de baze de date și „1C: Enterprise”. Pentru a crea prima matrice, cel mai bine este să utilizați două unități SSD în RAID 1 (oglindă).

    A doua matrice este mai bine să creați din patru discuri SAS în RAID 10 (oglindă + stripe), dar este posibil și din două unități SSD în RAID 1. Alegerea depinde doar de costul discurilor și de modelul de server.

  • Pentru două servere, totul este la fel, doar matricele vor fi distanțate între servere. Pe terminal - RAID 1 a două SSD-uri, pe serverul de baze de date - RAID 10.

Unul sau mai multe servere

După cum am menționat mai sus, organizațiile mici au o dorință destul de puternică de a găzdui toate serviciile pe un singur server.

Beneficiile utilizării unui singur server și virtualizării includ un consum mai mic de energie și o alocare mai flexibilă a resurselor între mașinile virtuale. Ei bine, transferul mașinilor virtuale, caz în care, este mult mai convenabil decât transferul sistemului de operare fizic.

Cu toate acestea, două servere au mai multe opțiuni de upgrade. De exemplu, în versiunea noastră, un IBM x3550 M3 ieftin cu adăugarea unui alt procesor și RAM se transformă într-un server terminal scurt elegant pentru 50 sau chiar mai mulți utilizatori.

Un alt „gât de sticlă” în cazul nostru, de care trebuie luat în considerare la alegerea a două servere fizice, este schimbul de date între acestea prin rețea. Pentru serverele virtuale, schimbul de date trece printr-un comutator virtual. Aici, pentru a crește lățimea de bandă a rețelei, puteți instala o placă de rețea cu două interfețe gigabit în fiecare server, care pot fi agregate între ele și pot conecta direct ambele servere cu legături agregate de 2 gigabiți. Sau folosiți plăci de rețea cu SPF + 10GBASE, dar aceasta este o plăcere scumpă.

rezerva de putere

Atunci când se calculează și se alege un server, trebuie să se țină cont de sarcinile de vârf. De asemenea, asigurați-vă că vă amintiți că baza de date se va „umfla”, volumul de date de pe serverul terminal va crește, iar numărul de utilizatori poate crește. Multe întreprinderi economisesc din rezerva de energie și după șase luni sau un an se confruntă cu întreruperi și plângeri ale utilizatorilor. Acesta este cazul când economisirea excesivă duce la noi costuri în viitor - avarul plătește de două ori. Opțiunile pe care le-am ales sunt calculate cu o rezervă de putere și cu posibilitatea unui upgrade. S-a luat în considerare faptul că la DELL R710 se vor putea adăuga încă două hard disk-uri și RAM, precum și înlocuirea procesoarelor cu altele mai eficiente.

Deci, dacă trebuie să vă extindeți sau numărul de servicii crește, atunci există perspective mari, iar serverele existente își vor îndeplini sarcinile în mod eficient pentru o lungă perioadă de timp. Poate că peste un an va trebui brusc să dublăm numărul de utilizatori, la 60 de persoane? Vă rog.

Dacă ați folosit un server DELL R710, atunci puteți cumpăra un IBM x3550 M3 ieftin, puteți instala un hypervisor pe acesta, puteți transfera o mașină virtuală cu o bază de date și un server 1C acolo și puteți oferi toate resursele unei mașini virtuale cu un terminal pe DELL. Va fi rapid și nu va fi nevoie să „arunci totul și să cumperi unul nou”.
Dacă ați folosit două servere IBM, atunci x3550 M3, cu adăugarea unui al doilea procesor și o cantitate mică de RAM, se transformă dintr-o mașină obișnuită într-o mașină destul de puternică. Și în x3250 M5, puteți face upgrade procesorului de la E3-1220v3 la E3-1285v3.