Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Na 1C, utilizamos amplamente nossos próprios desenvolvimentos para organizar o trabalho da empresa. Em particular, "1C: Fluxo de documentos 8". Além da gestão documental (como o nome sugere), é também um moderno ECM-sistema (Enterprise Content Management - gerenciamento de conteúdo corporativo) com uma ampla gama de funcionalidades - correio, calendários de trabalho de funcionários, organização de acesso compartilhado a recursos (por exemplo, reserva de salas de reunião), controle de tempo, fórum corporativo e muito mais.

Mais de mil funcionários usam gerenciamento de documentos em 1C. O banco de dados já impressionou (11 bilhões de registros), o que significa que requer cuidados mais cuidadosos e equipamentos mais potentes.

Como funciona o nosso sistema, quais as dificuldades que encontramos na manutenção do banco de dados e como as resolvemos (usamos o MS SQL Server como SGBD) - contaremos no artigo.

Para quem está lendo sobre os produtos 1C pela primeira vez.
1C:Document Flow é uma solução de aplicação (configuração) implementada com base em uma estrutura para desenvolvimento de aplicações de negócios - a plataforma 1C:Enterprise.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C


“1C: Document Flow 8” (abreviado como DO) permite automatizar o trabalho com documentos em uma empresa. Uma das principais ferramentas de interação dos funcionários é o e-mail. Além do correio, o DO também resolve outros problemas:

  • Controle de tempo
  • Acompanhamento de ausências de funcionários
  • Pedidos de correio/transporte
  • Calendários de trabalho dos funcionários
  • Registro de correspondência
  • Contatos de funcionários (catálogo de endereços)
  • Fórum corporativo
  • Reserva de quarto
  • Planejamento de eventos
  • CRM
  • Trabalho coletivo com arquivos (com salvamento de versões de arquivos)
  • etc

Entramos na Gestão de Documentos cliente magro (aplicativo executável nativo) do Windows, Linux, macOS, cliente da web (de navegadores) e cliente móvel - dependendo da situação.

E graças ao nosso outro produto conectado ao Document Flow - Sistema de interação – recebemos diretamente no Document Flow a funcionalidade do messenger – chats, chamadas de áudio e vídeo (incluindo chamadas em grupo, que agora se tornaram especialmente importantes, inclusive de um cliente móvel), troca rápida de arquivos além da capacidade de escrever bots de chat que simplificam trabalhando com o sistema. Outra vantagem de usar o Sistema de Interação (em comparação com outros mensageiros) é a capacidade de conduzir discussões contextuais vinculadas a objetos específicos do Fluxo de Documentos - documentos, eventos, etc. Ou seja, o Sistema de Interação está profundamente integrado à aplicação alvo, e não funciona apenas como um “botão separado”.

O número de letras em nosso DO já ultrapassou 100 milhões e, em geral, existem mais de 11 bilhões de registros no SGBD. No total, o sistema utiliza quase 30 TB de armazenamento: o volume do banco de dados é de 7,5 TB, os arquivos de trabalho coletivo são armazenados separadamente e ocupam outros 21 TB.

Se falamos de números mais específicos, aqui está a quantidade de letras e arquivos no momento:

  • E-mails enviados – 14,7 milhões.
  • Cartas recebidas – 85,4 milhões.
  • Versões de arquivo – 70,8 milhões.
  • Documentos internos – 30,6 mil.

DO tem mais do que apenas e-mails e arquivos. Abaixo estão os números de outros objetos contábeis:

  • Reserva de salas de reunião – 52
  • Relatórios semanais – 153
  • Relatórios diários – 628
  • Vistos de aprovação – 11
  • Documentos recebidos – 79
  • Documentos de saída – 28
  • Entradas sobre eventos em calendários de trabalho de usuários – 168
  • Inscrições para entregadores – 21
  • Contrapartes – 81
  • Registros de trabalho com contrapartes – 45
  • Pessoas de contato das contrapartes – 41
  • Eventos – 10
  • Projetos – 6
  • Tarefas de funcionários – 245
  • Postagens no fórum – 26
  • Mensagens de bate-papo – 891 095
  • Processos de negócios – 109.A interação entre os colaboradores ocorre por meio de processos – aprovação, execução, revisão, registro, assinatura, etc. Medimos a duração dos processos, o número de ciclos, o número de participantes, o número de devoluções, o número de pedidos de alteração de prazos. E é muito útil analisar essas informações para entender quais processos estão ocorrendo na empresa e aumentar a eficiência da colaboração dos funcionários.

