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

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...

Plus en détail