Cum se configurează smartphone-uri și PC-uri. Portal de informare
  • Acasă
  • Windows Phone
  • Instalarea 1c pe un server terminal. O mică, dar importantă digresiune

Instalarea 1c pe un server terminal. O mică, dar importantă digresiune

Astăzi ne vom uita la alegerea hardware-ului serverului pentru o organizație mică pentru 25-30 de utilizatori, cu o infrastructură distribuită (puncte de vânzare cu amănuntul, 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 solicită într-un singur server fizic. Dorința este de înțeles și de iertat, dar „există nuanțe”.

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 dezvoltare recomandă trecerea la versiunea client-server. Prin urmare, vom avea nevoie de un alt server pentru „1C: Enterprise” și 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 un singur sistem de operare, dar din punctul de vedere al securității și stabilității serviciilor, acest lucru nu este foarte recomandat. Dar dacă doriți totuș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 o bază de date și 1C.

Pentru a rezolva aceste probleme, se poate propune următoarea configurație de server:

În cazul în care un server fizic Am ales Dell R710, cu două procesoare Xeon X5650 cu șase nuclee, 64 GB RAM și șase discuri: două SSD-uri în RAID 1 și patru discuri SAS în RAID 10.

În cazul în care două servere fizice Am ales 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 are, de asemenea, opțiuni bogate de upgrade, deoarece este dual-procesor, 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, un controler RAID SAS/SATA suplimentar, patru discuri SAS în RAID 10, cu o placă de rețea suplimentară pentru interfețe de 2 gigabit.
De ce am ales aceste configurații particulare? Pentru a răspunde la această întrebare, să calculăm de ce avem nevoie pentru a asigura o experiență confortabilă de utilizator în mica noastră organizație de 25-30 de angajați. Pentru a evita orice neînțelegere: acesta este doar un exemplu de implementare ieftină a 1C și, în multe cazuri, este mai recomandabil să alegeți alte configurații.

CPU

În ceea ce privește timpul CPU, sesiunile terminale nu ocupă o pondere foarte mare. Pe baza experienței de implementare a soluțiilor terminale în diverse organizații, pentru a menține o muncă confortabilă pentru 30 de utilizatori, vor fi suficiente 4-6 nuclee de procesor fizic, un nucleu pentru 6-8 sesiuni.

Pentru o bază de date mică, serverul SQL 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 vom lua două nuclee SQL.

Pentru un server 1C: Enterprise, nu atât numărul de nuclee este important, ci viteza lor de ceas și frecvența magistralei. Prin urmare, vom adăuga încă două nuclee la serverul 1C.
Și să nu uităm că, dacă folosim virtualizarea, unul sau două nuclee ne vor fi utile pentru a asigura funcționarea sistemului de operare gazdă.

În total obținem:

  • un server cu două mașini virtuale necesită 12 nuclee fizice. Puteți face mai puțin, dar ar trebui să existe întotdeauna o rezervă de putere. Un server cu două procesoare cu șase nuclee este ideal pentru asta.
  • Pentru un server terminal, un procesor Xeon E5620 cu șase nuclee este suficient pentru un server de baze de date, este suficient 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 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 într-o sesiune de terminal, apoi 30 de utilizatori vor avea nevoie de 21 GB.
Acum să aplicăm acest lucru opțiunilor noastre.
  • Un server cu două mașini virtuale necesită aproximativ 40 GB de RAM.
  • Pentru un server terminal vor fi suficiente 24 GB sau 32 GB 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 acesta este „back to back”, deci 16 GB sunt cu rezervă. Memoria este acum una dintre cele mai ieftine componente de server.

Subsistemul disc

Acesta este blocajul tradițional al multor sisteme. Alegerea hard disk-urilor potrivite este foarte importantă pentru a asigura performanța serverului. Când 1C funcționează cu o bază de date SQL, apar 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ă foarte mult sistemul de disc 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 sarcini grele atunci când sunt necesare performanțe maxime. Economisind puțin, 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ă.

Să luăm în considerare opțiunile pentru rezolvarea acestei probleme.

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

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

  • Pentru două servere totul este la fel, doar matricele vor fi distribuite î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 plasa toate serviciile pe un singur server.

Avantajele utilizării unui singur server și virtualizării includ un consum mai mic de energie și o distribuție mai flexibilă a resurselor între mașinile virtuale. Ei bine, transferul mașinilor virtuale, dacă se întâmplă ceva, este mult mai convenabil decât transferul sistemelor de operare fizice.

Cu toate acestea, două servere au capacități de upgrade mai mari. De exemplu, în versiunea noastră, ieftinul IBM x3550 M3 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 ele prin rețea. Pentru serverele virtuale, schimbul de date are loc printr-un comutator virtual. Aici, pentru a crește debitul rețelei, puteți instala în fiecare server o placă de rețea cu două interfețe gigabit, care pot fi agregate între ele și pot conecta direct ambele servere cu legături agregate de 2 gigabit. Sau folosiți plăci de rețea cu SPF+ 10GBASE, dar acest lucru este scump.

Rezervă de putere

Atunci când se calculează și se selectează un server, trebuie să se țină seama de sarcinile de vârf. De asemenea, este necesar să ne amintim 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 rezerve de energie și după șase luni sau un an se confruntă cu întreruperi ale activității și reclamații ale utilizatorilor. Acesta este cazul când economisirea excesivă duce la noi costuri în viitor - cel zgârcit plătește de două ori. Opțiunile pe care le-am ales sunt proiectate cu rezerve de putere și opțiuni de upgrade. Se ține cont de faptul că DELL R710 va putea adăuga încă două hard disk-uri și RAM, precum și să înlocuiască procesoare cu altele mai eficiente.

Deci, dacă aveți nevoie de extindere 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 pe DELL să oferiți toate resursele unei mașini virtuale cu un Terminal. Va fi rapid și nu va trebui să „arunci totul și să cumperi noi”.
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ă medie într-o mașină destul de puternică. Și în x3250 M5 puteți face upgrade procesorului de la E3-1220v3 la E3-1285v3.

Aici ne vom uita la cum se configurează 1-C prin conexiune la desktop la distanță(RDP), adică folosind un server terminal pe sistemul de operare Windows Server 2003.

Această procedură este pentru cei care nu folosesc servere de baze de date speciale concepute pentru 1-c, ci pur și simplu folosesc configurația obișnuită 1-c situată pe server și se conectează la aceasta printr-o rețea locală indicând calea bazei de date. Acesta este, în principal, modul în care funcționează în birourile mici, iar atunci când utilizați această metodă de conectare, 1-C funcționează destul de lent și, de aceea, voi descrie procesul prin care puteți crește viteza programului într-un mod destul de simplu.

Deci, pentru început, trebuie să aveți un computer bun și puternic sau, cel mai bine, un server real cu sistemul de operare Windows Server 2003 sau mai mare instalat. În el trebuie să configurați serverul terminal, acesta este configurat după cum urmează:

Start->Administrare->Gestionați acest server ->adăugați sau eliminați un rol ->faceți clic pe următorul ->selectați o configurație specială ->opus de server terminal aveți „nu”, doar selectați și faceți clic pe următorul -> apoi va avea loc o repornire -> apoi creați utilizatori în grup " Utilizatori de desktop la distanță"și vă puteți conecta ( Un exemplu de instalare și configurare mai detaliată a unui server terminal poate fi găsit în articolul - Instalarea unui server terminal pe Windows Server 2008).

Acum am configurat conexiunea pe computerul client, pentru a face acest lucru rulați „ desktop la distanță» Start -> Programe -> Accesorii -> Conexiune la desktop la distanță ( client RDP). În fereastra care apare, în câmpul „ calculator" sau " server» scrieți adresa IP sau numele computerului pe care sunt instalate serverul terminal și, în consecință, baza de date 1-C în sine.

După autentificare, vi se va cere să introduceți „ utilizator" Și " parolă» ( Ar fi trebuit să le fi creat deja pe server). Apoi, în sfârșit, același desktop la distanță se va deschide pentru tine. Mai întâi, găsiți unde aveți scurtătura sau fișierul exe pentru a lansa 1c, copiați calea, de exemplu va fi D:\BIN\1cv7s.exe și salvați-o. Apoi deconectați ( Întotdeauna trebuie să apăsați Start->Exit System pentru că... dacă te apropii doar de X, va fi incorect).

Apoi, lansați din nou desktopul la distanță și faceți clic pe „ parametrii"și completați câmpurile" utilizator" Și " parolă„, astfel încât să nu fie nevoie să-l introduceți de fiecare dată când vă conectați. Apoi accesați fila program și bifați caseta de lângă „porniți programul când sunteți conectat” și inserați aceeași cale pe care ați salvat-o ( în exemplul nostru D:\BIN\1cv7s.exe). Să ne uităm la poze:

Acum vă puteți conecta și deja la această lansare veți porni programul 1-C, dar pe un computer la distanță, adică. server. Tot ce trebuie să faceți este să configurați calea către baza de date. Dar amintiți-vă că suntem pe server și, în consecință, baza de date este și pe server și vom afișa calea local, și nu prin rețea.

Dacă faci totul corect, atunci tu însuți vei observa că viteza lui 1-C va crește, deoarece computerul client nu mai folosește propriile resurse, ci resursele serverului. Această metodă de conectare este excelentă pentru birourile mici unde lucrează aproximativ 50 de persoane în programul 1-C, pur și simplu nu am mai încercat-o pentru că... pur și simplu nu există oameni.

Achiziționarea în 1C 8.3 nu înseamnă altceva decât o plată regulată pentru o achiziție cu un card bancar.

Organizația vânzătorului încheie un contract de achiziție cu o bancă și deschide un cont curent în această bancă. Banca, la rândul său, oferă un terminal pentru citirea soldului de pe cardul cumpărătorului și debitează suma achiziției. Aceste terminale pot fi furnizate fie contra cost, fie pentru închiriere gratuită. De asemenea, pentru achiziționarea de servicii, banca ia un anumit procent ca recompensă din fiecare achiziție.

Vă rugăm să rețineți că atunci când plătiți pentru o achiziție, fondurile nu ajung în contul vânzătorului, ci către banca de service în sine. Nu este practic să procesezi fiecare achiziție. În continuare, banca cu care este încheiat acordul transferă fonduri pentru mai multe achiziții simultan, rambursându-și astfel datoria către organizație - vânzător.

Pentru a contabiliza acele fonduri care au fost deja debitate de pe cardul cumpărătorului, dar nu ne-au fost încă creditate, este destinat un cont special 57.03. Banii sunt reflectați în acest cont până când primim confirmarea că banii au fost de fapt creditați în contul nostru curent.

În primul rând, trebuie să verificăm dacă avem toate setările pentru utilizarea achiziției în programul 1C: Accounting 3.0.

Accesați secțiunea „Principal” și selectați „Funcționalitate”.

În fila „Bancă și casierie” și setați steag în setarea „Carduri de plată”. În cazul nostru, această parte a funcționalității a fost deja activată mai devreme. Nu îl putem dezactiva din cauza faptului că programul reflecta deja rapoarte privind vânzările cu amănuntul și tranzacțiile cu cardul bancar.

Reflectarea achiziției în 1C Accounting

În primul rând, vom reflecta în 1C vânzarea unui kilogram de dulciuri Belochka. Acest lucru se poate face pentru OSN/STS/UTII folosind documentul „Implementare (acte, facturi)”.

Apoi, trebuie să creați un document „Tranzacție cu cardul de plată”. Acest lucru se poate face fie din meniul „Bancă și Casă”, fie pe baza documentului de vânzare pe care tocmai l-ați introdus. Vom alege a doua metodă, deoarece este mult mai simplă.

Toate detaliile, cu excepția tipului de plată, au fost introduse automat în documentul creat. În acest domeniu, vom selecta achiziționarea de la Sberbank, deoarece în exemplul nostru a fost încheiat acordul corespunzător cu aceasta.

Vă rugăm să rețineți că tipul implicit de tranzacție va fi setat la „Plată de la cumpărător”. Nu o vom modifica, deoarece „Veniturile din comerțul cu amănuntul”, de regulă, sunt folosite pentru a reflecta aceste date în punctele de vânzare cu amănuntul neautomatizate ca o anumită sumă totală.

În tranzacțiile de achiziție 1C puteți vedea ceea ce s-a menționat mai devreme. Fondurile primite nu sunt încă în contul nostru curent, ci în bancă, astfel încât suma de 350 de ruble a fost creditată în cont pe 57.03.

Achizitii si vanzari cu amanuntul

Atunci când se efectuează vânzări cu amănuntul, plata prin achiziție se reflectă în. În acest caz, totul se face automat. Datele despre o astfel de plată sunt afișate în fila „Plăți fără numerar”.

Acest document a creat tranzacțiile prezentate în figura de mai jos.

Primirea fondurilor de la bancă

Până când banca care deservește terminalul nostru de achiziție transferă fonduri din vânzări în contul nostru curent, aceste sume vor fi listate în contul 57.03. Faptul de transfer de bani în contul organizației noastre este reflectat în program.

Acest document poate fi generat automat la descărcarea unui extras de la banca client. De asemenea, îl puteți introduce manual în baza de date utilizând elementul „Extrae bancare” din secțiunea „Bancă și casierie”.

În acest exemplu, vom crea o chitanță în contul curent direct din documentul „Tranzacție cu cardul de plată”.

Documentul a fost creat și completat complet automat. Vom verifica corectitudinea tuturor detaliilor și o vom efectua.

Ca urmare, suma din vânzarea dulciurilor Belochka în valoare de 350 de ruble a fost transferată din contul 57.03 în contul 51 „Conturi curente”. Astfel, datoria Sberbank față de organizația noastră a fost rambursată.

Vezi și videoclipul pe această temă:

Fotografie de Alena Tulyakova, agenția de știri „Clerk.Ru”

Articolul identifică principalele greșeli pe care le fac administratorii începători 1C și arată cum să le rezolvi folosind testul Gilev ca exemplu.

Scopul principal al scrierii acestui articol este de a evita repetarea nuanțelor evidente pentru acei administratori (și programatori) care nu au câștigat încă experiență cu 1C.

Scopul secundar este ca, dacă am vreo deficiență, Infostart va fi cel mai rapid să-mi semnaleze acest lucru.

Testul lui V. Gilev a devenit deja un fel de standard „de facto”. Autorul de pe site-ul său a dat recomandări destul de clare, dar voi prezenta doar câteva rezultate și voi comenta cele mai probabile erori. Desigur, rezultatele testelor pe echipamentul dvs. pot diferi, acesta este doar un ghid pentru ceea ce ar trebui să fie și pentru ce vă puteți strădui. Aș dori să observ imediat că modificările trebuie făcute pas cu pas, iar după fiecare pas, verificați ce rezultat a dat.

Sunt articole similare pe Infostart, voi pune link-uri către ele în secțiunile relevante (dacă îmi lipsește ceva, vă rog să-mi sugerați în comentarii, îl voi adăuga). Deci, să presupunem că 1C este lent. Cum se diagnostichează problema și cum se înțelege cine este de vină, administratorul sau programatorul?

Date inițiale:

Calculator testat, cobai principal: HP DL180G6, echipat cu 2*Xeon 5650, 32 Gb, Intel 362i, Win 2008 r2. Pentru comparație, Core i3-2100 arată rezultate comparabile în testul cu un singur fir. Echipamentul pe care l-am ales în mod deliberat nu a fost cel mai nou, cu echipamente moderne, rezultatele sunt vizibil mai bune.

Pentru testarea serverelor separate 1C și SQL, server SQL: IBM System 3650 x4, 2*Xeon E5-2630, 32 Gb, Intel 350, Win 2008 r2.

Pentru a testa o rețea de 10 Gbit, s-au folosit adaptoare Intel 520-DA2.

Versiunea fișierului. (baza de date este pe server într-un folder partajat, clienții se conectează prin rețea, protocol CIFS/SMB). Algoritmul pas cu pas:

0. Adăugați baza de date de testare a lui Gilev la serverul de fișiere în același folder ca bazele de date principale. Ne conectăm de la computerul client și rulăm testul. Ne amintim rezultatul.

Se înțelege că și pentru computerele vechi de acum 10 ani (Pentium pe socket 775), timpul de la clic pe comanda rapidă 1C:Enterprise până la apariția ferestrei bazei de date ar trebui să dureze mai puțin de un minut. (Celeron = lent).

Dacă computerul dvs. este mai rău decât un Pentium pe socket 775 cu 1 GB RAM, atunci simpatizez cu dvs. și vă va fi dificil să obțineți o muncă confortabilă pe 1C 8.2 în versiunea fișierului. Gândiți-vă fie la un upgrade (e timpul) fie la trecerea la un server terminal (sau web, în ​​cazul clientului subțire și formularelor gestionate).

Dacă computerul nu este mai rău, atunci îl puteți da cu piciorul pe administrator. Verificați cel puțin funcționarea rețelei, a antivirusului și a driverului de protecție HASP.

Dacă testul lui Gilev în această etapă a arătat 30 de „papagali” sau mai mult, dar baza de lucru 1C încă funcționează lent, întrebările ar trebui adresate programatorului.

1. Ca ghid pentru cât de mult poate „strânge” un computer client, verificăm doar funcționarea acestui computer, fără rețea. Instalăm baza de date de testare pe un computer local (pe un disc foarte rapid). Dacă computerul client nu are un SSD normal, atunci este creat un disc ram. Deocamdată, cel mai simplu și gratuit este Ramdisk enterprise.

Pentru a testa versiunea 8.2, un disc ram de 256 MB este suficient și! Cel mai important. După repornirea computerului, cu discul ram în funcțiune, ar trebui să existe 100-200 MB liberi pe el. În consecință, fără un disc ram, pentru funcționarea normală ar trebui să existe 300-400 MB de memorie liberă.

Pentru a testa versiunea 8.3, un disc ram de 256 MB este suficient, dar aveți nevoie de mai multă RAM liberă.

Când testați, trebuie să vă uitați la sarcina procesorului. Într-un caz aproape de ideal (ramdisk), fișierul local 1c încarcă 1 nucleu de procesor atunci când rulează. În consecință, dacă în timpul testării miezul procesorului nu este complet încărcat, căutați punctele slabe. Puțin emoționantă, dar în general corectă, este descrisă influența procesorului asupra funcționării lui 1C. Doar pentru referință, chiar și pe Core i3-urile moderne cu frecvențe înalte, numerele 70-80 sunt destul de realiste.

Cele mai frecvente erori în această etapă.

  • Antivirus configurat incorect. Există multe antivirusuri, setările pentru fiecare sunt diferite, voi spune doar că cu o configurație corespunzătoare, nici web-ul și nici Kaspersky 1C nu interferează. Cu setările implicite, aproximativ 3-5 papagali (10-15%) pot fi luați.
  • Modul de performanță. Din anumite motive, puțini oameni acordă atenție acestui lucru, dar efectul este cel mai semnificativ. Dacă aveți nevoie de viteză, atunci trebuie să faceți acest lucru, atât pe computerele client, cât și pe server. (Gilev are o descriere bună. Singura avertisment este că pe unele plăci de bază, dacă dezactivați Intel SpeedStep, nu puteți activa TurboBoost).
Pe scurt, în timp ce rulează 1C, se așteaptă mult un răspuns de la alte dispozitive (disc, rețea etc.). În așteptarea unui răspuns, dacă modul de performanță este activat, procesorul își scade frecvența. Un răspuns vine de la dispozitiv, 1C (procesorul) trebuie să funcționeze, dar primele cicluri de ceas sunt la o frecvență redusă, apoi frecvența crește - și 1C așteaptă din nou un răspuns de la dispozitiv. Și așa - de multe sute de ori pe secundă.

Puteți (și preferabil) să activați modul de performanță în două locuri:

  • prin BIOS. Dezactivați modurile C1, C1E, Intel C-state (C2, C3, C4). În diferite bios ele sunt numite diferit, dar sensul este același. Este nevoie de mult timp pentru a căuta, este necesară o repornire, dar dacă o faci o dată, atunci o poți uita. Dacă faci totul corect în BIOS, viteza va crește. Pe unele plăci de bază, puteți configura setările BIOS, astfel încât modul de performanță Windows să nu joace un rol. (Exemple de setări BIOS de la Gilev). Aceste setări se referă în principal la procesoarele de server sau BIOS-urile „avansate”, dacă nu ați găsit acest lucru și NU aveți Xeon, este în regulă.

  • Panou de control - Alimentare - Performanță ridicată. Minus - dacă computerul nu a fost întreținut de mult timp, va face un zgomot mai puternic al ventilatorului, se va încălzi mai mult și va consuma mai multă energie. Aceasta este o taxă de performanță.
Cum să verificați dacă modul este activat. Lansați task manager - performanță - monitor resurse - CPU. Așteptăm până când procesorul este ocupat cu nimic.
Acestea sunt setările implicite.

BIOS C-state activat,

modul de consum echilibrat de energie


BIOS C-state activat, mod de înaltă performanță

Pentru Pentium și Core te poți opri acolo,

Încă puteți stoarce puțini „papagali” din Xeon


În BIOS, starea C este dezactivată, modul de înaltă performanță.

Dacă nu utilizați Turbo boost, așa ar trebui să arate

server reglat pentru performanță


Și acum numerele. Permiteți-mi să vă reamintesc: Intel Xeon 5650, disc ram. În primul caz, testul arată 23,26, în ultimul - 49,5. Diferența este aproape dublă. Cifrele pot varia, dar raportul rămâne în esență același pentru Intel Core.

Dragi administratori, puteți critica 1C cât de mult doriți, dar dacă utilizatorii finali au nevoie de viteză, trebuie să activați modul de înaltă performanță.

c) Turbo Boost. Mai întâi trebuie să înțelegeți dacă procesorul dvs. acceptă această funcție, de exemplu. Dacă este compatibil, atunci puteți obține încă destul de legal performanță. (Nu vreau să abordez problemele de overclockare a frecvenței, în special serverele, fă-o pe riscul și riscul tău. Dar sunt de acord că creșterea vitezei Bus de la 133 la 166 dă o creștere foarte vizibilă atât a vitezei, cât și a disipării căldurii)

