1s 8 funziona lentamente sulla rete. Suggerimenti per l'automazione

Molto spesso le persone vengono da me con domande del tipo:

  • Perché il server 1C rallenta?
  • Il computer 1C è molto lento
  • Il client 1C è terribilmente lento

Cosa fare e come superarlo, e così via in ordine:

I client funzionano molto lentamente con la versione server di 1C

Tranne lavoro lento 1C, c'è anche un lavoro lento con i file di rete. Il problema si verifica durante il normale funzionamento e con RDP

per risolvere questo, dopo ogni installazione di Seven o del server 2008, avvio sempre

netsh int tcp imposta l'autotuning globale=disabilitato

netsh int tcp imposta global autotuninglevel=disabilitato

netsh int tcp set globale rss=disabilitato camino=disabilitato

e la rete funziona senza problemi

a volte l'opzione migliore è:

netsh interfaccia tcp set global autotuning= HighlyRestricted

ecco come appare l'installazione

Configura l'antivirus o il firewall di Windows

Come configurare un antivirus o un firewall Windows per l'esecuzione di un server 1C (una combinazione di server 1C: Enterprise e MS SQL 2008, ad esempio).

Aggiungi regole:

  • Se il server SQL accetta connessioni sulla porta TCP standard 1433, lo consentiamo.
  • Se la porta SQL è dinamica, è necessario consentire le connessioni all'applicazione %Programmi%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.
  • Il server 1C viene eseguito sulle porte 1541, cluster 1540 e intervallo 1560-1591. Per ragioni del tutto mistiche, a volte un simile elenco di porte aperte non consente ancora la connessione al server. Per assicurarti che funzioni, consenti l'intervallo 1540-1591.

Ottimizzazione delle prestazioni del server/computer

Affinché il tuo computer funzioni alle massime prestazioni, devi configurarlo per questo:

1. Impostazioni del BIOS

  • Nel BIOS del server, disabilitiamo tutte le impostazioni per risparmiare la potenza del processore.
  • Se c'è "C1E" assicurati di SCOLLEGARTI!!
  • Per alcune attività non molto parallele, si consiglia inoltre di disattivare l'hypertrading nel BIOS
  • In alcuni casi (soprattutto per HP!) è necessario accedere al BIOS del server e disattivare gli elementi che contengono EIST, Intel SpeedStep e C1E nei nomi.
  • Invece, devi trovare lì gli elementi relativi al processore che hanno Turbo Boost nei loro nomi e ABILITARLI.
  • Se nel BIOS è presente un'indicazione generale di una modalità di risparmio energetico e includerla nella modalità di massime prestazioni (può anche essere chiamata "aggressiva")

2. Impostazioni dello schema nel sistema operativo - Prestazioni elevate

I server con architettura Intel Sandy Bridge possono modificare dinamicamente le frequenze del processore.

Tutti coloro che lavorano con prodotti sulla piattaforma 1C:Enterprise hanno probabilmente sentito la frase "1C è lento". Alcune persone se ne sono lamentate, altre hanno accettato le denunce. In questo articolo proveremo a esaminare le cause più comuni di questo problema e le opzioni per risolverlo.

Passiamo a una metafora: prima di scoprire perché una persona non è venuta da qualche parte, dovresti assicurarti che abbia le gambe per camminare. Cominciamo quindi con i requisiti hardware e di rete.

Se è installato Windows 7:

Se hai installato Windows 8 o 10:



Ricordatelo anche spazio libero Il disco deve avere almeno 2 GB e la connessione di rete deve avere una velocità di almeno 100 Mb/sec.

Considera le caratteristiche dei server nella versione client-server Ha molto senso no, perché in questo caso tutto dipende dal numero di utenti e dalle specificità dei compiti che risolvono in 1C.

Quando si sceglie una configurazione del server, tenere presente quanto segue:

  • Un processo di lavoro del server 1C consuma in media 4 GB (da non confondere con una connessione utente, poiché un processo di lavoro può avere tutte le connessioni specificate nelle impostazioni del server);
  • L'utilizzo di 1C e di un DBMS (in particolare MS SQL) su un server fisico offre vantaggi durante l'elaborazione di grandi quantità di dati (ad esempio, chiusura di un mese, calcolo di un budget in base a un modello, ecc.), ma riduce significativamente le prestazioni durante le operazioni non caricate ( ad esempio, creazione e realizzazione di documenti di attuazione, ecc.);
  • Ricordiamo che i server 1C e il DBMS devono essere collegati su un canale “spesso” di 1 GB;
  • Utilizzare dischi ad alte prestazioni e non combinare i ruoli del server 1C e DBMS con altri ruoli (ad esempio file, AD, controller di dominio e così via).

Se dopo aver controllato l'apparecchiatura 1C rallenta ancora

Abbiamo una piccola azienda, 7 persone e 1C è lento. Abbiamo contattato gli specialisti e hanno detto che solo l'opzione client-server ci avrebbe salvato. Ma per noi una soluzione del genere non è accettabile, è troppo costosa!

Effettuare la manutenzione ordinaria del database*:

1. Avvia il database in modalità configuratore.


2. Seleziona “Amministrazione” nel menu principale e in esso – “Test e correzione”.


3. Seleziona tutte le caselle come nell'immagine. Fare clic su Esegui.

*Questa procedura può richiedere da 15 minuti a un'ora a seconda delle dimensioni del database e delle caratteristiche del vostro PC.

Se questo non aiuta, creiamo una connessione client-server, ma senza investimenti aggiuntivi in ​​​​hardware e software:

1. Seleziona il computer desktop meno carico dell'ufficio (non un notebook): deve avere almeno 4 GB memoria ad accesso casuale e una connessione di rete di almeno 100 Mb/s.

2. Attiva IIS (Internet Information Server) su di esso. Per questo:





3. Pubblica il tuo database su questo computer. È disponibile materiale su questo argomento su ITS oppure contatta uno specialista del supporto.

4. Sui computer degli utenti, configurare l'accesso al database tramite un thin client. Per questo:


Apri la finestra di lancio di 1C.


