Upp 8.3 ha iniziato a funzionare lentamente. Suggerimenti per l'automazione. Utilizzo di oggetti DMO di SQL Server

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 c'è 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 tutte le attività pianificate che vengono avviate:

Tra queste attività puoi vedere come "", 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

Sintomi e storia del paziente:

Il lavoro di più utenti in rete con lo stesso file (database) include un meccanismo di blocco della rete. Ciò costringe il sistema a perdere tempo prezioso identificando le sessioni di registrazione aperte e risolvendo i conflitti di conseguenza.

I principali segni di operazione di blocco:

  • l'utente veloce lavora con il database in rete in modalità esclusiva ed estremamente lento quando più utenti lavorano contemporaneamente
  • esperienza utente veloce con un database locale sul server e lavoro lento sulla rete
  • fa appello a file system poco meno di 10 MB/sec

Quindi mi è stato affidato il compito di assicurarmi che fino a tre utenti potessero lavorare in 1C contemporaneamente! Divertente, non è vero?

Ho dimenticato tutte le battute quando ho visto con cosa avevo a che fare: un "server" sotto forma di un normale computer da ufficio e due laptop.

La felicità sarebbe incompleta se non fosse per i meravigliosi sistemi operativi: sul computer e su uno Computer portatile Windows 7, dall'altro - Windows 8.

Durante il tentativo di pubblicare contemporaneamente documenti sui laptop, uno è rimasto bloccato per circa un minuto e il secondo si è bloccato da 1C con il testo di errore "impossibile bloccare il tavolo...".

Il lancio di 1C su un laptop è uno spettacolo separato che è durato circa 3 minuti!

Su molte risorse mi sono imbattuto in consigli per passare al lavoro nell'accesso al terminale. Sfortunatamente, Windows 7 non lo consente mezzi regolari trasformarsi in un terminal server - massimo una connessione attiva. In questo caso, le sessioni rimanenti non vengono terminate, è possibile riconnettersi con un altro utente - "buttando fuori" l'utente precedente, ma senza terminare la sua sessione. Pertanto, dovresti trasferire 1C su un sistema operativo server, dove non esistono tali restrizioni. Il cliente, a proprio rischio, ha risolto il problema utilizzando invece un'utilità di terze parti Windows7_SP1_RDHack.

Ma le avventure non finirono qui. Anche nel collegamento terminale si sono verificati notevoli ritardi. Ancora una volta gli onnipotenti motori di ricerca mi hanno aiutato. Di seguito sono riportati i suggerimenti per velocizzare il file 1C, che ho seguito:

1. disattivare utilizzo del protocollo di rete IPv6, configurare l'indirizzamento sul “vecchio” IPv4.

2. Aggiungere i processi 1C alle eccezioni del firewall di Windows, nonché alle eccezioni dell'antivirus, oppure disabilitarli completamente (più rischioso, ma un semplice test ha dimostrato aumento della velocità ripubblicare i documenti quando disabilitato Antivirus Avast fattore di!)

3. Avvia l'indicizzazione della ricerca full-text in 1C o disattivala completamente

4. Eseguire il test e correggere il database, controllando con l'utilità ChDbfl

5. Eseguire la voce Verifica Configurazione nella configurazione (se la configurazione non è standard può essere utile). In base ai risultati del controllo della configurazione, le sue dimensioni sono magicamente diminuite di quasi un terzo. Non ho approfondito esattamente ciò che i programmatori in arrivo hanno aggiornato prima di me, ma il fatto è ovvio.

6. Disabilitare le opzioni funzionali non necessarie.

7. Configurare i diritti utente. (Questo e il consiglio precedente mi sembravano stupidi finché non ho guardato il disegno moduli gestiti quando si apre l'elenco dei documenti. Di norma, meno elementi inutili sono contenuti in un'interfaccia gestita, più velocemente funzionerà)

8. Iniziare a ricalcolare i totali e ripristinare la sequenza (un aumento significativo può verificarsi solo se i totali non vengono ripristinati da molto tempo)

9. Specificare "Velocità di connessione - bassa" nelle impostazioni dell'elenco dei database (questo non ha dato molti risultati, tranne che le immagini dei sottosistemi erano disattivate :))

Dopo aver completato tutti questi passaggi, il database dei file 1C ha iniziato a funzionare molto più velocemente. Ha iniziato ad avviarsi in un massimo di 10 secondi e la velocità di trasferimento dei documenti è aumentata in media di 12 volte.

Forse questo breve articolo ti sarà utile se improvvisamente avrai bisogno di velocizzare il tuo database di file 1C.

P.S: Ma avviare un file 1C utilizzando l'accesso di rete a una cartella condivisa non è ancora realistico, perché... Dasha è la più veloce disco a stato solido, la RAM e il processore rimarranno bloccati nei blocchi di rete e il lavoro di più di un utente sarà praticamente impossibile. Riguarda in particolare sulla configurazione di UT 11.1. Piccole configurazioni scritte autonomamente possono funzionare abbastanza rapidamente anche nella versione file.

Aggiunte dai commenti per la pubblicazione:

Deframmentazione del disco con base di archiviazione

Convoluzione database (può essere utile se il database è grande, ad esempio, per diversi anni). Il database del cliente era piuttosto giovane, quindi la riduzione era poco pratica.

Aggiornamento hardware: disco rigido più veloce, nuovo switch, processore, ecc.