Cum să porniți turbo boost este scris, de exemplu, . Dar! Pentru 1C există câteva nuanțe (nu cele mai evidente). Dificultatea este că efectul maxim al turbo boost are loc atunci când starea C este activată. Și obținem ceva de genul acesta:

Vă rugăm să rețineți că multiplicatorul este maxim, viteza Core este frumoasă și performanța este ridicată. Dar ce se va întâmpla ca rezultat cu 1s?

Dar până la urmă se dovedește că, conform testelor de performanță CPU, versiunea cu un multiplicator de 23 este înainte, conform testelor lui Gilev în versiunea de fișier performanța cu un multiplicator de 22 și 23 este aceeași, dar în client-server versiune - versiunea cu un multiplicator de 23 este groaznic teribil (chiar dacă starea C este setată la nivelul 7, este totuși mai lentă decât cu starea C dezactivată). Prin urmare, recomandarea este să verificați singur ambele opțiuni și să o alegeți pe cea mai bună. În orice caz, diferența dintre 49,5 și 53 de papagali este destul de semnificativă, mai ales fără prea mult efort.

Concluzie - turbo boost trebuie activat. Permiteți-mi să vă reamintesc că nu este suficient să activați elementul Turbo boost în BIOS, trebuie să vă uitați și la alte setări (BIOS: QPI L0s, L1 - dezactivare, scrubbing la cerere - dezactivare, Intel SpeedStep - activare, Turbo boost - activați Panou de control - Opțiuni de alimentare - Performanță ridicată). Și tot (chiar și pentru versiunea de fișier) aș alege opțiunea în care c-state este dezactivat, chiar dacă multiplicatorul este mai mic. Se va dovedi ceva de genul asta...