Seleziona la tua base di lavoro. Eccola “La tua Base”. Fare clic su "Modifica". Impostare l'interruttore sulla posizione "Su un server web", indicare nella riga sottostante il nome o l'indirizzo IP del server su cui è stato attivato IIS e il nome con cui è stato pubblicato il database. Fare clic su "Avanti".


Impostare l'interruttore "Modalità di avvio di base" sulla modalità "Thin Client". Fare clic su "Fine".

Abbiamo un'azienda piuttosto grande, ma non molto grande, circa 50-60 persone. Usiamo l'opzione client-server, ma 1C è terribilmente lenta.

In questo caso, si consiglia di dividere il server 1C e il server DBMS in due server diversi. Durante la separazione, assicurati di ricordare: se sono rimasti sullo stesso server fisico, che è stato semplicemente virtualizzato, i dischi di questi server devono essere diversi, fisicamente diversi! Inoltre, assicurati di impostare attività di routine sul server DBMS quando si tratta di MS SQL (ulteriori dettagli a riguardo sono descritti sul sito Web ITS)

Abbiamo un'azienda piuttosto grande, più di 100 utenti. Tutto è configurato in conformità con le raccomandazioni 1C per questa opzione, ma durante l'elaborazione di alcuni documenti 1C è molto lenta e talvolta si verifica un errore di blocco. Magari fare un rollup di base?

Una situazione simile si verifica a causa delle dimensioni di un accumulo o di un registro contabile molto specifico (ma più spesso - accumulo), a causa del fatto che il registro "si chiude" del tutto, ad es. ci sono movimenti in entrata, ma non movimenti di flusso, oppure il numero di dimensioni in base alle quali vengono calcolati i saldi dei registri è molto ampio. Potrebbe anche esserci un mix dei due motivi precedenti. Come determinare quale registro sta rovinando tutto?

Registriamo l'ora in cui i documenti vengono elaborati lentamente oppure l'ora e l'utente che presenta un errore di blocco.

Apri il registro di registrazione.



Troviamo il documento di cui abbiamo bisogno, al momento giusto, per l'utente giusto con il tipo di evento “Data.Post”.



Esaminiamo l'intero blocco di esecuzione fino all'annullamento della transazione se si è verificato un errore di blocco, oppure cerchiamo la modifica più lunga (il tempo dal record precedente è superiore a un minuto).

Successivamente prendiamo una decisione, tenendo presente che la chiusura di questo particolare registro è comunque più economica dell'intero database.

Siamo un'azienda molto grande, più di 1000 utenti, migliaia di documenti al giorno, il nostro reparto IT, un'enorme flotta di server, abbiamo ottimizzato le query più volte, ma 1C è lento. Apparentemente abbiamo superato 1C e abbiamo bisogno di qualcosa di più potente.

Nella stragrande maggioranza di questi casi, non è 1C a rallentare, ma l’architettura della soluzione utilizzata. Fare una scelta a favore nuovo programma per le aziende, ricorda che scrivere i tuoi processi aziendali in un programma è più economico e più semplice che convertirli in alcuni, soprattutto in un programma molto costoso. Solo 1C offre questa opportunità. Pertanto, è meglio porre la domanda: “Come risolvere la situazione? Come si può far “volare” l’1C a tali volumi?” Diamo un'occhiata brevemente a diverse opzioni di trattamento:

  • Utilizza le tecnologie di programmazione parallela e asincrona supportate da 1C (lavori in background e query in un ciclo).
  • Quando si progetta l'architettura della soluzione, evitare di utilizzare registri di accumulo e registri contabili nelle aree con maggiori colli di bottiglia.
  • Quando si sviluppa una struttura dati (registri di accumulo e/o informazioni), rispettare la regola: "La tabella più veloce per scrivere e leggere è una tabella con una colonna". Riguardo a cosa stiamo parlando, diventerà più chiaro se guardi il tipico meccanismo RAUZ.
  • Per elaborare grandi volumi di dati, utilizzare cluster ausiliari a cui è connesso lo stesso database (ma in nessun caso ciò dovrebbe essere fatto durante il lavoro interattivo!!!). Ciò ti consentirà di aggirare i blocchi 1C standard, il che consentirà di lavorare con il database quasi alla stessa velocità di quando si lavora direttamente con gli strumenti SQL.

Vale la pena notare che l'ottimizzazione 1C per le holding e le grandi aziende è un argomento a parte ottimo articolo, quindi rimanete sintonizzati per i materiali aggiornati sul nostro sito web.

Lo scopo principale di scrivere questo articolo è evitare di ripetere sfumature ovvie per quegli amministratori (e programmatori) che non hanno ancora acquisito esperienza con 1C.

L'obiettivo secondario è che, se ho qualche difetto, Infostart sarà il più veloce a segnalarmelo.

Il test di V. Gilev è già diventato una sorta di standard “de facto”. L'autore sul suo sito web ha fornito raccomandazioni abbastanza chiare, ma presenterò semplicemente alcuni risultati e commenterò gli errori più probabili. Naturalmente, i risultati dei test sulla vostra attrezzatura potrebbero differire; questa è solo una guida su cosa dovrebbe essere e a cosa puoi aspirare. Vorrei sottolineare subito che le modifiche devono essere apportate passo dopo passo e, dopo ogni passaggio, verificare quale risultato ha dato.

Ci sono articoli simili su Infostart, li metterò dei link nelle sezioni pertinenti (se mi manca qualcosa, suggeritemelo nei commenti, lo aggiungerò). Quindi, supponiamo che il tuo 1C sia lento. Come diagnosticare il problema e come capire di chi è la colpa, dell'amministratore o del programmatore?

Dati iniziali:

Computer testato, cavia principale: HP DL180G6, equipaggiato con 2*Xeon 5650, 32 Gb, Intel 362i, Win 2008 r2. Per confronto, il Core i3-2100 mostra risultati comparabili nel test single-thread. L'attrezzatura che ho scelto deliberatamente non era delle più nuove; con le attrezzature moderne i risultati sono notevolmente migliori.

Per testare server 1C e SQL separati, server SQL: IBM System 3650 x4, 2*Xeon E5-2630, 32 Gb, Intel 350, Win 2008 r2.

Per testare una rete da 10 Gbit sono stati utilizzati adattatori Intel 520-DA2.

Versione del file. (il database è sul server in una cartella condivisa, i client si connettono tramite la rete, protocollo CIFS/SMB). Algoritmo passo dopo passo:

0. Aggiungi il database di test di Gilev al file server nella stessa cartella dei database principali. Ci colleghiamo dal computer client ed eseguiamo il test. Ricordiamo il risultato.

Resta inteso che anche per i vecchi computer di 10 anni fa (Pentium su socket 775 ) il tempo che intercorre tra il clic sul collegamento 1C:Enterprise e la visualizzazione della finestra del database dovrebbe essere inferiore a un minuto. ( Celeron = lento).

Se hai un computer peggiore di un Pentium presa 775 con 1 GB di RAM, allora sono solidale con te e sarà difficile per te ottenere un lavoro confortevole su 1C 8.2 nella versione file. Pensa all'aggiornamento (è giunto il momento) o al passaggio a un server terminale (o web, nel caso di thin client e moduli gestiti).

Se il computer non è peggio, puoi cacciare l'amministratore. Come minimo, controllare il funzionamento della rete, dell'antivirus e del driver di protezione HASP.

Se il test di Gilev in questa fase ha mostrato 30 "pappagalli" o più, ma la base di lavoro 1C funziona ancora lentamente, le domande dovrebbero essere rivolte al programmatore.

1. Come guida su quanto un computer client può "spremere", controlliamo il funzionamento solo di questo computer, senza rete. Installiamo il database di test su un computer locale (su un disco molto veloce). Se il computer client non dispone di un normale SSD, viene creato un ramdisk. Per ora, il più semplice e gratuito è Ramdisk enterprise.

Per testare la versione 8.2 è sufficiente un ramdisk da 256 MB, e! Il più importante. Dopo aver riavviato il computer, con il ramdisk in esecuzione, dovrebbero esserci 100-200 MB liberi su di esso. Di conseguenza, senza ramdisk, per il normale funzionamento dovrebbero esserci 300-400 MB di memoria libera.

Per testare la versione 8.3 è sufficiente un ramdisk da 256 MB, ma è necessaria più RAM libera.

Durante il test, è necessario esaminare il carico del processore. In un caso vicino all'ideale (ramdisk), il file locale 1c carica 1 core del processore durante l'esecuzione. Di conseguenza, se durante il test il core del processore non è completamente carico, cerca i punti deboli. Viene descritta un po 'emotiva, ma generalmente corretta, l'influenza del processore sul funzionamento di 1C. Solo per riferimento, anche sui moderni Core i3 con alta frequenza i numeri 70-80 sono abbastanza realistici.

Gli errori più comuni in questa fase.

a) Antivirus configurato in modo errato. Esistono molti antivirus, le impostazioni per ciascuno sono diverse, dirò solo che con una corretta configurazione né il web né Kaspersky 1C interferiscono. Con le impostazioni predefinite si possono portare via circa 3-5 pappagalli (10-15%).

b) Modalità di prestazione. Per qualche ragione, poche persone prestano attenzione a questo, ma l'effetto è il più significativo. Se hai bisogno di velocità, devi farlo, sia sui computer client che su quelli server. ( Buona descrizione da Gilev. L'unico avvertimento è che su alcune schede madri, se si disattiva Intel SpeedStep, non è possibile attivare TurboBoost).

In breve, mentre 1C è in esecuzione, c'è molta attesa per una risposta da altri dispositivi (disco, rete, ecc.). Durante l'attesa di una risposta, se la modalità performance è abilitata, il processore abbassa la sua frequenza. Una risposta arriva dal dispositivo, 1C (il processore) deve funzionare, ma i primi cicli di clock hanno una frequenza ridotta, quindi la frequenza aumenta e 1C attende nuovamente una risposta dal dispositivo. E così - molte centinaia di volte al secondo.

Puoi (e preferibilmente) abilitare la modalità performance in due posti:

Tramite BIOS. Disabilita le modalità C1, C1E, Intel C-state (C2, C3, C4). In diverse biografie vengono chiamati diversamente, ma il significato è lo stesso. La ricerca richiede molto tempo, è necessario un riavvio, ma se lo fai una volta, puoi dimenticarlo. Se fai tutto correttamente nel BIOS, la velocità aumenterà. Su alcune schede madri è possibile utilizzare le impostazioni del BIOS in modo che la modalità Prestazioni di Windows non avrà un ruolo. (Esempi di impostazioni del BIOS di Gilev). Queste impostazioni riguardano principalmente processori server o BIOS “avanzati”, se non hai trovato questo e NON hai Xeon, va bene.

Pannello di controllo - Alimentazione - Alte prestazioni. Meno: se il computer non viene sottoposto a manutenzione per un lungo periodo, emetterà un rumore della ventola più forte, si scalderà di più e consumerà più energia. Questa è una commissione di performance.

Come verificare che la modalità sia abilitata. Avvia il task manager - prestazioni - monitor risorse - CPU. Aspettiamo finché il processore non è occupato con nulla.

Queste sono le impostazioni predefinite.

Nello stato C del BIOS incluso,

modalità di consumo energetico bilanciato


Nello stato C del BIOS incluso, modalità ad alte prestazioni

Per Pentium e Core puoi fermarti qui,

Puoi ancora spremere dei piccoli "pappagalli" da Xeon


Nello stato C del BIOS spento, modalità ad alte prestazioni.

Se non usi Turbo boost, ecco come dovrebbe apparire

server ottimizzato per le prestazioni


E ora i numeri. Lascia che te lo ricordi: Intel Xeon 5650, ramdisk. Nel primo caso, il test mostra 23.26, nell'ultimo - 49.5. La differenza è quasi duplice. I numeri possono variare, ma il rapporto rimane essenzialmente lo stesso per Intel Core.

Cari amministratori, potete criticare 1C quanto volete, ma se gli utenti finali hanno bisogno di velocità, è necessario abilitare la modalità ad alte prestazioni.