Em que equipamento processamos tudo isso?

Estes números indicam um volume impressionante de tarefas, pelo que nos deparamos com a necessidade de alocar equipamentos bastante produtivos para as necessidades das filiais internas. Atualmente suas características são as seguintes: 38 núcleos, 240 GB de RAM, 26 TB de discos. Aqui está uma tabela de servidores:
Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

No futuro, pretendemos aumentar a capacidade do equipamento.

Como vão as coisas com a carga do servidor?

A atividade de rede nunca foi um problema para nós ou para nossos clientes. Via de regra, o ponto fraco é o processador e os discos, pois todo mundo já sabe como lidar com a falta de memória. Aqui estão capturas de tela de nossos servidores do Resource Monitor, que mostram que não temos nenhuma carga terrível, é muito modesta.

Por exemplo, na imagem abaixo vemos um servidor SQL onde a carga da CPU é de 23%. E este é um indicador muito bom (para comparação: se a carga se aproximar de 70%, então, muito provavelmente, os funcionários observarão desacelerações bastante significativas no trabalho).

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

A segunda captura de tela mostra o servidor de aplicativos no qual a plataforma 1C:Enterprise é executada - ela atende apenas sessões de usuário. Aqui a carga do processador é um pouco maior - 38%, é suave e calma. Há alguma carga no disco, mas é aceitável.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

A terceira captura de tela mostra outro servidor 1C:Enterprise (é o segundo, temos dois deles no cluster). Apenas o anterior atende aos usuários, e os robôs trabalham neste. Por exemplo, eles recebem correspondência, encaminham documentos, trocam dados, calculam direitos, etc. Todas essas atividades em segundo plano executam aproximadamente 90 a 100 trabalhos em segundo plano. E este servidor está muito carregado - 88%. Mas isso não afeta as pessoas e implementa exatamente toda a automação que a Gestão Documental deveria fazer.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Quais são as métricas para medir o desempenho?

Temos um subsistema sério integrado em nossas subsidiárias para medir indicadores de desempenho e calcular diversas métricas. Isto é necessário para compreender tanto no momento actual como numa perspectiva histórica o que está a acontecer no sistema, o que está a piorar, o que está a melhorar. Ferramentas de monitoramento - métricas e medições de tempo - estão incluídas na entrega padrão de "1C: Document Flow 8". As métricas exigem personalização durante a implementação, mas o mecanismo em si é padrão.

Métricas são medições de vários indicadores de negócios em determinados momentos (por exemplo, o tempo médio de entrega de correspondência é de 10 minutos).

Uma das métricas mostra o número de usuários ativos no banco de dados. Em média, existem 1000-1400 deles durante o dia. O gráfico mostra que no momento da captura de tela havia 2144 usuários ativos no banco de dados.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Existem mais de 30 ações desse tipo, a lista está abaixo do limite.Lista

  • Entrar
  • Sair
  • Carregando e-mail
  • Alterando a validade de um objeto
  • Alterando direitos de acesso
  • Mudando o assunto de um processo
  • Alterando o grupo de trabalho de um objeto
  • Alterando a composição do kit
  • Alterando um arquivo
  • Importação de arquivo
  • Envio por correio
  • Movendo arquivos
  • Redirecionando uma tarefa
  • Assinando a assinatura eletrônica
  • Pesquisar por detalhes
  • Pesquisa de texto completo
  • Recebendo um arquivo
  • Interrompendo um processo
  • Просмотр
  • Descriptografia
  • Registro de documentos
  • Scan
  • Desmarcando exclusão
  • Criando um objeto
  • Salvando no disco
  • Início do processo
  • Excluindo entradas de log do usuário
  • Removendo uma assinatura eletrônica
  • Definir uma marca de exclusão
  • Criptografia
  • Exportar uma pasta

Na penúltima semana, a atividade média dos nossos usuários aumentou uma vez e meia (mostrada em vermelho no gráfico) - isso se deve à transição da maioria dos funcionários para o trabalho remoto (devido a eventos bem conhecidos). Além disso, o número de usuários ativos aumentou 3 vezes (mostrado em azul na captura de tela), à medida que os funcionários começaram a usar ativamente os telefones celulares: cada cliente móvel cria uma conexão com o servidor. Agora, em média, cada um dos nossos funcionários possui 2 conexões com o servidor.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Para nós, como administradores, isso é um sinal de que precisamos estar mais atentos às questões de desempenho e ver se as coisas pioraram. Mas olhamos para isso com base em outros parâmetros. Por exemplo, como o tempo de entrega de correio para roteamento interno muda (mostrado em azul na captura de tela abaixo). Vemos que até este ano estava oscilando, mas agora está estável - para nós isso é um indicador de que está tudo em ordem com o sistema.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Outra métrica aplicada por nós é o tempo médio de espera para download de cartas do servidor de e-mail (mostrado em vermelho na captura de tela). Grosso modo, por quanto tempo a carta ficará circulando pela Internet antes de chegar ao nosso funcionário. A captura de tela mostra que desta vez também não mudou recentemente. Existem picos isolados - mas não estão associados a atrasos, mas sim à perda de tempo nos servidores de correio.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Ou, por exemplo, outra métrica (mostrada em azul na captura de tela) – atualização de cartas em uma pasta. Abrir uma pasta de correio é uma operação muito comum e precisa ser feita rapidamente. Medimos a rapidez com que isso é executado. Este indicador é medido para cada cliente. Você pode ver o panorama geral da empresa e a dinâmica, por exemplo, de um funcionário individual. A captura de tela mostra que até este ano a métrica estava desequilibrada, depois fizemos uma série de melhorias e agora não está piorando – o gráfico está quase plano.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

As métricas são basicamente uma ferramenta do administrador para monitorar o sistema, para responder rapidamente a quaisquer mudanças no comportamento do sistema. A captura de tela mostra as métricas internas das subsidiárias para o ano. O salto nos gráficos se deve ao fato de termos recebido tarefas para desenvolver subsidiárias internas.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Aqui está uma lista de mais algumas métricas (abaixo do corte).
Métricas

  • Atividade do usuário
  • Usuários ativos
  • Processos ativos
  • Número de arquivos
  • Tamanho do arquivo (MB)
  • Número de documentos
  • Número de objetos a serem enviados aos destinatários
  • Número de contrapartes
  • Tarefas inacabadas
  • Tempo médio de espera para download de e-mails do servidor de e-mail nos últimos 10 minutos
  • Buffer de dados externo: número de arquivos
  • Limite atrasado em relação à data atual
  • Fila longa
  • Fila operacional
  • Idade bruta da conta por roteamento externo
  • Tamanho da fila de aceitação de roteamento interno (fila longa)
  • Tamanho da fila de aceitação de roteamento interno (fila rápida)
  • Tempo de entrega de correspondência via roteamento interno (fila longa)
  • Tempo de entrega de correspondência via roteamento interno (fila rápida)
  • Tempo de entrega de correio via roteamento externo (média)
  • Número de documentos Reserva
  • Número de documentos Ausência
  • Quantidade de documentos “Registro de trabalho com contraparte”
  • Mail Atualizar cartas em uma pasta
  • Correio Abrindo um cartão de carta
  • Correio Transferir uma carta para uma pasta
  • Mail Navegue pelas pastas

Nosso sistema mede mais de 150 indicadores XNUMX horas por dia, mas nem todos podem ser monitorados rapidamente. Eles podem ser úteis mais tarde, em alguma perspectiva histórica, e você pode focar nos mais importantes para o negócio.

