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 : Gestion des documents 8 ». En plus de la gestion de documents (comme son nom l'indique), c'est aussi un outil moderne ECM- un système (Enterprise Content Management) avec une large gamme 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 1C. La base de données est déjà impressionnante (11 milliards d'enregistrements), ce qui nécessite une maintenance plus rigoureuse et des équipements plus performants.

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 pour la première fois à propos des produits 1C.
1C:Document Management est une solution applicative (configuration) mise en œuvre sur la base d'un framework de développement d'applications métier - 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 : Gestion documentaire 8 » (abrégé DO) permet d'automatiser le traitement des documents au sein de l'entreprise. L'un des principaux outils d'interaction avec les employés est le courrier électronique. Outre le courrier électronique, DO résout également d'autres problèmes :

  • Chronométrage
  • Comptabilisation des absences des employés
  • Demandes de coursiers/transports
  • Calendriers de travail des employés
  • Enregistrement de la correspondance
  • Contacts des employés (carnet d'adresses)
  • Forum d'entreprise
  • Réservation des locaux
  • Planification d'événements
  • CRM
  • Travail collaboratif avec des fichiers (avec sauvegarde des versions des fichiers)
  • etc

Nous allons à la gestion des documents client léger (application exécutable native) à partir de Windows, Linux, macOS, client Web (à partir des navigateurs) et client mobile – selon la situation.

Et aussi grâce à notre autre produit lié à la gestion documentaire – Système d'interaction – Nous bénéficions directement des fonctionnalités d'une messagerie instantanée dans la Gestion Documentaire : chats, appels audio et vidéo (y compris les appels de groupe, particulièrement pertinents depuis un client mobile), échange rapide de fichiers et possibilité de créer des chatbots simplifiant l'utilisation du système. Un autre avantage du Système d'Interaction (par rapport aux autres messageries) est la possibilité de mener des discussions contextuelles liées à des objets spécifiques de la Gestion Documentaire (documents, événements, etc.). Autrement dit, le Système d'Interaction est profondément intégré à l'application cible et ne se limite pas à un simple bouton.

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

Si nous parlons de chiffres plus précis, voici le nombre de lettres et de fichiers à l'heure actuelle :

  • Lettres sortantes – 14,7 millions.
  • Courriels entrants – 85,4 millions.
  • Versions de fichiers – 70,8 millions.
  • Documents internes – 30,6 mille.

DO ne se limite pas au courrier et aux dossiers. Voici les chiffres relatifs aux autres objets comptables :

  • Réservation de salles de réunion – 52 126
  • Rapports hebdomadaires – 153 940
  • Rapports quotidiens – 628 153
  • Approbations de visas – 11 821
  • Documents entrants – 79 677
  • Documents sortants – 28 357
  • Entrées sur les événements dans les calendriers de travail des utilisateurs - 168 228
  • Demandes de coursiers – 21 883
  • Contreparties – 81 029
  • Registres de travail des 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 déroule à travers des processus : approbation, exécution, examen, enregistrement, signature, etc. Nous mesurons la durée des processus, le nombre de cycles, le nombre de participants, le nombre de retours et le nombre de demandes de modification des délais. Ces informations sont très utiles à analyser pour comprendre les processus en cours dans l'entreprise et améliorer l'efficacité du travail collaboratif des employés.

Quel équipement utilisons-nous pour traiter tout cela ?

Ces chiffres indiquent un volume de tâches impressionnant ; nous avons donc dû allouer des équipements performants pour les besoins du DO interne. À ce jour, 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é des équipements.

Comment se passent les choses avec la charge du serveur ?

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

Par exemple, dans la capture d'écran ci-dessous, nous voyons un serveur SQL dont le processeur est chargé à 23 %. C'est un très bon indicateur (à titre de comparaison : si la charge approche 70 %, les employés constateront probablement des ralentissements 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 exécutant la plateforme 1C:Enterprise ; il ne gère que les sessions utilisateur. La charge processeur est légèrement supérieure (38 %). L'exécution est fluide et silencieuse. Le disque est sollicité, mais cela reste 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 (il s'agit du deuxième, nous en avons deux dans le cluster). Seul le précédent sert les utilisateurs, et c'est là que les robots travaillent. Par exemple, ils reçoivent le courrier, acheminent les documents, échangent des données, calculent les droits, etc. Toutes ces activités en arrière-plan sont réalisées par environ 90 à 100 tâches d'arrière-plan. Ce serveur est très sollicité (88 %). Cependant, cela n'affecte pas les utilisateurs et il met en œuvre toutes les automatisations nécessaires à la gestion documentaire.

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

Quelles sont les mesures permettant de déterminer la performance ?

Nous disposons d'un sous-système performant de mesure des indicateurs de performance et de calcul de divers indicateurs, intégré à notre DO. Cela est nécessaire pour comprendre, à la fois au moment présent et dans une perspective historique, l'évolution du système, ses dégradations et ses améliorations. Des outils de suivi (indicateurs et mesures temporelles) sont inclus dans la version standard de « 1C : Gestion documentaire 8 ». Les indicateurs doivent être ajustés 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 à 10 minutes).

L'une des mesures indique le nombre d'utilisateurs actifs dans la base de données. En moyenne, on en compte entre 1000 1400 et 2144 XNUMX par jour. Le graphique indique qu'au moment de la capture d'écran, la base de données comptait XNUMX XNUMX utilisateurs actifs.

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 ci-dessous.Liste

  • Connectez-vous au système
  • Se déconnecter
  • Chargement du courrier
  • Changer la réalité d'un objet
  • Modification des droits d'accès
  • Changement d'objet du processus
  • Modification du groupe de travail de l'objet
  • Changement dans la composition du kit
  • Changement de fichier
  • Importer un fichier
  • Envoi par courrier
  • Déplacer des fichiers
  • Redirection d'une tâche
  • Signature d'un EP
  • Rechercher par détails
  • Recherche en texte intégral
  • Réception d'un fichier
  • Interruption du processus
  • Просмотр
  • Décodage
  • Enregistrement des documents
  • Scan
  • Suppression de la marque de suppression
  • Créer un objet
  • Sauvegarde sur le disque
  • Début du processus
  • Suppression des entrées du journal utilisateur
  • Suppression d'une signature EP
  • Définir une marque de suppression
  • Cryptage
  • Dossier d'exportation

La semaine dernière, l'activité moyenne de nos utilisateurs a été multipliée par une fois et demie (indiquée en rouge sur le graphique), en raison du passage de la plupart des employés au télétravail (lié aux événements connus). De plus, le nombre d'utilisateurs actifs a été multiplié par trois (indiqué en bleu sur la capture d'écran), les employés ayant commencé à utiliser activement leur appareil mobile : chaque client mobile crée une connexion au serveur. Désormais, en moyenne, chacun de nos employés dispose de deux 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, administrateurs, cela indique que nous devons accorder plus d'attention aux problèmes de performances afin de détecter toute aggravation. Nous analysons cela à l'aide d'autres paramètres. Par exemple, l'évolution du délai de distribution du courrier via le routage interne (affiché en bleu dans la capture d'écran ci-dessous). Nous constatons qu'il fluctuait jusqu'à cette année, mais qu'il est désormais stable ; pour nous, c'est un indicateur que tout va bien avec 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

Un autre indicateur pratique pour nous est le temps d'attente moyen pour le téléchargement des lettres depuis le serveur de messagerie (indiqué en rouge sur la capture d'écran). En gros, il s'agit du temps qu'une lettre met à circuler sur Internet avant d'arriver chez notre employé. La capture d'écran montre que ce temps n'a pas changé récemment. Il y a quelques pics, mais ils ne sont pas liés à des retards, mais à une perte de temps sur les serveurs de messagerie.

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, un autre indicateur (affiché en bleu sur la capture d'écran) : la mise à jour des lettres dans un dossier. Ouvrir un dossier de lettres est une opération très fréquente et doit être rapide. Nous mesurons la rapidité de cette opération. Cet indicateur est mesuré pour chaque client. Il permet d'avoir une vue d'ensemble de l'entreprise et de la dynamique, par exemple pour un employé individuel. La capture d'écran montre que jusqu'à cette année, cet indicateur était déséquilibré. Nous avons ensuite apporté plusieurs améliorations et, aujourd'hui, la situation ne se dégrade plus : le graphique est quasiment 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 principalement un outil d'administration permettant de surveiller le système et de réagir rapidement à tout changement de comportement. La capture d'écran montre les métriques internes du DO pour l'année. L'augmentation des graphiques est due au fait que nous avons été chargés de développer le DO interne.

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 non accomplies
  • Temps d'attente moyen pour le téléchargement des e-mails depuis le serveur de messagerie au cours des 10 dernières minutes
  • Tampon de données externe : nombre de fichiers
  • Décalage des frontières par rapport à la date actuelle
  • Longue file d'attente
  • File d'attente opérationnelle
  • Âge du compte brut par routage externe
  • Taille de la file d'attente d'acceptation du routage interne (longue file d'attente)
  • Taille de la file d'attente d'acceptation du routage interne (file d'attente rapide)
  • Délai de livraison du courrier via le routage interne (longue file d'attente)
  • Délai de livraison du courrier pour le routage interne (file d'attente rapide)
  • Délai de livraison du courrier via un routage externe (moyenne)
  • Nombre de documents Réservation
  • Nombre de documents Absence
  • Nombre de documents « Relevé de travail avec la contrepartie »
  • Mise à jour des lettres dans un dossier
  • Courrier Ouverture d'une carte-lettre
  • Courrier Déplacer une lettre vers un dossier
  • Courrier Naviguer dans les dossiers

Notre système mesure plus de 150 indicateurs XNUMXh/XNUMX, mais tous ne peuvent pas être suivis rapidement. Ils pourront s'avérer utiles ultérieurement, dans une perspective historique, mais vous pouvez vous concentrer sur les plus importants pour votre entreprise.

Par exemple, seuls cinq indicateurs ont été sélectionnés pour l'une des implémentations. Le client s'était fixé comme objectif de créer un ensemble minimal d'indicateurs, tout en couvrant les principaux scénarios de travail. Il serait injustifié d'inclure 5 indicateurs dans le certificat de réception, car même au sein de l'entreprise, il est difficile de s'accorder sur les indicateurs acceptables. Or, ces cinq indicateurs étaient connus et avaient déjà été intégrés au système avant le début du projet d'implémentation, notamment dans le dossier d'appel d'offres : temps d'ouverture de carte inférieur à 150 secondes, temps d'exécution d'une tâche avec un fichier inférieur à 5 secondes, etc. Dans notre DO, nous disposions précisément des indicateurs qui reflétaient très clairement la demande initiale du client, issue de son cahier des charges.

Nous disposons également d'une analyse de profil des mesures de performance. Les indicateurs de performance enregistrent la durée de chaque opération effectuée (écriture d'un message dans la base de données, envoi d'un message au serveur de messagerie, etc.). Cette fonction est réservée aux spécialistes techniques. Nous accumulons de nombreux indicateurs de performance dans le 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 de nos profils les plus importants est la « Liste des indicateurs clés des e-mails du point de vue du consommateur ». Ce profil comprend, par exemple, les indicateurs suivants :

  • Exécution de la commande : Sélectionner par balise
  • Ouverture du formulaire : Formulaire de liste
  • Exécution de la commande : Sélectionner par dossier
  • Affichage d'une lettre dans le volet de lecture
  • Enregistrer une lettre dans votre dossier préféré
  • Rechercher des lettres par détails
  • Créer une lettre

Si nous constatons que la métrique d'un indicateur métier est devenue trop importante (par exemple, les lettres d'un utilisateur spécifique ont commencé à arriver très lentement), nous cherchons à comprendre la situation en mesurant le temps des opérations techniques. Prenons l'opération « Archivage des lettres sur le serveur de messagerie » : nous constatons que le temps de cette opération a été dépassé au cours de 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 au serveur de messagerie. Nous constatons que, pour une raison inconnue, ce temps est soudainement devenu très important (nous disposons de toutes les mesures mensuelles : nous pouvons comparer le temps passé la semaine dernière à 10 millisecondes et le temps passé à 1000 XNUMX millisecondes). Nous comprenons alors qu'il y a un problème ; nous devons le corriger.

Comment pouvons-nous maintenir une base de données aussi volumineuse ?

Notre DO interne est un exemple concret de projet à forte charge. Nous vous présenterons les caractéristiques techniques de sa base de données.

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

SQL Server nécessite une maintenance périodique, qui consiste à nettoyer les tables. Idéalement, cette opération devrait être effectuée au moins une fois par jour, voire plus souvent pour les tables très sollicitées. Cependant, si la base de données est volumineuse (et que le nombre d'enregistrements dépasse déjà les 11 milliards), sa maintenance est complexe.

Nous avons procédé à une restructuration des tables il y a six ans, mais cela a pris tellement de temps que nous ne pouvions plus l'intégrer aux intervalles nocturnes. De plus, comme ces opérations surchargent fortement le serveur SQL, celui-ci ne peut pas servir efficacement les autres utilisateurs.

Nous devons donc utiliser différentes astuces. Par exemple, ces procédures ne peuvent pas être exécutées sur des ensembles de données complets. Nous devons recourir à la procédure « Mettre à jour l'échantillon de 500000 14 lignes », qui prend XNUMX minutes. Elle ne met pas à jour les statistiques de toutes les données de la table, mais sélectionne un demi-million de lignes et calcule des statistiques pour celles-ci, utilisées pour l'ensemble de la table. C'est une hypothèse, mais nous devons la formuler, car pour une table spécifique, collecter des statistiques pour un milliard d'enregistrements prendrait 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 complexe. Avec l'interaction active des employés, la base de données croît rapidement et sa maintenance devient de plus en plus difficile pour les administrateurs : mise à jour des statistiques, défragmentation, indexation. Différentes stratégies sont alors nécessaires. Nous maîtrisons parfaitement cette technique et possédons une expérience que nous pouvons partager.

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

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

Combien de temps prend une sauvegarde complète ?

Une sauvegarde complète sur disque dur prend trois heures, une partielle une heure. L'écriture sur bande (un dispositif spécial effectue une copie de sauvegarde sur une cassette dédiée stockée hors du bureau ; une copie aliénable est réalisée sur bande, qui sera conservée en cas de panne du serveur, par exemple) prend plus de temps. La sauvegarde est effectuée sur le même serveur, dont les paramètres étaient plus élevés : un serveur SQL avec une charge processeur de 20 %. Au moment de la sauvegarde, le système se dégrade considérablement, mais il reste opérationnel.

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 Nous testons actuellement ce mécanisme et il sera bientôt intégré à la nouvelle version de la Gestion Documentaire. 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, car elle n'est pas nécessaire. La plateforme 1C:Enterprise stocke les objets dans le SGBD, et seule la plateforme est 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 à ceux qui doivent recevoir des données en lecture). DO n'est pas un système comptable à installer sur un nœud BI distinct, mais il existe un nœud dédié au développement, avec lequel les messages sont échangés au format JSON, et le temps de réplication typique est de quelques unités et dizaines de secondes. Le nœud est encore petit, avec environ 800 millions d'enregistrements, mais il connaît une croissance rapide.

Et les lettres marquées pour suppression ne sont pas supprimées du tout ?

Pas encore. Notre objectif n'est pas de simplifier la base de données. Nous avons eu plusieurs cas graves où nous avons dû accéder à des lettres destinées à être supprimées, notamment celles de 2009. Nous avons donc décidé de tout conserver pour l'instant. Mais lorsque le coût deviendra injustifié, nous envisagerons de les supprimer. Si nous devons supprimer définitivement une lettre de la base de données afin d'en supprimer toute trace, nous pourrons le faire sur demande spéciale.

Pourquoi conserver ces données ? Existe-t-il des statistiques sur le nombre de fois où les anciens documents sont consultés ?

Il n'existe pas de statistiques. Plus précisément, elles existent sous la forme d'un protocole de travail des utilisateurs, mais celui-ci n'est pas conservé longtemps. Les enregistrements datant de plus d'un an sont supprimés du protocole.

Il y a eu des situations où il a été nécessaire de retrouver d'anciennes correspondances datant de cinq, voire dix ans. Et cela n'a jamais été fait par simple curiosité, mais pour prendre des décisions commerciales complexes. Il est arrivé que, sans l'historique des correspondances, une mauvaise décision commerciale ait été prise.

Comment s'effectue l'évaluation de la valeur et la destruction des documents en fonction des durées de conservation ?

Pour les documents papier, on procède de manière traditionnelle, comme pour tout le monde. Pour les documents électroniques, on ne le fait pas : on les laisse stocker. Il y a de la place. C’est avantageux. C’est bénéfique pour tout le monde.

Quelles sont les perspectives de développement ?

Actuellement, notre DO gère une trentaine de tâches internes, dont certaines sont listées au début de l'article. DO sert également à la préparation des conférences que nous organisons deux fois par an pour nos partenaires : le programme complet, tous les rapports, toutes les sections parallèles, les salles ; tout est présenté dans DO, puis téléchargé depuis celui-ci, et un programme imprimé est alors créé.

DO devra bientôt gérer plusieurs autres tâches, en plus de celles déjà réalisées. Il existe des tâches générales pour l'entreprise, ainsi que des tâches uniques et rares, réservées à un service spécifique. Il est nécessaire de les accompagner et, par conséquent, d'élargir le champ d'application du système au sein de 1C, afin de résoudre les problèmes de tous les services. Ce serait le meilleur gage de performance et de fiabilité. J'aimerais que le système fonctionne sur des milliards d'enregistrements, des pétaoctets d'informations.

Source: habr.com

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster