Performance de Vertec
Transcription
Performance de Vertec
Performance de Vertec Produit : Vertec Version produit : Version doc : Création : Modification : 1.0 27.03.2012 27.03.2012 Publication : Distribution : 5.6 X Document X Base de connaissance FAQ Client Interne Il existe plusieurs façons de ralentir Vertec. Au début, il est important de trouver ce qui est exactement lent. Souvent, il ne s’agit que de l’affichage d’une table ou d’un dossier, ou alors un processus précis génère une baisse de performance. D’abord, il faut trouver, s’il s’agit vraiment d’un problème de Vertec. Les causes peuvent provenir par exemple d’un problème de réseau. Pour le définir, vérifiez la charge du processeur pendant que vous travaillez dans Vertec (dans le gestionnaire de tâche). La charge du processeur est basse Si pratiquement rien ne fonctionne pendant que vous attendez dans Vertec, vous pouvez en conclure qu’il s’agit d’un problème de réseau ou un problème du serveur et que Vertec attend. Référez-vous au document « Performance en réseau.pdf ». La charge du processeur est haute Si la charge du processeur est haute pendant que vous attendez dans Vertec, vous pouvez en conclure que c’est vraiment Vertec qui est lent. Essayez se trouver où le problème de performance se situe. La liste ci-dessous doit vous mettre sur la piste du problème : - Vertec démarre lentement, mais est ensuite rapide - Un dossier s’ouvre lentement - Les tables s’affichent lentement - La saisie des prestations est lente - L’affichage d’un projet et d’une phase est lent - La table des activités s’affiche lentement - La création d’un élément est lente - La suppression d’un élément est longue - Diverses lenteurs Performance de Vertec – Page 1 sur 7 hostagest sàrl Tél : +41 21 635 31 02 Email : [email protected] Grand’Rue 14 CH – 1083 Mézières Fax : +41 21 635 31 04 Homepage : www.hostagest.ch Est-ce que le service Vertec est démarré ? La notif fonctionne-t-elle normalement ? Si vous travaillez avec le service Vertec et la notif, contrôlez si le serveur Vertec est démarré et que la notif ne retourne aucune erreur. Vertec démarre lentement mais est ensuite rapide Dossiers IX au niveau supérieur La cause peut provenir du répertoire IX qui est installé au niveau supérieur de Vertec. Le niveau supérieur, la racine en fait, est ce que l’on voit en premier quand Vertec est démarré (p.ex. les données de base, les dossiers publics). Un dossier IX calcule son contenu sitôt que le niveau dans lequel il se trouve est affiché. Si le dossier se trouve à la racine, le contenu est calculé au démarrage de Vertec. Déplacez le dossier IX à un niveau inférieur pour que Vertec démarre plus rapidement. Vous pouvez déplacer un dossier avec ce script : Lien pour télécharger le script : ChangeParentordner.txt Détail du script : '---Bezeichnung: Ordner verschieben ' Klassen: Eintrag ' ObjectScript: No ' ContainerScript: No ' EventType: Kein '---Ändert den Parentordner eines bestimmten Ordners. ' Der Ordner wird so in einen anderen Ordner verschoben. ' Der neue Parenordner muss über den Namen angegeben ' werden. Der Name muss nicht zwingend die Bezeichnung ' sein, die auf der Oberfläche erscheint. Sie können den ' Namen einsehen, indem Sie auf dem Ordner mit rechter ' Maustaste System > Eigenschaften anwählen. Im Feld ' Bezeichnung befindet sich der Name. '---03.02.2004, Vertec AG: erstellt. '---07.05.2007, cp: Vertec und argobject angepasst. option explicit dim ordner dim ordnerlist dim parentname set ordner = Vertec.argobject if not ordner.isOfType("AbstractOrdner") then Msgbox("Sie können dieses Skript nur auf "_ &"einem Ordner ausführen") else 'neuen Parentordner bestimmen parentname = InputBox("Geben Sie den Namen "_ &"des neuen Parentordners an") set ordnerlist = Vertec.eval("ordner->select(bezeichnung='"_ +parentname+"')") if ordnerlist.count <> 1 then msgbox("Es wurden keine oder mehrere Ordner "_ & "mit diesem Namen gefunden. Die Zuordnung "_ & "kann nicht vorgenommen werden.") else ordner.member("parentordner") = ordnerlist.objects(0) end if end if Performance de Vertec – Page 2 sur 7 Type de lien « Wrapper » Lors du démarrage, le niveau supérieur de l’arborescence de l’utilisateur annoncé est affiché. Si, sur les collaborateurs des projets, vous utilisez des types de liens « Wrapper » pour lesquels vous avez décoché la case « Toujours afficher le récipient », le programme contrôle lors de la mise en place de l’arborescence chaque récipient s’il doit être affiché ou pas. Dans les liens « Wrapper », cochez la case « Toujours afficher le récipient » ainsi les dossiers seront affichés dans l’arborescence mais les objets ne seront chargés que si vous cliquez sur un de ces dossiers. Lecture des projets actifs lors du démarrage du programme Si des installations comportent un grand nombre de projets (dès 2000 à 3000 projets actifs), ils ne devraient pas être lus au démarrage du projet. Notez les points suivants : - Désactivez l’option « Lire les projets actifs lors du démarrage » dans l’onglet « Projet » des paramètres du système. - Dans toutes les tables avec des colonnes en relation avec des projets (prestations, frais, dépenses et activités), modifiez le nom de l’élément en edtProjekt dans la fenêtre des paramétrages supplémentaires de la colonne correspondante. Cela a pour effet qu’une fenêtre de recherche s’affiche au lieu d’une liste déroulante. Version Les versions 5.1.0.31 et 5.1.0.41 chargent les adresses des clients au démarrage. Si vous utilisez une de ces versions et que le démarrage est lent, vous devriez installer une autre version. Contrôle des objets chargés (LoadedObjects) Dans les infos systèmes de Vertec (menu « Options – Infos système »), une liste des objets chargés est affichée à la section [LoadedObjects]. Contrôlez ce que Vertec a chargé au démarrage afin de vous indiquer peut-être pourquoi le démarrage est si lent. Un dossier précis s’ouvre lentement Structure des dossiers Le dossier sur lequel vous cliquez fait partie d’une arborescence. Ce qui doit être affiché correspond aux sous-dossiers. Un dossier IX qui a été mis en place comme sous-dossier peut en être la cause possible. Un dossier IX calcule son contenu sitôt que le niveau dans lequel il se trouve est affiché. Dans ce cas, l’affichage des sous-dossiers en est ralenti. Déplacez le dossier IX à un niveau inférieur, par exemple dans celui vous intercalez un autre dossier. Le dossier IX ne se calcule que quand vous voulez vraiment l’afficher. Vous pouvez déplacer un dossier avec le script décrit au chapitre « Dossiers IX au niveau supérieur ». Dossiers uniques Les dossiers sont des dossiers uniques. Ils doivent afficher les éléments. Il s’agit de : Dossier normaux S’il s’agit de milliers d’éléments qui doivent être chargés, cela peut prendre du temps. Dans ce cas, vous devez patienter. Dans les autres cas, il s’agit plutôt d’un problème dans les tables affichées. Référez-vous au chapitre « Les tables s’affichent lentement » plus bas. Performance de Vertec – Page 3 sur 7 Dossiers à expressions Contrôlez l’expression. Peut-elle être optimisée ? Dans Vertec, il y a des classes qui peuvent regrouper un nombre important d’objets. Lors de la saisie d’une liste de classes dans l’OCL, les objets de cette dernière sont chargés en mémoire. C’est le cas pour les classes OffeneLeistung et VerrechneteLeistung qui utilisent beaucoup de mémoire, ce qui peut avoir une influence négative sur les performances. Pouvez-vous déplacer le point de sortie ? Pouvez-vous par exemple prendre comme point de départ les factures qui sont compensées au lieu des prestations facturées ? Ou pouvez-vous d’abord accéder aux collaborateurs d’une équipe précise pour reprendre leurs prestations au lieu de reprendre les prestations ouvertes ? Pouvez-vous utiliser les sommes des prestations au lieu des prestations ? Pouvez-vous utiliser un dossier SQL au lieu d’un dossier à expression ? Les dossiers SQL sont recommandés si un élément doit être recherché dans une grande quantité de données au moyen d’une requête simple. Au contraire des dossiers à expressions, seuls les éléments qui ont été trouvés avec la requête SQL sont chargés de la base de données. Remarque : si le dossier a pour base un dossier de recherche, vous ne devriez pas le déplacer. Les dossiers SQL ne devraient pas être utilisés comme base aux dossiers de recherche. L’expression vous paraît-elle correcte ? Alors le problème peut venir des paramètres des tables affichées. Pour le contrôler, créez un dossier à expression temporaire avec la même expression. Si l’affichage est plus rapide, le problème doit être recherché dans la table. Référez-vous au chapitre « Les tables s’affichent lentement » plus bas. Dossiers SQL S’il s’agit de milliers d’éléments qui doivent être chargés, cela peut prendre du temps. Dans ce cas, vous devez patienter. Dans les autres cas, il s’agit plutôt d’un problème dans l’affichage des tables. Référez-vous au chapitre « Les tables s’affichent lentement » plus bas. Dossiers de recherche Un dossier de recherche se base sur différents autres dossiers. Vérifiez ces derniers. Y en a-t-il un qui amoindrit les performances que vous pouvez optimiser ? Sinon, le problème est-peut-être lié au paramétrage des tables. Référez-vous au chapitre « Les tables s’affichent lentement » plus bas. Les tables s’affichent lentement Contrôle des colonnes Il est important que la largeur des colonnes que vous n’utilisez plus ne soit pas simplement mise à 0 mais ces dernières doivent être supprimées. Sinon elles continuent d’être calculées comme avant et ça prend du temps. Contrôlez si dans la table, de telles colonnes existent encore et supprimez-les si vous ne les utilisez plus. Contrôle des expressions des colonnes Y a-t-il un calcul complexe dans la table ? Les calculs complexes prennent du temps. Il est recommandé de ne pas effectuer des calculs complexes dans les tables qui sont souvent utilisées. Il est préférable de créer un deuxième dossier qui effectue les calculs utilisés. Contrôlez les expressions. Pouvez-vous les optimiser ? Contrôle des constraints (conditions) Les conditions peuvent mener à des ralentissements considérables. La lenteur de création de tables précises est une indication pour la résolution d’un tel problème: si par exemple, les tables des projets prennent du temps mais que les tables des prestations sont en ordre, il faudrait contrôler les conditions des projets et les adapter dans tous les cas. Performance de Vertec – Page 4 sur 7 Sommes des prestations dans les tables Utilisez-vous les sommes des prestations ? Dans les expressions des colonnes, elles ne sont pas recommandées, car le gain de performance lors du calcul des sommes st largement perdu par le grand nombre de requêtes SQL. Utilisez-vous des attributs des sommes dans les expressions (par exemple sumWertExt) ? Est-ce que l’option « Pour les attributs des sommes, utiliser la recalculation accélérée » est activée dans les paramètres du système ? Dans les deux cas, si la table est affichée une seule fois, ça n’a pas beaucoup d’influence. Si les tables sont affichées en arrière-plan pendant que des prestations sont modifiées en avant-plan, cela peut devenir problématique. Les sommes des prestations sont recalculées sitôt qu’une prestation est modifiée dans le système. Le recalcul s’effectue lorsque les sommes des prestations sont visibles. Dans ce cas, toute la table en cours est recalculée, ce qui induit une énorme perte de performance. Il est préférable de ne pas afficher la table en arrière-plan, mais d’afficher d’abord une table « sans problème » avant de modifier des prestations. La saisie de prestations est lente La saisie des prestations était rapide et est devenue d’un coup lente. Faites attention à ce qui est affiché en arrière-plan. Il peut s’agir d’une table avec des sommes de prestations. Une explication à ce sujet se trouve au chapitre précédent « Somme des prestations dans les tables ». L’affichage d’un projet ou d’une phase est lent L’affichage des prestations facturées, des frais et des dépenses Dans la section « Projet » des paramètres du système, il y a une option « Afficher les prestations facturées et les frais ». Si cette option est sur « Oui », les prestations facturées, les frais et les dépenses sont affichés dans un onglet séparé du projet. Un nombre important d’éléments facturés peut réduire la vitesse d’affichage des projets et des phases des projets. Pour optimiser les performances, par défaut, désactivez cette option. Si vous désirez accéder aux prestations facturées, aux frais et aux dépenses, vous pouvez toujours activer cette option ultérieurement ou afficher la facture correspondante. Sur la facture, les éléments facturés sont toujours visibles. Affichage des valeurs du budget Dans la section « Projet » des paramètres du système, il y a l’option « Indiquer la somme » qui vous permet de définir si les valeurs du budget des projets et des phases doivent être affichées par défaut. Pour pouvoir afficher les chiffres du budget, Vertec doit charger les prestations, les frais et les dépenses de la phase ou du projet correspondant. Un tel paramétrage peut conduire à des ralentissements. Afin d’optimiser les performances, par défaut, désactivez cette option. Vous pouvez modifier cette option dans chaque projet ou dans chaque phase de projet en cochant la case « Afficher valeurs ? ». Ainsi vous n’afficher que ce que vous avez vraiment besoin. Une autre manière d’accélérer l’affichage est d’utiliser la recalculation accélérée pour les sommes. Dans ce cas, les prestations, les frais et les dépenses ne sont pas chargées mais seules les sommes sont utilisées. Cela signifie que l’option « Indiquer somme » ne doit être à « OUI » que si l’option « Pour les attributs des sommes, utiliser la recalculation accélérée » est à « OUI ». Performance de Vertec – Page 5 sur 7 La table des activités s’affiche lentement Lors de l’examen de validité de documents qui sont classées dans une activité, Vertec contrôle également si le fichier lié existe dans le système de fichiers. Pour les tables d’activités de grande taille, des problèmes de performance peuvent surgir. Dans l’onglet « Général » des paramètres du système, il y a l’option « Contrôler l’existence des documents » qui vous permet de définir si le contrôle doit être effectué. Par défaut, cette option est à « OUI ». Un « NON » signifie qu’aucun contrôle n’a lieu et les activités avec documents dont les fichiers sont inexistants sont tout de même valables. La création d’un élément est lente Si la création d’un élément est très lente, mais que le reste fonctionne bien, cela peut provenir du port des notifs qui est bloqué. Si Vertec est installé sur un serveur qui a également un pare-feu pour le réseau interne (c’est le cas p.ex. pour XP, Serveur 2003 ainsi que Serveur 2008), les ports de Notif et XML doivent être ouverts pour que cela fonctionne. De plus, il faut ouvrir le port et VertecServer.exe. Les informations quant aux ports utilisés sont décrites dans le fichier de configuration Vertec.ini qui se trouve dans le répertoire d’installation de Vertec. La suppression d’un élément est lente Est-ce que l’élément est lié à un autre au travers d’un lien générique ? Si c’est le cas, tous les objets liés doivent être également être chargés Si on a un lien générique entre les adresses et les collaborateurs et que 5000 adresses sont liées à un collaborateur, lors de la suppression d’une adresse, les 4999 autres sont chargées. Supprimez d’abord manuellement le lien (générique) avec l’autre objet et supprimez ensuite l’élément. Diverses lenteurs De manière générale, Vertec semble lent, mais vous ne pouvez pas définir exactement où. Un problème de réseau est exclu (voir ci-dessus au sujet de la charge processeur). Vertec est lent, la notif génère une erreur Vertec fonctionne en partie très lentement et des erreurs qui concernent la notif qui ne fonctionne pas apparaissent régulièrement. Dans l’info système, section « Notif », l’erreur « Socket error #11001 » est affichée. La raison est un nom d’hôte erroné dans le fichier INI. L’ordinateur sur lequel la notif fonctionne s’appelle tout simplement autrement. Si l’on corrige le nom, la notif fonctionne correctement et Vertec est à nouveau rapide. Indexes corrompus Des indexes corrompus peuvent générer des lenteurs, Les processus de calculs intensifs sont fortement ralentis. SQL Les indexes peuvent être recréés avec une nouvelle conversion de la base de données. Exécuter une conversion SQL sans modifier la version. Performance de Vertec – Page 6 sur 7 Firebird Une sauvegarde/restauration de la base de données en utilisant DBTool supprime les indexes et les recréée. Contrôlez que tous les utilisateurs quittent Vertec avant d’exécuter cette procédure. Si aucune amélioration n’est remarquée, une augmentation de la taille de la page de la base de données peut arranger le problème. La taille de la page allouée par défaut est depuis un certain temps de 4096 dans Vertec. Les valeurs de 8192 et de 16384 sont possibles. Un petit test a indiqué que si pour une base de données avec un nombre important de champs supplémentaires, la taille de la page allouée est définie à 16384, une augmentation drastique des performances lors de requêtes sur les champs supplémentaires. Rien ne vient contredire l’augmentation de la taille de la page à 16384. La documentation de Firebird mentionne que cette valeur n’est importante que si le système I/O de l’ordinateur utilise le transfert 64 bits (n’a rien à voir avec les systèmes d’exploitation 64 bits). Mais ça ne semble pas être un problème aujourd’hui. La taille de la page peut être définie lors de la restauration de la base de données au moyen de l’IBOConsole ou de la ligne de commandes. Le DBTool de Vertec ne supporte pas encore cette fonction qui sera implémentée dans le futur. La ligne de commandes d’une restauration (dans un nouveau fichier DB) avec l’option de la taille de la page ressemble à ça : gbak -c -p 16384 -user SYSDBA -pass password vertec.fbk vertec.fdb Cela ne doit être fait que dans les versions 5.5 de Vertec. La mise à jour à la version 5.5 exécute automatiquement une sauvegarde/restauration et définit la taille de la page. Performance de Vertec – Page 7 sur 7
Documents pareils
Erreur lors du démarrage
Vérifiez si les paramètres dans Vertec.ini sont corrects.
Assurez-vous que le driver est écrit en majuscule (p.ex. INTRBASE, MSSQL, etc.).
Avec le programme DBTool.exe qui se trouve dans le réperto...