Em uma das implementações, por exemplo, foram selecionados apenas 5 indicadores. O cliente estabeleceu como meta criar um conjunto mínimo de indicadores, mas ao mesmo tempo que abrangesse os principais cenários de trabalho. Seria injustificado incluir 150 indicadores no certificado de aceitação, porque mesmo dentro da empresa é difícil chegar a acordo sobre quais indicadores são considerados aceitáveis. E conheciam estes 5 indicadores e já os tinham apresentado ao sistema antes do início do projecto de implementação, incluindo-os na documentação do concurso: o tempo para abrir um cartão não passa de 3 segundos, o tempo para completar uma tarefa com um arquivo não tem mais de 5 segundos, etc. Nas nossas filiais tínhamos métricas que refletiam com muita clareza a solicitação original a partir das especificações técnicas do cliente.

Também temos uma análise de perfil de medidas de desempenho. Os indicadores de desempenho são um registro da duração de cada operação em andamento (escrita de uma carta para o banco de dados, envio de uma carta para um servidor de correio, etc.). Isto é usado exclusivamente por técnicos. Acumulamos muitos indicadores de desempenho em nosso programa. Atualmente medimos aproximadamente 1500 operações-chave, que são divididas em perfis.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Um dos perfis mais importantes para nós é a “Lista dos principais indicadores de correspondência na perspectiva do consumidor”. Este perfil inclui, por exemplo, os seguintes indicadores:

  • Executando o comando: Selecionar por tag
  • Abrindo um formulário: Formulário de lista
  • Executando o comando: Selecionar por pasta
  • Exibindo uma carta na área de leitura
  • Salvando uma carta em sua pasta favorita
  • Procure letras por detalhes
  • Criando uma carta

Se percebermos que a métrica para algum indicador de negócios se tornou muito grande (por exemplo, cartas de um determinado usuário começaram a chegar há muito tempo), começamos a descobrir isso e passamos a medir o tempo das operações técnicas. Temos uma operação técnica “Arquivamento de cartas em servidor de correio” - vemos que o tempo para esta operação foi ultrapassado no último período. Esta operação, por sua vez, é decomposta em outras operações - por exemplo, estabelecer uma conexão com um servidor de correio. Vemos que, por algum motivo, de repente ficou muito grande (temos todas as medições de um mês - podemos comparar que na semana passada foram 10 milissegundos e agora são 1000 milissegundos). E entendemos que algo está quebrado aqui - precisamos consertar.

Como mantemos um banco de dados tão grande?

Nosso DO interno é um exemplo de projeto de alta carga que realmente funciona. Vamos falar sobre as características técnicas de seu banco de dados.

Quanto tempo leva para reestruturar grandes tabelas de banco de dados?

O servidor SQL requer manutenção periódica, colocando as tabelas em ordem. No bom sentido, isso deve ser feito pelo menos uma vez por dia, e ainda mais frequentemente para mesas de alta demanda. Mas se o banco de dados for grande (e nosso número de registros já ultrapassou 11 bilhões), cuidar dele não será fácil.

Fizemos uma reestruturação de mesa há 6 anos, mas depois começou a demorar tanto que não cabemos mais nos intervalos noturnos. E como essas operações carregam muito o servidor SQL, ele não pode atender outros usuários com eficiência.

Portanto, agora temos que usar vários truques. Por exemplo, não podemos realizar estes procedimentos em conjuntos de dados completos. Você deve recorrer ao procedimento Atualizar amostra de 500000 linhas - isso leva 14 minutos. Ele não atualiza as estatísticas de todos os dados da tabela, mas seleciona meio milhão de linhas e as utiliza para calcular as estatísticas que utiliza para toda a tabela. Esta é uma suposição, mas somos forçados a fazê-lo, porque para uma tabela específica, a coleta de estatísticas sobre todo o bilhão de registros levará um tempo inaceitavelmente longo.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C
Também otimizamos outras operações de manutenção tornando-as parciais.

Manter um SGBD geralmente é uma tarefa difícil. No caso de interação ativa entre funcionários, o banco de dados cresce rapidamente e fica cada vez mais difícil para os administradores mantê-lo - atualização de estatísticas, desfragmentação, indexação. Aqui precisamos aplicar estratégias diferentes, sabemos bem fazer isso, temos experiência, podemos compartilhá-la.

Como o backup é implementado com esses volumes?