Installa sul server web, accedere utilizzando un thin client. Qui le opinioni sono divise. Alcuni dicono che è molte volte più veloce, altri dicono che non si nota alcuna accelerazione.

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 consigli abbastanza chiari, ma fornirò solo alcuni risultati e commenterò la maggior parte probabili errori. Naturalmente i risultati dei test sulla vostra attrezzatura potrebbero differire; questa è solo una guida per ciò che dovrebbe essere e ciò a cui potete 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 preso appositamente non era la più recente, ma equipaggiamento moderno 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 comparsa della finestra del database dovrebbe trascorrere meno di un minuto. ( Celeron = lento).

Se hai un computer peggiore di un Pentium presa 775 con 1GB memoria ad accesso casuale, 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. Mettiamo la base di prova computer locale(molto disco 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 operazione normale La memoria libera dovrebbe essere 300-400 MB.

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 frequenze alte, 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 è quello su alcuni schede madri Se disattivi Intel SpeedStep, non puoi 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 configurare le impostazioni del BIOS in modo che la modalità prestazioni di Windows non abbia alcun ruolo. (Esempi Impostazioni del BIOS a 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 è abbastanza 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 - abilita Pannello di controllo - Opzioni risparmio energia - Alte prestazioni). 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. Un segno indiretto del normale funzionamento su una rete da 1 Gbit sarà la velocità di copia media di 100 MB/sec, un buon funzionamento - 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 le impostazioni predefinite di Windows, il client funziona meglio con un server Windows (o anche finestre funzionanti station) e il protocollo SMB/CIFS, il client Linux (debian, Ubuntu non ha guardato gli altri) funziona meglio con Linux e NFS (funziona anche con SMB, ma i pappagalli sono più alti su NFS). 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. Sistema operativo 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é, il 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 da esperienza personale. Si applica solo alla versione del 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 programma di carico è ridotto (si può dire che la rete è gratuita), la velocità operativa è ancora molto inferiore rispetto a 1 Gbit. Il motivo è la latenza della rete.

A parità di altre condizioni (una 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 alcun consiglio utilizzando Windows e 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 ha 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 vi siano punti deboli evidenti, 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. Se un gran numero di utenti lavora attivamente (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 l'Intel 3700 ne avrà un ordine di grandezza superiore, ma il prezzo è corrispondente. E sì, lo capisco durante i test Unità SSD Sto anche testando in misura maggiore la cache di questo disco, i risultati reali 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 lì. 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 di Gilev mostra numeri piccoli e hai 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 opzioni di server e reti tra loro per mostrare le tendenze principali.

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 abbia considerato tutte le opzioni interessanti, se c'è qualcos'altro che ti interessa, scrivi nei commenti, proverò a farlo.

SAS sui sistemi di archiviazione è più lento degli SSD locali, anche se i sistemi di archiviazione hanno dimensioni della cache maggiori. 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. (Altrimenti si verificherà un errore DBMS: Microsoft server SQL Native Client 10.0: Provider di memoria condivisa: la libreria di memoria condivisa utilizzata per stabilire una connessione a 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 peggio funziona la combinazione di 1C e SQL macchina virtuale- l'argomento di un articolo separato (suggerimento - notevolmente peggio). 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.

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

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

A volte, come soluzione al problema, offriamo ai clienti un server a noleggio per 1C senza freni, con una scelta di configurazione del server e sistema operativo, è possibile configurare il server online sul sito Web del nostro partner, utilizzando il collegamento https://1cloud.ru capitolo Servizi, capitolo Server virtuale.

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

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

Oltre al lavoro lento di 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 è:

interfaccia netsh tcp imposta autotuning globale = altamente limitato

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, devono essere consentite le connessioni all'applicazione %ProgramFiles%\ MicrosoftSQL 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, attivala massima performance(può anche essere definito “aggressivo”)

2. Impostazioni dello schema nel sistema operativo - Prestazioni elevate

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

A volte la soluzione al problema del funzionamento lento di un server 1C è un'attrezzatura obsoleta o rotta, in questo caso offriamo ai clienti un server per 1C in affitto senza freni, con una scelta di configurazione del server e sistema operativo, puoi farlo sul nostro sito web del partner, al link https://1cloud.ru Sezione Servizi, sezione Server virtuale.

In caso di domande, contattare:

  • chiama il numero +7-812-385-55-66 a San Pietroburgo
  • scrivere all'indirizzo
  • lasciare una domanda sul nostro sito web alla pagina "Candidatura online".

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 regola, con uno base informativa(IB) non c'è uno, ma diversi utenti che lavorano. 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à operativa 1C e al loro costo, utilizzando l'esempio rete locale di 10 computer medi.

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, ma 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. Ciò fa sorgere la domanda: “È possibile implementare l’intero programma su un server potente, in modo che il computer dell’utente non partecipi calcoli complessi, ma servivano semplicemente a trasmettere un’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. Oltre a questo, avremo bisogno di tutti coloro che intendono lavorare in 1C Licenza Windows CAL server, che costa circa 1.700 rubli e 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 aziendale 1C", che, secondo l'azienda 1C, è rivolto 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 connettere 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 dovrebbe essere il computer più potente della rete o 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 nella documentazione tecnica
  • Situato al bivio di responsabilità amministratore di sistema e 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.




Superiore