Un punct destul de controversat este frecvența memoriei. De exemplu, se arată că frecvența memoriei are o influență foarte puternică. Testele mele nu au relevat o asemenea dependență. Nu voi compara DDR 2/3/4, voi arăta rezultatele modificării frecvenței în cadrul aceleiași linii. Memoria este aceeași, dar în BIOS suntem nevoiți să setăm frecvențe mai mici.




Și rezultatele testelor. 1C 8.2.19.83, pentru versiunea de fișier local ramdisk, pentru client-server 1C și SQL pe un singur computer, memorie partajată. Turbo Boost este dezactivat în ambele versiuni. 8.3 arată rezultate comparabile.

Diferența este în cadrul erorii de măsurare. Am scos în mod special capturi de ecran ale CPU-Z pentru a arăta că, odată cu o schimbare a frecvenței, se schimbă și alți parametri, aceeași Latență CAS și Întârziere RAS la CAS, care neutralizează schimbarea frecvenței. Diferența va fi atunci când modulele de memorie sunt modificate fizic, de la mai lent la mai rapid, dar nici acolo cifrele nu sunt deosebit de semnificative.

2. După ce am sortat procesorul și memoria computerului client, trecem la următorul loc foarte important - rețeaua. S-au scris multe volume de cărți despre reglarea rețelei, există articole despre Infostart (, și altele), dar aici nu mă voi concentra pe acest subiect. Înainte de a începe testarea 1C, vă rugăm să vă asigurați că iperf între două computere arată întreaga lățime de bandă (pentru cardurile de 1 Gbit - ei bine, cel puțin 850 Mbit, sau mai bine 950-980), că sfatul lui Gilev a fost urmat. Apoi - cel mai simplu test de funcționare va fi, destul de ciudat, copierea unui fișier mare (5-10 gigaocteți) în rețea. Un semn indirect de funcționare normală pe o rețea de 1 Gbit va fi viteza medie de copiere de 100 MB/sec, funcționare bună - 120 MB/sec. Aș dori să vă atrag atenția asupra faptului că punctul slab (inclusiv) poate fi încărcarea procesorului. Protocolul SMB pe Linux este destul de slab paralelizat, iar în timpul funcționării poate „mânca” destul de ușor un nucleu de procesor și nu mai consumă.

Și încă un lucru. Cu setările implicite, clientul Windows funcționează cel mai bine cu un server Windows (sau chiar cu o stație de lucru Windows) și protocolul SMB/CIFS, un client Linux (debian, ubuntu nu s-a uitat la celelalte) funcționează mai bine cu Linux și NFS ( funcționează și cu SMB, dar pe NFS papagalii sunt mai înalți). Faptul că în timpul copierii liniare un server Windows Linux pe NFS este copiat într-un flux mai rapid nu înseamnă nimic. Tuningul Debian pentru 1C este subiectul unui articol separat, încă nu sunt pregătit pentru asta, deși pot spune că în versiunea de fișier am obținut performanțe chiar puțin mai bune decât versiunea Win pe același echipament, dar cu postgres cu peste 50 de utilizatori încă fac totul foarte rău.

Cel mai important lucru pe care îl știu administratorii „arși”, dar începătorii nu îl țin cont. Există multe modalități de a seta calea către baza de date 1c. Puteți face servershare, puteți face 192.168.0.1share, puteți utiliza net z: 192.168.0.1share (și în unele cazuri va funcționa și această metodă, dar nu întotdeauna) și apoi specificați unitatea Z. Se pare că toate aceste căi indică același lucru în același loc, dar pentru 1C există o singură metodă care oferă o performanță normală destul de fiabilă. Deci, iată ce trebuie să faceți corect:

Pe linia de comandă (sau în politici, sau orice este convenabil pentru dvs.) - utilizați net DriveLetter: servershare. Exemplu: net use m: serverbases. Subliniez în mod specific NU adresa IP, ci numele serverului. Dacă numele serverului nu este vizibil, adăugați-l la dns de pe server sau local la fișierul hosts. Dar adresa trebuie să fie după nume. În consecință, în drum spre baza de date, accesați acest disc (vezi imaginea).

Și acum voi arăta cu cifre de ce acesta este sfatul. Date inițiale: Intel X520-DA2, Intel 362, Intel 350, Realtek 8169 OS Win 2008 R2, Win 7, Debian 8. Ultimele drivere, actualizări aplicate. Înainte de a testa, m-am asigurat că Iperf oferă toată lățimea de bandă (cu excepția cardurilor de 10 Gbit, a reușit să stoarce doar 7,2 Gbit, voi vedea de ce mai târziu, serverul de testare nu a fost încă configurat corect). Discurile sunt diferite, dar peste tot există un SSD (am introdus special un singur disc pentru testare, nu este încărcat cu nimic altceva) sau un raid de la un SSD. Viteza de 100 Mbit a fost obținută prin limitarea setărilor adaptorului Intel 362 Nu a existat nicio diferență între Intel 350 de cupru de 1 Gbit și Intel X520-DA2 de 1 Gbit (obținut prin limitarea vitezei adaptorului). Performanță maximă, turbo boost este dezactivat (doar pentru comparabilitate a rezultatelor, turbo boost pentru rezultate bune adaugă puțin mai puțin de 10%, pentru rezultate proaste este posibil să nu aibă niciun efect). Versiunile 1C 8.2.19.86, 8.3.6.2076. Nu dau toate numerele, ci doar pe cele mai interesante, ca să ai cu ce să compari.

CIFS de 100 Mbit

Win 2008 - Win 2008

contact prin adresa ip

CIFS de 100 Mbit

Win 2008 - Win 2008

chemând pe nume

CIFS de 1 Gbit

Win 2008 - Win 2008

contact prin adresa ip

CIFS de 1 Gbit

Win 2008 - Win 2008

chemând pe nume

CIFS de 1 Gbit

Win 2008 - Win 7

chemând pe nume

CIFS de 1 Gbit

Win 2008 - Debian

chemând pe nume

CIFS de 10 Gbit

Win 2008 - Win 2008

contact prin adresa ip

CIFS de 10 Gbit

Win 2008 - Win 2008

chemând pe nume

11,20 26,18 15,20 43,86 40,65 37,04 16,23 44,64
1C 8.2 11,29 26,18 15,29 43,10 40,65 36,76 15,11 44,10
8.2.19.83 12,15 25,77 15,15 43,10 14,97 42,74
6,13 34,25 14,98 43,10 39,37 37,59 15,53 42,74
1C 8.3 6,61 33,33 15,58 43,86 40,00 37,88 16,23 42,74
8.3.6.2076 33,78 15,53 43,48 39,37 37,59 42,74

Concluzii (din tabel și din experiența personală. Se aplică numai pentru versiunea fișierului):

  • Prin intermediul rețelei, puteți obține numere destul de normale pentru lucru dacă această rețea este configurată corect și calea este introdusă corect în 1C. Chiar și primul Core i3 poate produce cu ușurință peste 40 de papagali, ceea ce este destul de bine, iar aceștia nu sunt doar papagali, în munca reală diferența este și ea vizibilă. Dar! Limitarea atunci când lucrați cu mai mulți (mai mult de 10) utilizatori nu va mai fi rețeaua, aici 1 Gbit este încă suficient, dar blocarea în timpul lucrului cu mai mulți utilizatori (Gilev).
  • platforma 1C 8.3 este de multe ori mai pretențioasă în ceea ce privește configurarea corectă a rețelei. Setări de bază - vezi Gilev, dar rețineți că totul poate fi influențat. Am văzut o accelerare de la dezinstalarea (și nu doar de la oprirea) antivirusului, de la eliminarea protocoalelor precum FCoE, de la schimbarea driverelor la o versiune mai veche, dar certificată Microsoft (în special pentru carduri ieftine precum ASUS și DLC), de la scoaterea celei de-a doua plăci de rețea. de pe server. Există o mulțime de opțiuni, configurați-vă rețeaua cu atenție. S-ar putea să existe o situație în care platforma 8.2 oferă numere acceptabile, iar 8.3 - de două sau chiar de mai multe ori mai puțin. Încercați să jucați cu versiunile platformei 8.3, uneori obțineți un efect foarte mare.
  • 1C 8.3.6.2076 (poate mai târziu, încă nu am căutat versiunea exactă) este încă mai ușor de configurat prin rețea decât 8.3.7.2008. Am reușit să obțin o funcționare normală în rețea din 8.3.7.2008 (la papagalii comparabili) doar de câteva ori nu am putut să o repet pentru un caz mai general. Nu am înțeles mare lucru, dar judecând după învelișurile pentru picioare de la Process Explorer, înregistrarea acolo nu este la fel de bună ca în 8.3.6.
  • În ciuda faptului că atunci când lucrezi pe o rețea de 100 Mbit, graficul său de încărcare este mic (putem spune că rețeaua este liberă), viteza de operare este totuși mult mai mică decât pe 1 Gbit. Motivul este latența rețelei.
  • Toate celelalte lucruri fiind egale (o rețea care funcționează bine) pentru 1C 8.2, conexiunea Intel-Realtek este cu 10% mai lentă decât Intel-Intel. Dar realtek-realtek poate da, în general, o tasare bruscă din senin. Prin urmare, dacă aveți bani, este mai bine să păstrați cardurile de rețea Intel peste tot dacă nu aveți bani, atunci instalați Intel doar pe server (CO); Și există de multe ori mai multe instrucțiuni pentru reglarea plăcilor de rețea Intel.
  • Setările implicite antivirus (folosind drweb versiunea 10 ca exemplu) ocupă aproximativ 8-10% din papagali. Dacă îl configurați așa cum trebuie (permiteți procesului 1cv8 să facă totul, deși nu este sigur), viteza este aceeași ca și fără un antivirus.
  • NU citiți guru Linux. Un server cu samba este grozav și gratuit, dar dacă instalați Win XP sau Win7 (sau chiar mai bine - server OS) pe server, atunci versiunea de fișier a 1c va funcționa mai repede. Da, samba și stiva de protocol și setările de rețea și multe, multe altele pot fi bine reglate în debian/ubuntu, dar acest lucru este recomandat specialiștilor. Nu are rost să instalezi Linux cu setările implicite și apoi să spui că este lent.
  • Este o idee destul de bună să verificați funcționarea discurilor conectate prin utilizarea rețelei folosind fio . Cel puțin va fi clar dacă acestea sunt probleme cu platforma 1C sau cu rețea/disc.
  • Pentru versiunea pentru un singur utilizator, nu mă pot gândi la teste (sau la o situație) în care diferența dintre 1 Gbit și 10 Gbit ar fi vizibilă. Singurul lucru în care 10 Gbit pentru versiunea de fișier a dat rezultate mai bune este conectarea discurilor prin iSCSI, dar acesta este un subiect pentru un articol separat. Totuși, cred că pentru versiunea de fișier cardurile de 1 Gbit sunt suficiente.
  • Nu înțeleg de ce, cu o rețea de 100 Mbit, 8.3 funcționează considerabil mai repede decât 8.2, dar a fost un fapt. Toate celelalte echipamente, toate celelalte setări sunt absolut aceleași, doar că într-un caz este testat 8.2, iar în celălalt - 8.3.
  • NFS neajustat win-win sau win-lin dă 6 papagali, nu i-am inclus în tabel. După tuning am primit 25, dar a fost instabil (diferența de măsurători a fost mai mare de 2 unități). Încă nu pot da recomandări despre utilizarea Windows și a protocolului NFS.
După toate setările și verificările, rulăm din nou testul de pe computerul client și ne bucurăm de rezultatul îmbunătățit (dacă funcționează). Dacă rezultatul s-a îmbunătățit, există mai mult de 30 de papagali (și mai ales mai mult de 40), mai puțin de 10 utilizatori lucrează în același timp, iar baza de date de lucru este încă lentă - aproape sigur o problemă de programator (sau ați ajuns deja capabilitățile de vârf ale versiunii fișierului).

Server terminal. (baza de date este pe server, clienții se conectează prin rețea, protocol RDP). Algoritmul pas cu pas:

  • Adăugăm baza de date de testare a lui Gilev la server în același folder cu bazele de date principale. Ne conectăm de pe același server și rulăm testul. Ne amintim rezultatul.
  • Exact la fel ca în versiunea de fișier, configuram procesorul. În cazul unui server terminal, procesorul joacă în general rolul principal (se presupune că nu există puncte slabe evidente, cum ar fi lipsa memoriei sau o cantitate imensă de software inutil).
  • Configurarea plăcilor de rețea în cazul unui server terminal nu are practic niciun efect asupra funcționării lui 1c. Pentru a asigura un confort „special”, dacă serverul tău produce mai mult de 50 de papagali, te poți juca cu versiuni noi ale protocolului RDP, doar pentru confortul utilizatorilor, răspuns mai rapid și derulare.
  • Când un număr mare de utilizatori lucrează activ (și aici puteți încerca deja să conectați 30 de persoane la o bază de date, dacă încercați), este foarte recomandabil să instalați o unitate SSD. Din anumite motive, se crede că discul nu afectează în mod deosebit funcționarea lui 1C, dar toate testele sunt efectuate cu cache-ul controlerului activat pentru scriere, ceea ce este incorect. Baza de testare este mică, se potrivește destul de bine în cache, de unde și numerele mari. Pe bazele de date reale (mari) totul va fi complet diferit, astfel încât memoria cache este dezactivată pentru teste.
De exemplu, am verificat funcționarea testului Gilev cu diferite opțiuni de disc. Am instalat discurile din ceea ce era la îndemână, doar pentru a arăta tendința. Diferența dintre 8.3.6.2076 și 8.3.7.2008 este mică (în versiunea Ramdisk Turbo boost 8.3.6 produce 56.18 și 8.3.7.2008 produce 55.56, la alte teste diferența este și mai mică). Consum de energie - performanță maximă, turbo boost dezactivat (dacă nu se specifică altfel).
Raid 10 4x SATA 7200

ATA ST31500341AS

Raid 10 4x SAS 10kRaid 10 4x SAS 15kUn singur SSDRamdiskRamdiskCache-ul activat

Controler RAID

21,74 28,09 32,47 49,02 50,51 53,76 49,02
1C 8.2 21,65 28,57 32,05 48,54 49,02 53,19
8.2.19.83 21,65 28,41 31,45 48,54 49,50 53,19
33,33 42,74 45,05 51,55 52,08 55,56 51,55
1C 8.3 33,46 42,02 45,05 51,02 52,08 54,95
8.3.7.2008 35,46 43,01 44,64 51,55 52,08 56,18
  • Cache-ul controlerului RAID activat elimină toate diferențele dintre discuri, numerele sunt aceleași atât pentru sat, cât și pentru cas. Testarea cu el pe o cantitate mică de date este inutilă și nu este indicativă de niciun fel.
  • Pentru platforma 8.2, diferența de performanță între opțiunile SATA și SSD este mai mult decât dublă. Aceasta nu este o greșeală de tipar. Dacă te uiți la monitorul de performanță în timpul testului pe unitățile SATA. apoi puteți vedea clar „Timp de funcționare a discului activ (în%)” 80-95. Da, dacă activați memoria cache a discurilor în sine pentru înregistrare, viteza va crește la 35, dacă activați memoria cache a controlerului raid - până la 49 (indiferent de ce discuri sunt testate în acest moment). Dar aceștia sunt papagali cache sintetici în munca reală, cu baze de date mari, nu va exista niciodată un raport de acces la cache de 100%.
  • Viteza chiar și a SSD-urilor ieftine (am testat pe Agility 3) este suficientă pentru a rula versiunea fișierului. Resursa de înregistrare este o altă problemă, trebuie să o priviți în fiecare caz specific, este clar că Intel 3700 o va avea cu un ordin de mărime mai mare, dar prețul este corespunzător. Și da, înțeleg că atunci când testez o unitate SSD, testez și cache-ul acestei unități într-o măsură mai mare, rezultatele reale vor fi mai mici.
  • Cea mai corectă soluție (din punctul meu de vedere) ar fi să alocați 2 discuri SSD într-un raid în oglindă pentru o bază de date de fișiere (sau mai multe baze de date de fișiere) și să nu plasați nimic altceva acolo. Da, cu o oglindă, SSD-urile se uzează la fel, iar acesta este un minus, dar cel puțin electronica controlerului este protejată cumva de erori.
  • Principalele avantaje ale unităților SSD pentru versiunea de fișiere vor apărea atunci când există multe baze de date, fiecare cu mai mulți utilizatori. Dacă există 1-2 baze de date și există aproximativ 10 utilizatori, atunci discuri SAS vor fi suficiente. (dar în orice caz, uită-te la încărcarea acestor discuri, cel puțin prin perfmon).
  • Principalele avantaje ale unui server terminal sunt că poate avea clienți foarte slabi, iar setările de rețea afectează mult mai puțin serverul terminal (din nou, K.O.).
Concluzii: dacă rulați testul Gilev pe un server terminal (de pe același disc unde se află bazele de date de lucru) și în acele momente când baza de date de lucru încetinește, iar testul Gilev arată un rezultat bun (peste 30), atunci funcționarea lentă a bazei de date principale de lucru este de vină cel mai probabil un programator.

Dacă testul Gilev arată numere mici și aveți un procesor cu ceas mare și discuri rapide, atunci administratorul trebuie să ia cel puțin perfmon, înregistrând toate rezultatele undeva și să urmărească, să observe și să tragă concluzii. Nu va exista un sfat definitiv.

Opțiune client-server.

Testele au fost efectuate doar pe 8.2, deoarece pe 8.3 totul depinde destul de serios de versiune.

Pentru testare, am ales diferite opțiuni de server și rețele între ele pentru a arăta principalele tendințe.

1C: Xeon 5520

SQL: Xeon E5-2630

1C: Xeon 5520

SQL: Xeon E5-2630

Fibre Channel - SSD

1C: Xeon 5520

SQL: Xeon E5-2630

Fibre Channel - SAS

1C: Xeon 5650

SQL: Xeon E5-2630

1C: Xeon 5650

SQL: Xeon E5-2630

Fibre Channel - SSD

1C: Xeon 5650

SQL: Xeon E5-2630

1C: Xeon 5650 =1C: Xeon 5650 =1C: Xeon 5650 =1C: Xeon 5650 =1C: Xeon 5650 =
16,78 18,23 16,84 28,57 27,78 32,05 34,72 36,50 23,26 40,65 39.37
1C 8.2 17,12 17,06 14,53 29,41 28,41 31,45 34,97 36,23 23,81 40,32 39.06
16,72 16,89 13,44 29,76 28,57 32,05 34,97 36,23 23,26 40,32 39.06