Um backup completo do DBMS é executado uma vez por dia à noite, e um backup incremental – a cada hora. Além disso, um diretório de arquivos é criado todos os dias e faz parte do backup incremental do armazenamento de arquivos.

Quanto tempo leva para concluir um backup completo?

Um backup completo em um disco rígido é concluído em três horas, um backup parcial em uma hora. Demora mais para gravar em fita (um dispositivo especial que faz uma cópia de backup em um cassete especial armazenado fora do escritório; uma cópia transferível é feita na fita, que será preservada se, por exemplo, a sala do servidor pegar fogo). O backup é feito exatamente no mesmo servidor, cujos parâmetros eram superiores - um servidor SQL com 20% de carga do processador. Na hora do backup, claro, o sistema fica muito pior, mas ainda funciona.

Nós mesmos verificamos: como 1C é implantado e como é administrado: Fluxo de documentos dentro da empresa 1C

Existe desduplicação?

Desduplicação Existem arquivos, vamos testá-los nós mesmos e em breve serão incluídos na nova versão do Gerenciamento de Documentos. Também estamos testando o mecanismo de desduplicação da contraparte. Não há desduplicação de registros no nível do SGBD, pois isso não é necessário. A plataforma 1C:Enterprise armazena objetos no SGBD e somente a plataforma pode ser responsável por sua consistência.

Existem nós somente leitura?

Não existem nós de leitura (nós de sistema dedicados que atendem quem precisa receber algum dado para leitura). DO não é um sistema de contabilidade para colocar em um nó de BI separado, mas há um nó separado para o departamento de desenvolvimento, com o qual as mensagens são trocadas no formato JSON, e o tempo de replicação típico é de unidades e dezenas de segundos. O nó ainda é pequeno, possui cerca de 800 milhões de registros, mas está crescendo rapidamente.

Os e-mails marcados para exclusão não foram excluídos?

Ainda não. Não temos a tarefa de deixar a base mais leve. Houve vários casos bastante graves em que foi necessário fazer referência a cartas marcadas para eliminação, incluindo 2009. É por isso que decidimos manter tudo por enquanto. Mas quando o custo disto se tornar injustificado, pensaremos na remoção. Mas, se você precisar remover completamente uma carta separada do banco de dados para que não haja vestígios, isso pode ser feito mediante solicitação especial.

Por que armazená-lo? Você tem estatísticas sobre acesso a documentos antigos?

Não há estatísticas. Mais precisamente, está na forma de um log do usuário, mas não é armazenado por muito tempo. As inscrições com mais de um ano são apagadas do protocolo.

Houve situações em que foi necessário recuperar correspondência antiga de cinco ou até dez anos atrás. E isso sempre foi feito não por mera curiosidade, mas para tomar decisões de negócios complexas. Houve um caso em que, sem histórico de correspondência, uma decisão comercial errada teria sido tomada.

Como é avaliado e destruído o valor dos documentos de acordo com os prazos de armazenamento?

Para documentos em papel, isso é feito da maneira tradicional usual, como todo mundo. Não fazemos isso por eletrônicos - deixe-os guardá-los para si. A sessão está aqui. Existem benefícios. Todo mundo está bem.

Que perspectivas de desenvolvimento existem?

Agora nosso DO resolve cerca de 30 problemas internos, alguns dos quais listamos no início do artigo. O DL também é utilizado para preparar conferências que realizamos duas vezes por ano para os nossos parceiros: todo o programa, todos os relatórios, todas as secções paralelas, salas - tudo isto é digitado no DL e depois descarregado dele, e um programa impresso é feito.

Existem várias outras tarefas a caminho do DO, além daquelas que já está resolvendo. Existem tarefas que abrangem toda a empresa e outras únicas e raras, necessárias apenas para um departamento específico. É preciso ajudá-los, o que significa ampliar a “geografia” de utilização do sistema dentro de 1C - ampliando o escopo de aplicação, resolvendo os problemas de todos os departamentos. Este seria o melhor teste de desempenho e confiabilidade. Gostaria de ver o sistema funcionar com trilhões de registros, petabytes de informação.

Fonte: habr.com

Adicionar um comentário