Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Chez 1C, nous utilisons largement nos propres développements pour organiser le travail de l’entreprise. En particulier, "1C : Flux de documents 8". En plus de la gestion documentaire (comme son nom l'indique), c'est aussi un outil moderne ECM-système (Enterprise Content Management - gestion de contenu d'entreprise) avec un large éventail de fonctionnalités - courrier, calendriers de travail des employés, organisation de l'accès partagé aux ressources (par exemple, réservation de salles de réunion), suivi du temps, forum d'entreprise et bien plus encore.

Plus d'un millier d'employés utilisent la gestion documentaire chez 1C. La base de données est déjà devenue impressionnante (11 milliards d'enregistrements), ce qui signifie qu'elle nécessite des soins plus soignés et des équipements plus puissants.

Comment fonctionne notre système, quelles difficultés nous rencontrons lors de la maintenance de la base de données et comment nous les résolvons (nous utilisons MS SQL Server comme SGBD) - nous vous le dirons dans l'article.

Pour ceux qui lisent sur les produits 1C pour la première fois.
1C:Document Flow est une solution applicative (configuration) mise en œuvre sur la base d'un framework de développement d'applications métiers - la plateforme 1C:Enterprise.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C


« 1C : Document Flow 8 » (en abrégé DO) vous permet d'automatiser le travail avec des documents dans une entreprise. L’e-mail est l’un des principaux outils d’interaction entre les employés. En plus du courrier, DO résout également d'autres problèmes :

  • Suivi du temps
  • Suivi des absences des salariés
  • Demandes de coursiers/transport
  • Calendriers de travail des employés
  • Enregistrement de la correspondance
  • Contacts des employés (carnet d'adresses)
  • Forum d'entreprise
  • Reservation de chambre
  • Planification d'événements
  • CRM
  • Travail collectif avec des fichiers (avec sauvegarde des versions de fichiers)
  • etc

Nous entrons dans la gestion documentaire client léger (application exécutable native) depuis Windows, Linux, macOS, client Web (à partir des navigateurs) et client mobile - Dépendant de la situation.

Et grâce à notre autre produit connecté à Document Flow - Système d'interaction – nous recevons directement dans Document Flow les fonctionnalités du messager – chats, appels audio et vidéo (y compris les appels de groupe, qui sont désormais devenus particulièrement importants, y compris à partir d'un client mobile), échange rapide de fichiers ainsi que la possibilité d'écrire des chatbots qui simplifient travailler avec le système. Un autre avantage de l'utilisation du système d'interaction (par rapport à d'autres messageries) est la possibilité de mener des discussions contextuelles liées à des objets spécifiques du flux de documents - documents, événements, etc. Autrement dit, le système d'interaction est profondément intégré à l'application cible et n'agit pas comme un simple « bouton séparé ».

Le nombre de lettres dans notre DO a déjà dépassé les 100 millions, et en général il y a plus de 11 milliards d'enregistrements dans le SGBD. Au total, le système utilise près de 30 To de stockage : le volume de la base de données est de 7,5 To, les fichiers destinés au travail collectif sont stockés séparément et occupent 21 To supplémentaires.

Si l'on parle de chiffres plus précis, voici le nombre de lettres et de dossiers à l'heure actuelle :

  • E-mails sortants – 14,7 millions.
  • Lettres entrantes – 85,4 millions.
  • Versions de fichiers – 70,8 millions.
  • Documents internes – 30,6 mille.

DO a plus que du courrier et des fichiers. Ci-dessous les chiffres des autres objets comptables :

  • Réservation de salles de réunion – 52 126
  • Rapports hebdomadaires – 153 940
  • Rapports quotidiens – 628 153
  • Visas d’approbation – 11 821
  • Documents entrants – 79 677
  • Documents sortants – 28 357
  • Entrées concernant les événements dans les calendriers de travail des utilisateurs – 168 228
  • Demandes de coursiers – 21 883
  • Contreparties – 81 029
  • Dossiers de travail avec les contreparties – 45 632
  • Personnes de contact des contreparties – 41 795
  • Événements – 10 243
  • Projets – 6 320
  • Tâches des employés – 245 980
  • Messages du forum – 26 282
  • Messages de discussion – 891 095
  • Processus opérationnels - 109 056. L'interaction entre les employés se fait à travers des processus - approbation, exécution, révision, enregistrement, signature, etc. Nous mesurons la durée des processus, le nombre de cycles, le nombre de participants, le nombre de retours, le nombre de demandes de modification de délais. Et ces informations sont très utiles à analyser afin de comprendre quels processus se déroulent dans l'entreprise et d'augmenter l'efficacité de la collaboration des employés.

Sur quel équipement traitons-nous tout cela ?

Ces chiffres indiquent un volume de tâches impressionnant, nous avons donc été confrontés à la nécessité d'allouer des équipements assez productifs pour les besoins des filiales internes. Actuellement, ses caractéristiques sont les suivantes : 38 cœurs, 240 Go de RAM, 26 To de disques. Voici un tableau des serveurs :
Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

À l'avenir, nous prévoyons d'augmenter la capacité de l'équipement.

Comment ça se passe avec la charge du serveur ?

L'activité du réseau n'a jamais été un problème pour nous ou nos clients. En règle générale, le point faible réside dans le processeur et les disques, car tout le monde sait déjà comment gérer le manque de mémoire. Voici des captures d'écran de nos serveurs de Resource Monitor, qui montrent que nous n'avons pas de charge terrible, elle est très modeste.

Par exemple, dans la capture d'écran ci-dessous, nous voyons un serveur SQL où la charge CPU est de 23 %. Et c'est un très bon indicateur (à titre de comparaison : si la charge approche les 70 %, alors, très probablement, les salariés observeront des ralentissements de travail assez importants).

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

La deuxième capture d'écran montre le serveur d'applications sur lequel s'exécute la plateforme 1C:Enterprise - il ne dessert que les sessions utilisateur. Ici, la charge du processeur est légèrement plus élevée - 38%, elle est fluide et calme. Il y a un certain chargement du disque, mais c'est acceptable.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

La troisième capture d'écran montre un autre serveur 1C:Enterprise (c'est le deuxième, nous en avons deux dans le cluster). Seul le précédent sert les utilisateurs, et les robots travaillent sur celui-ci. Par exemple, ils reçoivent du courrier, acheminent des documents, échangent des données, calculent des droits, etc. Toutes ces activités en arrière-plan effectuent environ 90 à 100 tâches en arrière-plan. Et ce serveur est très chargé - 88%. Mais cela n’affecte pas les gens et met en œuvre exactement toute l’automatisation que la gestion documentaire devrait faire.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Quels sont les indicateurs pour mesurer les performances ?

Nous disposons d'un sous-système sérieux intégré dans nos filiales pour mesurer les indicateurs de performance et calculer diverses mesures. Cela est nécessaire pour comprendre à la fois à l’heure actuelle et dans une perspective historique ce qui se passe dans le système, ce qui empire, ce qui s’améliore. Les outils de surveillance - métriques et mesures de temps - sont inclus dans la livraison standard de « 1C : Document Flow 8 ». Les métriques nécessitent une personnalisation lors de la mise en œuvre, mais le mécanisme lui-même est standard.

Les métriques sont des mesures de divers indicateurs commerciaux à certains moments (par exemple, le délai moyen de livraison du courrier est de 10 minutes).

L'une des métriques indique le nombre d'utilisateurs actifs dans la base de données. Il y en a en moyenne 1000 1400 à 2144 XNUMX par jour. Le graphique montre qu'au moment de la capture d'écran, il y avait XNUMX XNUMX utilisateurs actifs dans la base de données.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Il existe plus de 30 actions de ce type, la liste est sous la coupe.Liste

  • Connectez-vous au système
  • Se déconnecter
  • Chargement du courrier
  • Changer la validité d'un objet
  • Modification des droits d'accès
  • Changer le sujet d'un processus
  • Changer le groupe de travail d'un objet
  • Changer la composition du kit
  • Changer un fichier
  • Importation de fichiers
  • Envoi par courrier
  • Déplacer des fichiers
  • Redirection d'une tâche
  • Signature de la signature électronique
  • Recherche par détails
  • Recherche en texte intégral
  • Réception d'un fichier
  • Interrompre un processus
  • Просмотр
  • Décryptage
  • Enregistrement des documents
  • Scan
  • Supprimer le marquage
  • Création d'un objet
  • Sauvegarde sur disque
  • Début du processus
  • Suppression des entrées du journal utilisateur
  • Supprimer une signature électronique
  • Définir une marque de suppression
  • Chiffrement
  • Exporter un dossier

L'avant-dernière semaine, notre activité moyenne d'utilisateur a augmenté d'une fois et demie (indiquée en rouge sur le graphique) - cela est dû à la transition de la plupart des employés vers le travail à distance (en raison d'événements bien connus). De plus, le nombre d'utilisateurs actifs a été multiplié par 3 (indiqué en bleu sur la capture d'écran), à mesure que les employés ont commencé à utiliser activement les téléphones mobiles : chaque client mobile crée une connexion au serveur. Désormais, en moyenne, chacun de nos collaborateurs dispose de 2 connexions au serveur.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Pour nous, en tant qu'administrateurs, c'est le signal que nous devons être plus attentifs aux problèmes de performances et voir si les choses ont empiré. Mais nous examinons cela en fonction d'autres paramètres. Par exemple, comment le délai de livraison du courrier pour le routage interne change (indiqué en bleu dans la capture d'écran ci-dessous). Nous voyons qu'il a fluctué jusqu'à cette année, mais maintenant il est stable - pour nous, c'est un indicateur que tout est en ordre dans le système.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Une autre mesure que nous utilisons est le temps d'attente moyen pour télécharger les lettres depuis le serveur de messagerie (indiqué en rouge sur la capture d'écran). En gros, combien de temps la lettre circulera-t-elle sur Internet avant de parvenir à notre employé. La capture d’écran montre que cette heure n’a pas non plus changé récemment. Il existe des pics isolés - mais ils ne sont pas associés à des retards, mais au fait que le temps passé sur les serveurs de messagerie est perdu.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Ou, par exemple, une autre métrique (affichée en bleu sur la capture d’écran) : la mise à jour des lettres dans un dossier. L’ouverture d’un dossier courrier est une opération très courante et doit être effectuée rapidement. Nous mesurons la rapidité avec laquelle cela est effectué. Cet indicateur est mesuré pour chaque client. Vous pouvez voir à la fois l’image globale de l’entreprise et la dynamique, par exemple pour un employé individuel. La capture d'écran montre que jusqu'à cette année, la métrique était déséquilibrée, puis nous avons apporté un certain nombre d'améliorations, et maintenant la situation ne s'aggrave pas – le graphique est presque plat.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Les métriques sont essentiellement un outil d'administrateur permettant de surveiller le système et de répondre rapidement à tout changement dans le comportement du système. La capture d'écran montre les mesures internes des filiales pour l'année. L'augmentation des graphiques est due au fait que nous avons été chargés de développer des filiales internes.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Voici une liste de quelques mesures supplémentaires (sous la coupe).
Métrique

  • Activité de l'utilisateur
  • Utilisateurs actifs
  • Processus actifs
  • Nombre de fichiers
  • Taille du fichier (Mo)
  • Nombre de documents
  • Nombre d'objets à envoyer aux destinataires
  • Nombre de contreparties
  • Tâches inachevées
  • Temps d'attente moyen pour télécharger les emails depuis le serveur de messagerie sur les 10 dernières minutes
  • Tampon de données externe : nombre de fichiers
  • Bordure en retard par rapport à la date actuelle
  • Longue file d'attente
  • File d'attente opérationnelle
  • Âge brut du compte par routage externe
  • Taille de la file d'attente d'acceptation du routage interne (file d'attente longue)
  • Taille de la file d'attente d'acceptation du routage interne (file d'attente rapide)
  • Délai de livraison du courrier via routage interne (longue file d'attente)
  • Délai de livraison du courrier via routage interne (file d'attente rapide)
  • Délai d'acheminement du courrier via acheminement externe (moyen)
  • Nombre de documents Réservation
  • Nombre de documents Absence
  • Nombre de documents « Record de travail avec la contrepartie »
  • Lettres de mise à jour par courrier dans un dossier
  • Courrier Ouverture d'une carte-lettre
  • Mail Transférer une lettre dans un dossier
  • Courrier Naviguer dans les dossiers

Notre système mesure plus de 150 indicateurs XNUMX heures sur XNUMX, mais tous ne peuvent pas être surveillés rapidement. Ils peuvent s’avérer utiles plus tard, dans une certaine perspective historique, et vous pouvez vous concentrer sur les plus importants pour l’entreprise.

Par exemple, dans l’une des mises en œuvre, seuls 5 indicateurs ont été sélectionnés. Le client s'est fixé pour objectif de créer un ensemble minimum d'indicateurs, mais en même temps tel qu'il couvre les principaux scénarios de travail. Il serait injustifié d'inclure 150 indicateurs dans le certificat de réception, car même au sein de l'entreprise, il est difficile de se mettre d'accord sur les indicateurs considérés comme acceptables. Et ils connaissaient ces 5 indicateurs et les avaient déjà présentés au système avant le début du projet de mise en œuvre, en les incluant dans la documentation du concours : temps d'ouverture d'une carte pas plus de 3 secondes, temps pour terminer une tâche avec un fichier non plus de 5 secondes, etc. Dans nos filiales, nous disposions de métriques qui reflétaient très clairement la demande initiale à partir des spécifications techniques du client.

Nous disposons également d’une analyse de profil des mesures de performance. Les indicateurs de performance sont un enregistrement de la durée de chaque opération en cours (écriture d'une lettre dans la base de données, envoi d'une lettre à un serveur de messagerie, etc.). Celui-ci est utilisé exclusivement par les techniciens. Nous accumulons de nombreux indicateurs de performance dans notre programme. Nous mesurons actuellement environ 1500 XNUMX opérations clés, réparties en profils.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

L’un des profils les plus importants pour nous est la « Liste des indicateurs clés du courrier du point de vue du consommateur ». Ce profil comprend par exemple les indicateurs suivants :

  • Exécuter la commande : Sélectionner par balise
  • Ouvrir un formulaire : Formulaire de liste
  • Exécuter la commande : Sélectionner par dossier
  • Afficher une lettre dans la zone de lecture
  • Enregistrer une lettre dans votre dossier favori
  • Rechercher des lettres par détails
  • Créer une lettre

Si nous constatons que la métrique d'un indicateur commercial est devenue trop importante (par exemple, les lettres d'un utilisateur particulier ont commencé à arriver depuis très longtemps), nous commençons à le comprendre et nous nous tournons vers la mesure du temps des opérations techniques. Nous avons une opération technique « Archivage des lettres sur un serveur de messagerie » - nous constatons que le délai de cette opération a été dépassé pour la dernière période. Cette opération, à son tour, est décomposée en d'autres opérations - par exemple, l'établissement d'une connexion avec un serveur de messagerie. Nous voyons que, pour une raison quelconque, il est soudainement devenu très important (nous avons toutes les mesures d'un mois - nous pouvons comparer que la semaine dernière, c'était 10 millisecondes, et maintenant c'est 1000 millisecondes). Et nous comprenons que quelque chose ne va pas ici – nous devons le réparer.

Comment maintenir une base de données aussi volumineuse ?

Notre DO interne est un exemple de projet à forte charge qui fonctionne vraiment. Parlons des caractéristiques techniques de sa base de données.

Combien de temps faut-il pour restructurer de grandes tables de base de données ?

Le serveur SQL nécessite une maintenance périodique, mettant les tables en ordre. Dans le bon sens, cela devrait être fait au moins une fois par jour, et même plus souvent pour les tables très demandées. Mais si la base de données est volumineuse (et que notre nombre d'enregistrements a déjà dépassé les 11 milliards), il n'est pas facile d'en prendre soin.

Nous avons restructuré les tables il y a 6 ans, mais cela a commencé à prendre tellement de temps que nous ne nous adaptions plus aux intervalles nocturnes. Et comme ces opérations chargent lourdement le serveur SQL, celui-ci ne peut pas servir efficacement les autres utilisateurs.

Par conséquent, nous devons maintenant utiliser diverses astuces. Par exemple, nous ne pouvons pas effectuer ces procédures sur des ensembles de données complets. Vous devez recourir à la procédure Mettre à jour l'échantillon de 500000 14 lignes - cela prend XNUMX minutes. Il ne met pas à jour les statistiques sur toutes les données du tableau, mais sélectionne un demi-million de lignes et les utilise pour calculer les statistiques qu'il utilise pour l'ensemble du tableau. C'est une hypothèse, mais nous sommes obligés de la faire, car pour un tableau spécifique, la collecte de statistiques sur l'ensemble d'un milliard d'enregistrements prendra un temps inacceptable.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C
Nous avons également optimisé d'autres opérations de maintenance en les rendant partielles.

La maintenance d'un SGBD est généralement une tâche difficile. Dans le cas d'une interaction active entre les employés, la base de données se développe rapidement et il devient de plus en plus difficile pour les administrateurs de la maintenir - mise à jour des statistiques, défragmentation, indexation. Ici, nous devons appliquer différentes stratégies, nous savons bien comment procéder, nous avons de l'expérience, nous pouvons la partager.

Comment la sauvegarde est-elle mise en œuvre avec de tels volumes ?

Une sauvegarde complète du SGBD est effectuée une fois par jour la nuit, une sauvegarde incrémentielle toutes les heures. En outre, un répertoire de fichiers est créé chaque jour et constitue une partie de la sauvegarde incrémentielle du stockage de fichiers.

Combien de temps faut-il pour effectuer une sauvegarde complète ?

Une sauvegarde complète sur un disque dur s'effectue en trois heures, une sauvegarde partielle en une heure. L'écriture sur bande prend plus de temps (un appareil spécial qui effectue une copie de sauvegarde sur une cassette spéciale stockée à l'extérieur du bureau ; une copie transférable est réalisée sur la bande, qui sera conservée si, par exemple, la salle des serveurs brûle). La sauvegarde est effectuée exactement sur le même serveur, dont les paramètres étaient plus élevés - un serveur SQL avec 20 % de charge processeur. Au moment de la sauvegarde, bien sûr, le système se détériore bien, mais il reste fonctionnel.

Nous vérifions par nous-mêmes : comment 1C est déployé et comment il est administré : Flux documentaire au sein de l'entreprise 1C

Y a-t-il une déduplication ?

Déduplication Il y a des fichiers, nous allons les tester sur nous-mêmes, et bientôt ils seront inclus dans la nouvelle version de Document Management. Nous testons également le mécanisme de déduplication des contreparties. Il n'y a pas de déduplication des enregistrements au niveau du SGBD, puisque cela n'est pas nécessaire. La plateforme 1C:Enterprise stocke les objets dans le SGBD, et seule la plateforme peut être responsable de leur cohérence.

Existe-t-il des nœuds en lecture seule ?

Il n'y a pas de nœuds de lecture (nœuds système dédiés qui servent ceux qui ont besoin de recevoir des données à lire). DO n'est pas un système de comptabilité à installer sur un nœud BI séparé, mais il existe un nœud distinct pour le service de développement, avec lequel les messages sont échangés au format JSON, et le temps de réplication typique est d'unités et de dizaines de secondes. Le nœud est encore petit, il compte environ 800 millions d’enregistrements, mais il se développe rapidement.

Les e-mails marqués pour suppression ne sont-ils pas supprimés du tout ?

Pas encore. Nous n'avons pas pour tâche d'alléger la base. Il y a eu plusieurs cas assez graves où il a fallu se référer à des lettres marquées pour suppression, dont 2009. C'est pourquoi nous avons décidé de tout garder pour l'instant. Mais lorsque le coût de cette mesure deviendra injustifié, nous penserons à son retrait. Mais si vous devez supprimer complètement une lettre distincte de la base de données afin qu'il n'y ait aucune trace, cela peut être fait sur demande spéciale.

Pourquoi le stocker ? Disposez-vous de statistiques sur l'accès aux anciens documents ?

Il n'y a pas de statistiques. Plus précisément, il se présente sous la forme d’un journal utilisateur, mais il n’est pas stocké longtemps. Les inscriptions datant de plus d’un an sont effacées du protocole.

Il y avait des situations où il était nécessaire de récupérer une vieille correspondance datant d'il y a cinq, voire dix ans. Et cela n’a toujours pas été fait par vaine curiosité, mais pour prendre des décisions commerciales complexes. Il y a eu un cas où, sans historique de correspondance, une mauvaise décision commerciale aurait été prise.

Comment est évaluée et détruite la valeur des documents en fonction des durées de conservation ?

Pour les documents papier, cela se fait de la manière traditionnelle habituelle, comme pour tout le monde. Nous ne le faisons pas pour les appareils électroniques - laissez-les les garder pour eux. Le siège est ici. Il y a des avantages. Tout le monde va bien.

Quelles sont les perspectives de développement ?

Aujourd'hui, notre DO résout environ 30 problèmes internes, dont certains que nous avons répertoriés au début de l'article. Le DL sert également à préparer les conférences que nous organisons deux fois par an pour nos partenaires : tout le programme, tous les rapports, toutes les sections parallèles, les salles - tout cela est tapé dans le DL, puis téléchargé depuis celui-ci, et un programme imprimé est fait.

Plusieurs autres tâches sont en cours pour le DO, en plus de celles qu'il est déjà en train de résoudre. Il existe des tâches à l'échelle de l'entreprise, et il y en a des uniques et rares, nécessaires uniquement à un service spécifique. Il est nécessaire de les aider, ce qui signifie élargir la « géographie » d'utilisation du système au sein de 1C - élargir le champ d'application, résoudre les problèmes de tous les départements. Ce serait le meilleur test de performances et de fiabilité. J’aimerais voir le système fonctionner sur des milliards d’enregistrements, des pétaoctets d’informations.

Source: habr.com

Ajouter un commentaire