Se pare că am luat în considerare toate opțiunile interesante, dacă mai este ceva care vă interesează, scrieți în comentarii, voi încerca să o fac.

  • SAS pe sistemele de stocare este mai lent decât SSD-urile locale, chiar dacă sistemele de stocare au dimensiuni mai mari de cache. SSD-urile, atât locale, cât și pe sistemele de stocare, funcționează la viteze comparabile pentru testul lui Gilev. Nu cunosc niciun test standard cu mai multe fire (nu doar înregistrarea, ci toate echipamentele), cu excepția testului de încărcare 1C de la MCC.
  • Schimbarea serverului 1C de la 5520 la 5650 aproape a dublat performanța. Da, configurațiile serverului nu se potrivesc complet, dar arată o tendință (nicio surpriză).
  • Creșterea frecvenței pe serverul SQL dă cu siguranță un efect, dar nu același ca pe serverul 1C MS SQL este excelent (dacă o cereți) pentru a folosi multi-core și memorie liberă;
  • Schimbarea rețelei între 1C și SQL de la 1 Gbit la 10 Gbit dă aproximativ 10% papagali. ma asteptam la mai mult.
  • Activarea memoriei partajate dă în continuare un efect, deși nu de 15%, așa cum este descris în articol. Asigurați-vă că o faceți, din fericire, este rapid și ușor. Dacă în timpul instalării cineva a dat serverului SQL o instanță numită, atunci pentru ca 1C să funcționeze, numele serverului trebuie specificat nu prin FQDN (tcp/ip va funcționa), nu prin localhost sau doar ServerName, ci prin ServerNameInstanceName, de exemplu zz- testzztest. (În caz contrar, va apărea o eroare DBMS: Microsoft SQL Server Native Client 10.0: Furnizor de memorie partajată: Biblioteca de memorie partajată folosită pentru a stabili o conexiune cu SQL Server 2000 nu a fost găsită. HRESULT=80004005, HRESULT=80004005, HRESULT=80004Srvr, SQL Server 2005 : SQLSTATE=08001, stare=1, Severitate=10, nativ=126, linie=0).
  • Pentru utilizatorii sub 100, singurul punct în care îl împărțim în două servere separate este o licență Win 2008 Std (și mai veche), care acceptă doar 32 GB de RAM. În toate celelalte cazuri, 1C și SQL trebuie să fie instalate pe un singur server și să li se ofere mai multă memorie (cel puțin 64 GB). A oferi MS SQL mai puțin de 24-28 GB de RAM este o lăcomie nejustificată (dacă crezi că ai suficientă memorie și totul funcționează bine, poate că versiunea de fișier a 1C ar fi suficientă pentru tine?)
  • Cât de rău funcționează combinația dintre 1C și SQL într-o mașină virtuală este subiectul unui articol separat (hint - vizibil mai rău). Chiar și în Hyper-V totul nu este atât de clar...
  • Modul de performanță echilibrat este rău. Rezultatele sunt destul de conforme cu versiunea fișierului.
  • Multe surse spun că modul de depanare (ragent.exe -debug) determină o scădere semnificativă a performanței. Ei bine, se reduce, da, dar nu aș numi 2-3% un efect semnificativ.
Aici vor fi cele mai puține sfaturi pentru un caz anume, pentru că... Frânele în versiunea client-server de lucru sunt cel mai dificil caz și totul este configurat foarte individual. Cel mai simplu mod este să spuneți că pentru funcționarea normală trebuie să luați un server separat NUMAI pentru 1C și MS SQL, să puneți acolo procesoare cu frecvența maximă (peste 3 GHz), unități SSD pentru baza de date și mai multă memorie (128+) , nu utilizați virtualizarea. A ajutat - grozav, ești norocos (și vor fi mulți astfel de norocoși, mai mult de jumătate din probleme pot fi rezolvate cu un upgrade adecvat). Dacă nu, atunci orice alte opțiuni necesită luare în considerare și setări separate.

Articolul discută nuanțele instalării și configurării unui server terminal folosind protocolul RDP pentru lucrul cu baze de date 1c pe platforma 8.3 bazată pe distribuția Xubuntu 14.04, ținând cont de capacitățile celei mai recente versiuni a serverului xrdp și de operare în viața reală. experienţă.

Nu cu mult timp în urmă (la sfârșitul lunii decembrie 2016), a fost lansată următoarea versiune a serverului xrdp versiunea 0.9.1. În același timp, a fost lansată o versiune stabilă a unuia dintre „backend-urile” xrdp - xorgxrdp v 0.2.0. Vom folosi aceste versiuni mai târziu în timpul instalării.

O mică, dar importantă digresiune

Distribuțiile Linux conțin în principal o versiune învechită a serverului xrdp versiunea 0.6.x, care are erori care o împiedică să funcționeze normal cu 1c (de exemplu, clipboard-ul cu caractere rusești nu funcționează corect).

Practic, când luăm în considerare instalarea unui server terminal bazat pe protocolul rdp pe Linux, luăm în considerare opțiunile de instalare a unui server xrdp cu un ansamblu backend X11Rdp folosind scripturi speciale, de exemplu, X11RDP-o-Matic (pentru ubuntu) - pe Habré, pe infostart.

Utilizarea backend-ului X11Rdp are mai multe dezavantaje:

  • Timp de construcție destul de lung
  • Este dificil să rezolvi problema cu schimbarea limbilor. După reconectarea la sesiune, este posibil ca schimbarea limbii să nu mai funcționeze. Autorul a înregistrat problema pe site-ul dezvoltatorilor - o soluție garantată a fost găsită de autor doar pentru backend-ul xorgxrdp prin editarea codului sursă (această metodă este folosită mai târziu în articol)
  • Este posibil ca viteza de redare să nu fie suficient de rapidă pentru o experiență confortabilă a utilizatorului
Utilizarea backend-ului xorgxrdp vă permite să evitați aceste probleme.

Acest articol discută despre instalarea versiunii 14.04 LTS pe Xubuntu, mai degrabă decât a versiunii mai recente 16.04 LTS, din cauza degradării performanței la desenarea ecranului de la distanță. Există o problemă raportată cu privire la această situație. Dezactivarea compozitorului în setări a ajutat pe cineva, dar autorul articolului nu a reușit să atingă aceeași viteză de desen ca pe Xubuntu 14.04.

Pentru instalare folosim versiunea pe 32 de biți a sistemului de operare Xubuntu 14.04. Link către imagine.

Sistemul poate fi instalat fie pe o gazdă, fie într-un mediu virtual. De obicei, prefer ca serverele de producție să fie instalate pe el.

La partiționarea discurilor, am folosit o schemă clasică (nu LVM), sistemul de fișiere ext4. Există 3 discuri de dimensiune fixă ​​conectate la mașina virtuală:

  • 22 GB: 18 GB punct de montare /, restul pentru schimb
  • 5 GB: punct de montare /var
  • 5 GB: punct de montare /tmp
Această împărțire este preferința autorului, ținând cont de ușurința în utilizare. În orice caz, atunci când planificați spațiul pe disc, este necesar să țineți cont de posibila încărcare a sistemului de fișiere. Când utilizați baze de date de fișiere, este recomandabil să utilizați unități SSD.

Serverul trebuie setat la o adresă IP statică.

Pentru a facilita introducerea comenzilor pentru instalarea ulterioară, trebuie să instalați serverul OpenSSH:

Sudo apt-get install openssh-server sudo restart ssh
Cu firewall-ul activat, deschideți portul 22:

Firewall-cmd --add-port 22/tcp --permanent firewall-cmd --reload

Instalarea și configurarea serverului xrdp cu backend xorgxrdp

Pe site-ul dezvoltatorilor există instrucțiuni de instalare pe Debian 8, îl folosim ca bază.

Instalați dependențele necesare:

Sudo apt-get install git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-devmlfus2 g++ libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev git
Creați un director pentru descărcarea distribuțiilor:

Mkdir -p ~/xrdp-xorg cd ~/xrdp-xorg BD=`pwd` cd "$(BD)"
Clonăm cea mai recentă versiune xrdp actuală din depozit și o compilăm cu codecul rfxcodec:

Clona Git git://github.com/neutrinolabs/xrdp cd xrdp git submodule init git submodule update cd librfxcodec ./bootstrap ./configure make cd .. ./bootstrap ./configure --enable-fuse --enable-rfxcodec - -disable-ipv6 make
Instalați xrdp pe sistem:

Sudo make install sudo ln -s /usr/local/sbin/xrdp(,-sesman) /usr/sbin sudo update-rc.d xrdp defaults
Descărcați distribuția backend xorg-xrdp:

// Creați și instalați xorgxrdp wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.tar.gz cd "$(BD)" tar xvfz xorgxrdp-0.2.0 .tar.gz cd „$(BD)”/xorgxrdp-0.2.0
Am stabilit o regulă strictă pentru comutarea layout-urilor din rusă în engleză folosind combinația de taste Ctrl+Shift pentru a rezolva problema comutării layout-urilor. Corectitudinea este verificată prin crearea unei sesiuni - prima verificare, deconectare, conectare din nou la aceeași sesiune - verificați din nou.

În terminal atribuim valorile variabilelor temporare:

Kb_model="pc105" kb_layout="us,ru" kb_options="grp:ctrl_shift_toggle"
Înlocuim codul din fișierul sursă:

Sed -ri.bak "s/(set.model)[^;]+/\1 = \"$kb_model\"/;s/(set.layout)[^;]+/\1 = \"$kb_layout \"/;s/(set.options)[^;]+/\1 = \"$kb_options\"/" xrdpkeyb/rdpKeyboard.c
Compilăm și instalăm backend-ul xorg-xrdp pe sistem:

./bootstrap ./configure make sudo make install
Este recomandabil să schimbați blocurile și în fișierul /etc/xrdp/xrdp.ini, astfel încât utilizatorul să aibă backend-ul corect în mod implicit. Când vă conectați la server, trebuie să selectați Xorg în lista de sesiuni.

Dacă trebuie să schimbați portul implicit de la 3389 la altul, editați fișierul /etc/xrdp/xrdp.ini: în secțiunea modificați valoarea variabilei port=3389 la cea necesară.

Cu firewall-ul activat, deschideți portul 3389 (sau cel la care a fost schimbat cel standard):

Firewall-cmd --add-port 3389/tcp --permanent firewall-cmd --reload
După setări, reporniți serviciul

Repornirea serviciului xrdp
Acum vă puteți conecta la server printr-un client standard cu Windows sau cu Linux cu orice client care acceptă protocolul rdp.

Atenţie: înainte de a vă conecta, trebuie să vă asigurați că aspectul tastaturii de pe computerul client este setat la engleză, altfel nu veți putea introduce numele de utilizator și parola în fereastra de selectare a sesiunii de server xrdp.

După instalare, este indicat să verificați dacă clipboard-ul cu caractere chirilice funcționează normal în ambele direcții. De asemenea, vă puteți asigura că copierea fișierelor prin clipboard cu caractere rusești funcționează (acestea sunt câteva dintre principalele probleme care au fost rezolvate în cele mai recente versiuni ale serverului xrdp și care au împiedicat anterior ca serverul de terminal bazat pe xrdp să fie utilizat în mod normal în un mediu de lucru).

Instalarea clientului 1C: Enterprise versiunea 8.3.9

Datorită faptului că în cele mai recente versiuni ale platformei, compania 1c a adus clientul nativ pentru sistemul de operare Linux într-o stare cu care poți lucra mai mult sau mai puțin confortabil, îl vom folosi în loc să încercăm să instalăm vin, dar deasupra clientului pentru sistemul de operare Windows.

Instalăm componente suplimentare necesare pentru funcționarea corectă:

Sudo apt-get install libgsf-1-114 sudo apt-get install ttf-mscorefonts-installer sudo apt-get install imagemagick
Descărcați distribuția client și server într-un folder de pe site-ul web 1c:

Sudo dpkg -i *.deb sudo apt-get -f install
Deoarece componentele serverului 1c erau necesare doar pentru a satisface dependențe, dezactivăm serviciul:

Sudo update-rc.d srv1cv83 dezactivat
Dacă se folosește o cheie hasp de rețea, atunci vom introduce parametrii de căutare:

Sudo mkdir /opt/1C/v8.3/i386/conf sudo su echo >/opt/1C/v8.3/i386/conf/nethasp.ini echo NH_TCPIP = Enabled>>/opt/1C/v8.3/i386 /conf/nethasp.ini echo >>/opt/1C/v8.3/i386/conf/nethasp.ini echo NH_SERVER_ADDR = 192.168.0.100>>/opt/1C/v8.3/i386/conf/nethasp.ini echo NH_TCPIP_METHOD = UDP>>/opt/1C/v8.3/i386/conf/nethasp.ini
Dacă se utilizează licențe software, acestea trebuie activate prin intermediul configuratorului (acest lucru se poate face pe o bază de date de fișiere goală).

Configurare corectă cu fișiere temporare create de platforma 1C

În timpul lucrului, am întâmpinat o problemă atunci când procesarea externă a completării părții tabelare funcționează pentru un utilizator, dar nu pentru altul - este emis un mesaj despre încălcarea drepturilor de acces. Problema este că platforma 1C creează un fișier temporar /tmp/PrnForm.tmp, adică. Calea către fișier este aceeași pentru diferiți utilizatori. În consecință, primul utilizator care a folosit prelucrarea a creat implicit un fișier în folderul temporar la care doar el are acces să-l modifice. Un alt utilizator nu mai poate suprascrie fișierul.

Soluția este să configurați corect umask la nivel de sistem, să atribuiți utilizatori aceluiași grup și, de asemenea, să configurați corect drepturile pentru folderul temporar /tmp.

Editarea măștii la nivel de sistem. Editarea fișierului:

/etc/login.defs
în ea schimbăm valoarea în:

Umask 002
Toți utilizatorii terminalului îi atribuim grupului de utilizatori (dacă nu au fost alocați anterior, pot fi alocați unui alt grup).

Modificarea permisiunilor pentru folderul tmp

Chown -R root: Utilizatori /tmp chmod g+s /tmp
Dacă utilizați un schimb cu site-ul web Bitrix, atunci trebuie făcute setări similare pentru folderul /var/log/bitrix.

O soluție la o problemă similară în legătură cu 1C este descrisă în articol.

Rezolvarea problemei cu imposibilitatea de a descărca declarații din bazele de date ZUP 2.5 și Bukh 2.0

Există o caracteristică neplăcută care îi poate împiedica pe contabilii de pe clientul 1C pentru Linux să descarce declarații din baza de date de salarizare și din departamentul de contabilitate - după ce selectează un fișier și încearcă să îl descarce, un mesaj de genul „Fără acces la directorul [Numele directorului]” va apărea fi afisat. Verificați dacă numele directorului de încărcare este corect!

Actualizare 31.03.2017

Colegii, vă rugăm să rețineți că ieri dezvoltatorii xrdp au lansat o nouă versiune a xrdp 0.9.2 și xrdxrdp 0.2.1.
Pe baza notelor de lansare, codecul RemoteFX este acum acceptat implicit, așa că, teoretic, nu este nevoie să îl construiți separat, așa cum am indicat în articol. De asemenea, backend-ul xorgxrdp este acum utilizat implicit. Puțin mai târziu, voi verifica cum merge instalarea acum și voi face modificări articolului.

Etichete:

  • 1s
  • nix
  • ubuntu
Adăugați etichete

Cele mai bune articole pe această temă