c) Turbo Boost. Per prima cosa devi capire se il tuo processore supporta questa funzione, ad esempio. Se supporta, puoi comunque ottenere legalmente alcune prestazioni. (Non voglio toccare i problemi dell'overclocking della frequenza, in particolare dei server, fallo a tuo rischio e pericolo. Ma sono d'accordo che l'aumento della velocità del bus da 133 a 166 dà un aumento molto notevole sia della velocità che della dissipazione del calore)

Come attivare il turbo boost è scritto, ad esempio, . Ma! Per 1C ci sono alcune sfumature (non le più evidenti). La difficoltà è che l'effetto massimo del turbo boost si verifica quando lo stato C è attivato. E otteniamo qualcosa del genere:

Tieni presente che il moltiplicatore è il massimo, la velocità del core è ottima e le prestazioni sono elevate. Ma cosa accadrà di conseguenza con 1s?

Fattore

Velocità core (frequenza), GHz

Thread singolo CPU-Z

Prova del Ramdisk Gilev

versione del file

Prova del Ramdisk Gilev

client-server

Senza turbo boost

Stato C disattivato, Turbo boost

53.19

40,32

Stato C attivo, Turbo boost

1080

53,13

23,04

Ma alla fine si scopre che secondo i test sulle prestazioni della CPU la versione con un moltiplicatore di 23 è in vantaggio, secondo i test di Gilev nella versione del file le prestazioni con un moltiplicatore di 22 e 23 sono le stesse, ma nella versione client-server versione - la versione con un moltiplicatore di 23 è terribile terribile terribile (anche se C-state è impostato al livello 7, è comunque più lento che con C-state disattivato). Pertanto, la raccomandazione è di verificare personalmente entrambe le opzioni e scegliere quella migliore. In ogni caso, la differenza tra 49,5 e 53 pappagalli è piuttosto significativa, soprattutto senza troppi sforzi.

Conclusione: il turbo boost deve essere attivato. Lascia che ti ricordi che non è sufficiente abilitare la voce Turbo boost nel BIOS, devi anche guardare altre impostazioni (BIOS: QPI L0s, L1 - disabilita, demand scrubbing - disabilita, Intel SpeedStep - abilita, Turbo boost - abilitare Pannello di controllo - Opzioni risparmio energia - Prestazioni elevate). E sceglierei comunque (anche per la versione del file) l'opzione in cui c-state è disattivato, anche se il moltiplicatore è più piccolo. Verrà fuori qualcosa del genere...

Un punto piuttosto controverso è la frequenza della memoria. Ad esempio, è stato dimostrato che la frequenza della memoria ha un'influenza molto forte. I miei test non hanno rivelato tale dipendenza. Non confronterò DDR 2/3/4, mostrerò i risultati della modifica della frequenza all'interno della stessa riga. La memoria è la stessa, ma nel BIOS siamo costretti ad impostare frequenze più basse.




E i risultati dei test. 1C 8.2.19.83, per la versione file ramdisk locale, per client-server 1C e SQL su un computer, memoria condivisa. Il turbo boost è disabilitato in entrambe le versioni. 8.3 mostra risultati comparabili.

La differenza rientra nell'errore di misurazione. Ho appositamente estratto screenshot di CPU-Z per mostrare che con un cambiamento di frequenza cambiano anche altri parametri, la stessa latenza CAS e il ritardo da RAS a CAS, che neutralizza il cambiamento di frequenza. La differenza si farà quando i moduli di memoria verranno cambiati fisicamente, da più lenti a più veloci, ma anche lì i numeri non sono particolarmente significativi.

2. Dopo aver sistemato il processore e la memoria del computer client, passiamo al successivo luogo molto importante: la rete. Sono stati scritti molti volumi di libri sull'ottimizzazione della rete, ci sono articoli su Infostart (e altri), ma qui non mi concentrerò su questo argomento. Prima di iniziare a testare 1C, assicurati che iperf tra due computer mostri l'intera larghezza di banda (per schede da 1 Gbit - beh, almeno 850 Mbit, o meglio ancora 950-980), che il consiglio di Gilev sia stato seguito. Quindi, il test di funzionamento più semplice sarà, stranamente, la copia di un file di grandi dimensioni (5-10 gigabyte) sulla rete. Sarà un segno indiretto del normale funzionamento su una rete da 1 Gbit velocità media copiando 100 MB/sec, buon lavoro - 120 MB/sec. Vorrei attirare la vostra attenzione sul fatto che il punto debole (incluso) potrebbe essere il carico del processore. PMI Il protocollo su Linux è piuttosto scarsamente parallelizzato e durante il funzionamento può facilmente "consumare" un core del processore e non consumarne altro.

E inoltre. Con impostazioni predefinite client Windows funziona meglio con un server Windows (o anche una workstation Windows) e il protocollo SMB/CIFS, un client Linux (debian, Ubuntu non hanno esaminato gli altri) funziona meglio con Linux e NFS (funziona anche con SMB, ma NFS è superiore). Il fatto che durante la copia lineare un server Windows Linux su NFS venga copiato più velocemente in un flusso non significa nulla. L'ottimizzazione di Debian per 1C è un argomento per un articolo a parte, non sono ancora pronto, anche se posso dire che nella versione file ho ottenuto prestazioni anche leggermente migliori rispetto alla versione Win sulla stessa attrezzatura, ma con postgres con oltre 50 utenti ho ancora tutto pessimo.

Il più importante , che gli amministratori "bruciati" conoscono, ma i principianti non tengono conto. Esistono molti modi per impostare il percorso del database 1c. Puoi fare \\server\share, puoi fare \\192.168.0.1\share, puoi net use z: \\192.168.0.1\share (e in alcuni casi anche questo metodo funzionerà, ma non sempre) e poi specificare l'unità Z Sembra che tutti questi percorsi puntino allo stesso posto, ma per 1C esiste solo un modo che fornisce prestazioni normali in modo abbastanza affidabile. Quindi, questo è ciò che devi fare correttamente:

IN riga di comando(o nelle policy o come preferisci) - utilizza Net Use DriveLetter: \\server\share. Esempio: uso netto m: \\server\bases. Sottolineo specificamente NON l'indirizzo IP, vale a dire Nome server. Se il nome del server non è visibile, aggiungilo al DNS sul server o localmente al file host. Ma l'indirizzo deve essere per nome. Di conseguenza, sulla strada per il database, accedi a questo disco (vedi immagine).

E ora mostrerò con i numeri perché questo è il consiglio. Dati iniziali: schede Intel X520-DA2, Intel 362, Intel 350, Realtek 8169 OS Win 2008 R2, Win 7, Debian 8. Driver più recenti, aggiornamenti applicati. Prima del test mi sono assicurato che Iperf fornisse l'intera larghezza di banda (a parte le schede da 10 Gbit, è riuscito a spremere solo 7,2 Gbit, vedrò dopo perché, server di prova non ancora configurato correttamente). I dischi sono diversi, ma ovunque c'è un SSD (ho inserito appositamente un solo disco per testare, non viene caricato con nient'altro) o un raid da un SSD. La velocità di 100 Mbit è stata ottenuta limitando le impostazioni dell'adattatore Intel 362. Non c'era differenza tra Intel 350 in rame da 1 Gbit e Intel X520-DA2 ottico da 1 Gbit (ottenuta limitando la velocità dell'adattatore). Prestazioni massime, il turbo boost è disattivato (solo per comparabilità dei risultati, il turbo boost per buoni risultati aggiunge poco meno del 10%, per cattivi risultati potrebbe non avere alcun effetto). Versioni 1C 8.2.19.86, 8.3.6.2076. Non do tutti i numeri, ma solo quelli più interessanti, così avete qualcosa con cui confrontarvi.

Vinci 2008 - Vinci 2008

contattare tramite indirizzo IP

Vinci 2008 - Vinci 2008

Chiamando per nome

Vinci 2008 - Vinci 2008

Contatto tramite indirizzo IP

Vinci 2008 - Vinci 2008

Chiamando per nome

Vinci 2008 - Vinci 7

Chiamando per nome

Vinci 2008 - Debian

Chiamando per nome

Vinci 2008 - Vinci 2008

Contatto tramite indirizzo IP

Vinci 2008 - Vinci 2008

Chiamando per nome

11,20 26,18 15,20 43,86 40,65 37,04 16,23 44,64
1C8.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
1C8.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

Conclusioni (dalla tabella e dall'esperienza personale. Vale solo per la versione file):

Sulla rete, puoi ottenere numeri di lavoro abbastanza normali se questa rete è configurata correttamente e il percorso è inserito correttamente in 1C. Anche il primo Core i3 può facilmente produrre più di 40 pappagalli, il che è abbastanza buono, e questi non sono solo pappagalli, anche nel lavoro reale la differenza è evidente. Ma! La limitazione quando si lavora con più utenti (più di 10) non sarà più la rete, qui 1 Gbit è ancora sufficiente, ma il blocco durante il lavoro multiutente (Gilev).

La piattaforma 1C 8.3 è molte volte più esigente in termini di corretta configurazione della rete. Impostazioni di base: vedi Gilev, ma tieni presente che tutto può essere influenzato. Ho notato un'accelerazione dalla disinstallazione (e non solo dallo spegnimento) dell'antivirus, dalla rimozione di protocolli come FCoE, dal cambio di driver con una versione più vecchia ma certificata Microsoft (soprattutto per schede economiche come ASUS e DLC), dalla rimozione della seconda scheda di rete dal server. Ci sono molte opzioni, configura attentamente la tua rete. Potrebbe esserci una situazione in cui la piattaforma 8.2 fornisce numeri accettabili e 8.3 - due o anche più volte meno. Prova a giocare con la versione 8.3 della piattaforma, a volte ottieni un effetto molto grande.

1C 8.3.6.2076 (forse più tardi, non ho ancora cercato la versione esatta) è ancora più semplice da configurare in rete rispetto a 8.3.7.2008. Sono riuscito a ottenere il funzionamento normale sulla rete dall'8.3.7.2008 (in pappagalli comparabili) solo poche volte. Non potrei ripeterlo per un caso più generale; Non ho capito molto, ma a giudicare dai foot wrap di Process Explorer, la registrazione non è buona come nella versione 8.3.6.

Nonostante il fatto che quando si lavora su una rete da 100 Mbit, il suo grafico di carico sia piccolo (si può dire che la rete è gratuita), la velocità operativa è ancora molto inferiore rispetto a 1 Gbit. Il motivo è la latenza della rete.

Oltre a quello pari condizioni(rete ben funzionante) per 1C 8.2 la connessione Intel-Realtek è del 10% più lenta di Intel-Intel. Ma realtek-realtek può generalmente dare un brusco cedimento all'improvviso. Pertanto, se hai soldi, è meglio tenere le schede di rete Intel ovunque, se non hai soldi, installa Intel solo sul server (il tuo CO); E ci sono molte più istruzioni per l'ottimizzazione delle schede di rete Intel.

Le impostazioni antivirus predefinite (utilizzando come esempio la versione 10 di drweb) occupano circa l'8-10% dei pappagalli. Se lo configuri come dovrebbe (permetti al processo 1cv8 di fare tutto, anche se non è sicuro), la velocità è la stessa che senza antivirus.

NON leggere i guru di Linux. Un server con Samba è fantastico e gratuito, ma se installi Win XP o Win7 (o meglio ancora, il sistema operativo del server) sul server, la versione del file 1c funzionerà più velocemente. Sì, samba, lo stack di protocolli, le impostazioni di rete e molto, molto altro ancora possono essere ben ottimizzati in Debian/Ubuntu, ma questo è consigliato agli specialisti. Non ha senso installare Linux con le impostazioni predefinite e poi dire che è lento.

È una buona idea verificare il funzionamento dei dischi connessi tramite net use utilizzando fio . Almeno sarà chiaro se si tratta di problemi con la piattaforma 1C, oppure con la rete/disco.

Per la versione monoutente non riesco a pensare a test (o situazioni) in cui la differenza tra 1 Gbit e 10 Gbit sarebbe visibile. L'unica cosa in cui 10 Gbit per la versione file ha dato risultati migliori è la connessione dei dischi tramite iSCSI, ma questo è un argomento per un articolo separato. Tuttavia, penso che per la versione file siano sufficienti schede da 1 Gbit.

Non capisco perché, con una rete a 100 Mbit, 8.3 funzioni notevolmente più velocemente di 8.2, ma era un dato di fatto. Tutte le altre apparecchiature, tutte le altre impostazioni sono assolutamente le stesse, è solo che in un caso viene testato 8.2 e nell'altro - 8.3.

NFS win-win o win-lin non sintonizzato dà 6 pappagalli, non li ho inclusi nella tabella. Dopo l'accordatura ne ho ottenuti 25, ma era instabile (la differenza nelle misurazioni era di più di 2 unità). Non posso ancora dare consigli sull'utilizzo di Windows e del protocollo NFS.

Dopo tutte le impostazioni e i controlli, eseguiamo nuovamente il test dal computer client e ci rallegriamo del risultato migliorato (se funziona). Se il risultato è migliorato, ci sono più di 30 pappagalli (e soprattutto più di 40), meno di 10 utenti lavorano contemporaneamente e il database di lavoro è ancora lento - quasi sicuramente un problema del programmatore (o hai già raggiunto le capacità massime della versione del file).

Server terminale. (il database è sul server, i client si connettono tramite la rete, protocollo RDP). Algoritmo passo dopo passo:

0. Aggiungi il database di test di Gilev al server nella stessa cartella dei database principali. Ci colleghiamo dallo stesso server ed eseguiamo il test. Ricordiamo il risultato.

1. Allo stesso modo della versione file, impostiamo il lavoro. Nel caso di un terminal server il processore svolge generalmente il ruolo principale (si presuppone che non esistano espliciti punti deboli, come mancanza di memoria o un'enorme quantità di software non necessario).

2. La configurazione delle schede di rete nel caso di un terminal server non ha praticamente alcun effetto sul funzionamento di 1c. Per garantire un comfort “speciale”, se il tuo server produce più di 50 pappagalli, puoi giocare con le nuove versioni del protocollo RDP, proprio per il comfort degli utenti, risposta e scorrimento più rapidi.

3. Durante il lavoro attivo grande quantità utenti (e qui puoi già provare a connettere 30 persone a un database, se ci provi) è molto consigliabile installare un'unità SSD. Per qualche motivo si ritiene che il disco non influenzi particolarmente il funzionamento di 1C, ma tutti i test vengono eseguiti con la cache del controller abilitata alla scrittura, il che non è corretto. La base di test è piccola, si adatta abbastanza bene alla cache, da qui i numeri elevati. Sui database reali (di grandi dimensioni) tutto sarà completamente diverso, quindi la cache è disabilitata per i test.

Ad esempio, ho verificato il funzionamento del test Gilev con diverse opzioni del disco. Ho installato i dischi da ciò che avevo a portata di mano, solo per mostrare la tendenza. La differenza tra 8.3.6.2076 e 8.3.7.2008 è piccola (nella versione Ramdisk Turbo boost 8.3.6 produce 56.18 e 8.3.7.2008 produce 55.56, in altri test la differenza è ancora più piccola). Consumo energetico: prestazioni massime, turbo boost disabilitato (se non diversamente specificato).

Raid 10 4xSATA 7200

ATA ST31500341AS

Raid 10 4x SAS 10k

Raid 10 4x SAS 15k

SSD singolo

Ramdisk

Cache abilitata

Controller RAID

21,74 28,09 32,47 49,02 50,51 53,76 49,02
1C8.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
1C8.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

La cache del controller RAID abilitata elimina tutte le differenze tra i dischi; i numeri sono gli stessi sia per sat che per cas. Testarlo su una piccola quantità di dati è inutile e non è indicativo di alcun tipo.

Per la piattaforma 8.2, la differenza di prestazioni tra le opzioni SATA e SSD è più che doppia. Questo non è un errore di battitura. Se guardi il monitor delle prestazioni durante il test sulle unità SATA. quindi puoi vedere chiaramente "Tempo di funzionamento del disco attivo (in%)" 80-95. Sì, se abiliti la cache dei dischi stessi per la registrazione, la velocità aumenterà a 35, se abiliti la cache del controller raid - fino a 49 (indipendentemente da quali dischi vengono testati in questo momento). Ma questi sono pappagalli della cache sintetica; nel lavoro reale, con database di grandi dimensioni, non ci sarà mai un tasso di riscontro della cache in scrittura del 100%.

La velocità anche degli SSD economici (che ho testato su Agility 3) è sufficiente per eseguire la versione del file. La risorsa di registrazione è un'altra questione, bisogna guardarla in ogni caso specifico, è chiaro che con Intel 3700 sarà molto più alta, ma il prezzo è corrispondente. E sì, capisco che quando testo un'unità SSD, eseguo anche il test In misura maggiore cache di questo disco, i risultati effettivi saranno inferiori.

La soluzione più corretta (dal mio punto di vista) sarebbe quella di allocare 2 dischi SSD in un raid con mirroring per un database di file (o più database di file) e non inserire nient'altro. Sì, con uno specchio, gli SSD si consumano allo stesso modo, e questo è un aspetto negativo, ma almeno l'elettronica del controller è in qualche modo protetta dagli errori.

I principali vantaggi delle unità SSD per la versione file si manifesteranno quando sono presenti molti database, ciascuno con più utenti. Se sono presenti 1-2 database e circa 10 utenti, i dischi SAS saranno sufficienti. (ma in ogni caso, guarda a caricare questi dischi, almeno tramite perfmon).

I principali vantaggi di un terminal server sono che può avere client molto deboli e le impostazioni di rete influiscono molto meno sul terminal server (di nuovo, il tuo K.O.).

Conclusioni: se server terminale eseguire il test Gilev (dallo stesso disco su cui si trovano i database di lavoro) e in quei momenti in cui il database di lavoro rallenta e il test Gilev mostra un buon risultato (superiore a 30) - è molto probabile che il programmatore sia responsabile del funzionamento lento del database di lavoro principale.

Se il test Gilev mostra numeri piccoli e si dispone di un processore con clock elevato e dischi veloci, l'amministratore deve prendere almeno perfmon, registrare tutti i risultati da qualche parte e guardare, osservare e trarre conclusioni. Non ci sarà alcun consiglio definitivo.

Opzione client-server.

I test sono stati effettuati solo su 8.2, perché sulla 8.3 tutto dipende abbastanza seriamente dalla versione.

Per i test ho scelto diverse varianti server e le reti tra loro per mostrare le principali tendenze.

SQL: Xeon E5-2630

SQL: Xeon E5-2630

Canale in fibra - SSD

SQL: Xeon E5-2630

Canale in fibra - SAS

SQL: Xeon E5-2630

SSD locale

SQL: Xeon E5-2630

Canale in fibra - SSD

SQL: Xeon E5-2630

SSD locale

1C: Xeon 5650 =

1C: Xeon 5650 =

Memoria condivisa

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
1C8.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

Sembra che sia tutto opzioni interessanti Ho approfondito, se c'è qualcos'altro che ti interessa, scrivi nei commenti, proverò a farlo.

SAS sui sistemi di archiviazione funziona più lentamente rispetto agli SSD locali, anche se il sistema di archiviazione lo ha grandi dimensioni cache. Gli SSD, sia locali che su sistemi di archiviazione, funzionano a velocità comparabili per il test di Gilev. Non conosco alcun test multi-thread standard (non solo la registrazione, ma tutte le apparecchiature) ad eccezione del test di carico 1C dell'MCC.

La modifica del server 1C da 5520 a 5650 ha quasi raddoppiato le prestazioni. Sì, le configurazioni dei server non corrispondono completamente, ma mostrano una tendenza (nessuna sorpresa).

Aumentare la frequenza sul server SQL ha sicuramente un effetto, ma non è lo stesso del server 1C Il server MS SQL è eccellente (se lo chiedi) per utilizzare multi-core e memoria libera;

Cambiare la rete tra 1C e SQL da 1 Gbit a 10 Gbit dà circa il 10% di pappagalli. Mi aspettavo di più.

Abilitare la memoria condivisa dà comunque un effetto, anche se non del 15%, come descritto. Assicurati di farlo, fortunatamente è facile e veloce. Se durante l'installazione qualcuno ha fornito al server SQL un'istanza denominata, affinché 1C funzioni, il nome del server deve essere specificato non tramite FQDN (tcp/ip funzionerà), non tramite localhost o solo ServerName, ma tramite ServerName\InstanceName, ad esempio zz-prova\zzprova. (In caso contrario si verificherà un errore DBMS: Microsoft SQL Server Native Client 10.0: Provider di memoria condivisa: la libreria di memoria condivisa utilizzata per stabilire una connessione con SQL Server 2000 non è stata trovata. HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr : SQLSTATE=08001, stato=1, gravità=10, nativo=126, riga=0).

Per meno di 100 utenti, l'unico punto nel dividerlo in due server separati è una licenza Win 2008 Std (e precedenti), che supporta solo 32 GB di RAM. In tutti gli altri casi, 1C e SQL devono essere assolutamente installati su un server e dotati di più memoria (almeno 64 GB). Dare a MS SQL meno di 24-28 GB di RAM è un'avidità ingiustificata (se pensi di avere memoria sufficiente e tutto funziona bene, forse la versione del file 1C ti basterebbe?)

Quanto peggiora la combinazione di 1C e SQL in una macchina virtuale è l'argomento di un articolo separato (suggerimento: notevolmente peggiore). Anche in Hyper-V non è tutto così chiaro...

La modalità prestazioni bilanciate è pessima. I risultati sono abbastanza coerenti con la versione del file.

Molte fonti affermano che la modalità di debug (ragent.exe -debug) provoca un calo significativo delle prestazioni. Beh, si riduce, sì, ma non definirei il 2-3% un effetto significativo.

Gli utenti spesso lamentano che "1C 8.3 è lento": i moduli dei documenti si aprono lentamente, i documenti impiegano molto tempo per essere elaborati, il programma si avvia, i report impiegano molto tempo per essere generati e così via.

Inoltre, tali "problemi" possono verificarsi in diversi programmi:

Le ragioni potrebbero essere diverse. Non si tratta di documenti ripristinati, un computer o server debole, il server 1C è configurato in modo errato.

In questo articolo voglio esaminare uno dei motivi più semplici e comuni per un programma lento: . Questa istruzione sarà rilevante per gli utenti di database di file per 1-2 utenti, dove non esiste competizione per le risorse.

Se sei interessato a un'ottimizzazione più seria delle opzioni client-server per il funzionamento del sistema, visita la sezione del sito.

Dove sono le attività pianificate in 1C 8.3?

Prima che avessi il tempo di caricare il programma, 1C ne ha eseguiti molti lavori in sottofondo. Puoi visualizzarli accedendo al menu "Amministrazione", quindi "Supporto e manutenzione":

Ottieni 267 lezioni video su 1C gratuitamente:

Ecco come appare la finestra con le attività completate:

E così lista completa tutti compiti di routine, che vengono lanciati:

Tra questi compiti ci sono "", caricare vari classificatori, verificare la pertinenza della versione del programma e così via. Ad esempio, non mi servono quasi tutte queste attività. Non tengo registri sulle valute, controllo personalmente le versioni e carico i classificatori secondo necessità.

Di conseguenza, è nel mio (e nella maggior parte dei casi nel tuo) interesse disabilitare le attività non necessarie.

Disabilitare le attività di routine e in background in 1C 8.3

2. Caratteristiche del programma. Spesso, anche con impostazioni ottimali, 1C funziona molto lentamente. Le prestazioni diminuiscono particolarmente bruscamente quando il numero di utenti che lavorano contemporaneamente con il database supera i 4-5.

Chi sei in azienda?

La soluzione al problema del funzionamento lento di 1C dipende da chi sei in azienda. Se sei un tecnico, continua a leggere. Se sei un amministratore o un commercialista, segui l'apposito link ↓

Larghezza di banda della rete

Di norma, non uno, ma diversi utenti lavorano con una base informativa (IS). Allo stesso tempo, esiste un costante scambio di dati tra il computer su cui è installato il client 1C e il computer su cui si trova la sicurezza delle informazioni. Il volume di questi dati è piuttosto significativo. Spesso si verifica una situazione in cui una rete locale che funziona a una velocità di 100 Mbit/s, che è la velocità più comune, semplicemente non riesce a far fronte al carico. E ancora una volta l'utente si lamenta della lentezza del programma.

Ognuno di questi fattori riduce già in modo significativo la velocità del programma individualmente, ma la cosa più spiacevole è che di solito queste cose si sommano.

Consideriamo ora diverse soluzioni al problema della bassa velocità 1C e del loro costo, utilizzando l'esempio di una rete locale di 10 computer di medie dimensioni.

Soluzione uno. Ammodernamento delle infrastrutture

Questa è forse la soluzione più ovvia. Calcoliamo il suo costo minimo.

Come minimo, per ogni computer abbiamo bisogno di una chiavetta RAM da 2 GB, che costa in media 1.500 rubli, scheda LAN con supporto per velocità 1 Gbit/s, costa circa 700 rubli. Inoltre, avrai bisogno di almeno 1 router che supporti una velocità di 1 Gbit/s, che costerà circa 4.000 rubli. Costo totale: 26.000 rubli per l'attrezzatura, escluso il lavoro.

In linea di principio la velocità può aumentare in modo significativo, tuttavia ora non è più possibile acquistare computer economici per l'ufficio. Oltretutto, questa decisione non applicabile a chi utilizza il Wi-Fi o desidera lavorare tramite Internet: nel loro caso la velocità della rete può essere decine di volte inferiore. Sorge il pensiero: "Non è possibile implementare l'intero programma su un potente server in modo che il computer dell'utente non partecipi a calcoli complessi, ma serva semplicemente a trasferire l'immagine?" Quindi puoi lavorare anche su computer molto deboli, anche su reti a larghezza di banda ridotta. Naturalmente, tali soluzioni esistono.

Soluzione due. Server terminale

Ha guadagnato grande popolarità ai tempi di 1C 7. Implementato sul server Versioni di Windows e svolge perfettamente il nostro compito. Tuttavia ha le sue insidie, in particolare il costo delle licenze.

Se stessa sistema operativo costerà circa 40.000 rubli. Inoltre, per tutti coloro che intendono lavorare in 1C avremo bisogno di una licenza CAL per Windows Server, che costa circa 1.700 rubli, e di una licenza CAL per Servizi Desktop remoto di Windows, che costa circa 5.900 rubli.

Calcolando il costo di una rete di 10 computer, otteniamo 116.000 rubli. solo per una licenza. A questo si aggiunge il costo del server stesso (almeno 40.000 rubli) e il costo del lavoro di implementazione, tuttavia, anche senza questo, il prezzo delle licenze si è rivelato impressionante.

Soluzione tre. Servizio 1C impresa

1C ha sviluppato una propria soluzione a questo problema, che può aumentare significativamente la velocità del programma. Ma anche qui c'è una sfumatura.

Il fatto è che il costo di tale soluzione varia da 50.000 a 80.000 rubli, a seconda dell'edizione. Per un'azienda con un massimo di 15 utenti risulta piuttosto costoso. Grandi speranze erano riposte nel "mini-server 1C enterprise", che, secondo la società 1C, si rivolge alle piccole imprese e costa circa 10.000 - 15.000 rubli.

Tuttavia, quando è stato messo in vendita, questo prodotto è stato una grande delusione. Il fatto è che il numero massimo di utenti con cui è possibile utilizzare il mini-server era solo 5.

Come ha scritto un programmatore 1C sul forum: “Non è ancora chiaro perché 1C abbia scelto esattamente 5 connessioni! I problemi iniziano solo con 4 utenti, ma con cinque finisce tutto. Se vuoi collegare una sesta persona, paga altri 50mila. Potremmo fare almeno 10 collegamenti...”.

Naturalmente anche il mini-server ha trovato il suo consumatore. Tuttavia, per le aziende in cui 5 o più persone lavorano con 1C, non è apparsa una soluzione semplice ed economica.

Oltre ai metodi di accelerazione del programma sopra descritti, ce n'è un altro ideale per il segmento di 5-15 utenti, ovvero l'accesso web per 1C in modalità file.

Soluzione quattro. Accesso Web per 1C in modalità file

Il principio di funzionamento è il seguente: sul computer è installato un ruolo aggiuntivo di un server Web, sul quale viene pubblicata la sicurezza delle informazioni.

Naturalmente, questo deve essere il massimo computer potente sulla rete o su una macchina separata dedicata a questo ruolo. Successivamente, puoi lavorare con 1C in modalità server web. Tutte le operazioni pesanti verranno eseguite lato server e il traffico trasmesso sulla rete sarà ridotto al minimo, così come il carico sul computer del cliente.

Pertanto, anche le macchine molto deboli possono essere utilizzate per lavorare in 1C e portata la rete non diventa più critica. I nostri test hanno dimostrato che puoi lavorare comodamente Internet mobile su un tablet economico senza provare alcun disagio.

Questa opzione è inferiore al server aziendale 1C in termini di velocità operativa, ma questa differenza è praticamente invisibile fino a 15-20 utenti. A proposito, per implementare un server web puoi utilizzare IIS (per Windows) e Apache (per Linux) ed entrambe queste soluzioni sono gratuite!

Nonostante gli evidenti vantaggi, questo metodo l'ottimizzazione del funzionamento 1C non ha guadagnato molta popolarità.

Non posso dirlo con certezza, ma molto probabilmente ciò è dovuto a due motivi:

  • Una descrizione piuttosto debole documentazione tecnica
  • Situato all'intersezione delle responsabilità dell'amministratore di sistema e del programmatore 1C

Di solito, quando un amministratore di sistema viene contattato per un problema di bassa velocità, suggerisce di aggiornare l'infrastruttura o un terminal server, se viene contattato uno specialista 1C, gli viene offerto un server aziendale 1C; Pertanto, se nella tua azienda, uno specialista responsabile dell'infrastruttura e uno specialista responsabile di 1C lavorano "mano nella mano", puoi utilizzare in sicurezza una soluzione basata su un server web.

Acceleriamo 1C. Da remoto, rapidamente e senza la tua partecipazione

Sappiamo come velocizzare 1Ski senza disturbare il cliente. Approfondiamo il problema, facciamo il nostro lavoro e partiamo. Se desideri che il programma funzioni normalmente, contattaci. Lo scopriremo.

Lascia una richiesta e ricevi una consulenza gratuita sull'accelerazione del programma.