SOCIÉTÉ

Blogues

  • user warning: Unknown column 'u.signature_format' in 'field list' query: SELECT c.cid as cid, c.pid, c.nid, c.subject, c.comment, c.format, c.timestamp, c.name, c.mail, c.homepage, u.uid, u.name AS registered_name, u.signature, u.signature_format, u.picture, u.data, c.thread, c.status FROM comments c INNER JOIN users u ON c.uid = u.uid WHERE c.nid = 22936 AND c.status = 0 ORDER BY c.cid LIMIT 0, 50 in /var/www/www.4d.com/docs/modules/comment/comment.module on line 991.
  • warning: file_get_contents(http://www.telize.com/geoip/54.161.3.96) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.

Diagnostic des anomalies grâce aux logs

21.07.2011
par Thomas Maul

Dans ce blog, Thomas Maul vous donne un aperçu de la session qu'il présentera lors de la Pre-class du 4D Summit 2011. La Pre-Class est pour les participants du Summit une opportunité unique d'acquérir de nouvelles compétences de haut niveau grâce à la présence d'ingénieurs seniors de chez 4D.

 

Les partenaires 4D se plaignent parfois que "le serveur est très lent" ou que "de temps en temps le serveur ne fonctionne pas comme il devrait". Cette problématique est d'autant plus difficile à gérer lorsque l'environnement est important et qu'il est impossible de demander au client de quelle façon différente il a utilisé son logiciel.


En utilisant les logs et en sachant les lire et les analyser, nous pouvons trouver et comprendre la plupart des problèmes. D'autant plus qu'il existe des outils permettant d'analyser et de comprendre le comportement d'un serveur 4D même lorsque tout fonctionne très bien. L'utilisation de logs présente l'avantage de pouvoir identifier rapidement les solutions envisageables et de résoudre les difficultés, en évitant les soucis, et même avant que les clients n'aient pu les remarquer !

 

Depuis la version 4D v11 SQL, 4D Server fournit de nombreux fichiers de logs permettant des analyses détaillées hors du site de production, afin d'améliorer la compréhension de son comportement et des problèmes rencontrés.

 

Une partie de cette session mettra l'accent sur quatre outils créés pour l'occasion :

 

L'analyseur de logs de 4D Cache

L'un des principaux sujet de cette session est la présentation de l'outil d'analyse des logs du cache de 4D. Il permet l'enregistrement du résultat de la commande GET CACHE STATISTIC et son analyse. Le résultat ? Une vue claire du comportement de la mémoire cache, comme illustrée dans les copies d'écran ci-dessous :

 

 

Cache log

 

Cet outil fournit également de l'information sur l'utilisation du cache, telle que les "blocs larges disponibles" de la mémoire physique ou virtuelle. Leur étude permet de comprendre les besoins d'utilisation mémoire d'une application.
 

Memory

 

L'analyse de l'ensemble de ces données va permettre de localiser les éventuels problèmes, étudier les besoins en mémoire d'une application, et pouvoir ainsi affiner les réglages mémoire et certains paramètres spécifiques.
 

Le composant "4D Info Report 3.0"

Ce composant fournit des informations importantes sur l'environnement : matériel utilisé (type d'ordinateur, CPU, mémoire, etc.), systèmes d'exploitation (tel que Windows Server R2 SP1), version de 4D (telle que 4D12.2 Hotfix 2), ainsi qu'un cliché instantané de la mémoire utilisée et du nombre d'utilisateurs et de process :

 

Manufacturer:                  	PowerEdge R710
Computer Kind: x64-based PC
Total RAM: 16384 MB
Number of Processors: 2
Processor Name: Intel Xeon E5520
CPU Speed: 2.27 GHz
Total number of Cores: 8
Total number of CPU threads: 16
Operating System: Windows Server 2008 Standard SP1 (64-bit)
Application type: 4D Server (64-bit)
Application version: v12 release 2 (F0021220)

 

La première étape indispensable pour comprendre une situation (aussi historiquement) sur un site client, est l'intégration de ce composant.

 

Par exemple, le graphe suivant montre le comportement du cache utilisé en relation avec le nombre d'utilisateurs et le nombre total de process après une semaine d'utilisation :

 

Cache analysis

 

4D Pop Data Analyzer

4D Pop Data Analyzer est un composant  qui analyse le contenu des fichiers de données 4D. Cet outil aide à la compréhension des exigences minimales et maximales de taille pour un enregistrement. Il analyse les exigences de la donnée réelle ainsi que la fragmentation de la table.

 

4D Pop Data Analyzer

 

Network Log Analyzer

Le Log des échanges réseaux de 4D Server contient un nombre de données très important. L'identification d'un problème est complexe du fait du nombre important de paquets envoyés et reçus sur le réseau. Le Network Log Analyzer a l'avantage de ne retenir que les exceptions, comme les paquets transmis très lentement ou très rapidement. 

 

Le Network Log Analyzer regroupe les paquets par intervalles de 5 minutes, ce qui permet d'identifier rapidement les problèmes intervenus le long d'une journée :

 

 

Network log analyzer

 

Cet exemple montre un serveur complètement surchargé. Les temps de réponses moyens sont entre 0,5 et 5 secondes, avec un temps de réponses maximum de 113 secondes pour une requête unique.

 

Un double click sur une ligne permet d'accéder aux détails des opérations effectuées :

 

Network log analyzer detail

 

 

Les paquets sont triés par temps de réponse. Il est ainsi facile de détecter que l'opération de 113 secondes est une requête en base de données, suivie d'une seconde également très lente. Ensuite un "Selection vers tableau" est effectué pendant 25 secondes, et nous constatons que les opérations suivantes consomment largement moins de temps pour être effectuées. Le User Name / Process Name (ici effacé pour cause de confidentialité) nous permet d'identifier l'opération et un double click réduit les opérations uniquement au process associé. En sachant exactement quelles sont les opérations effectuées avant et après, il est géralement simple de retrouver la partie de code associée.

 

De plus, le composant permet d'associer le log de debug client avec le log réseau, les affichant l'un à côté de l'autre :

 

Client debug log

 

 

Maîtrisez ces techniques et bien plus encore au 4D Summit 2011 à Boston, Massachusetts, en compagnie des meilleurs ingénieurs de 4D et des développeurs venus du monde entier !

 

RSS 6 commentaire(s) pour ce billet