Skip to main content

Analyser les performances de son serveur

Apprenez à utiliser le profiler de FiveM pour analyser les performances de vos ressources et détecter les pics de consommation CPU. Guide via txAdmin, visualisation sur Chrome et export en JSON.

Pré-requis

  • Utiliser les dernières versions des artefacts de FiveM (si c'est pour optimiser les ressources)
  • Avoir un serveur avec txAdmin ou avec un moyen d'envoyer des commandes (Voir notre guide pour configurer txAdmin ici)
  • Utiliser un client FiveM à jour (si c'est pour optimiser les FPS)
  • Google Chrome (ou un autre navigateur basé sur Chromium) pour le lire le profiler facilement (sinon nécessite un peu plus de manipulation)
  • Laisser le serveur ou le client tourner si vous voulez ouvrir directement le profiler dans le navigateur sans le télécharger

Utilisation

Commande pour capturer un profileur

profiler record <total de frames>

Frame(s)

500 est le nombre total de frames recommandé au début, mais il est possible d'en capturer plus ou moins selon vos besoins.

Une frame n'est pas une seconde.

Pour vérifier que le profileur est bien lancé

Voir le message suivant dans la console de votre serveur

Started recording

Via la commande

profiler status

Exemple de sortie quand le profileur est en cours :

Profiler statut en cours

Exemple de sortie une fois le profileur terminé :

Profiler statut terminé

Ouvrir le profileur directement (Sans avoir à sauvegarder)

Utiliser la commande suivante : profiler view

Puis cliquez sur le lien qui s'affiche dans la console de votre serveur.

warning

Votre txAdmin doit rester ouvert sans redémarrer pour que le profileur s'affiche. (Sinon il faut télécharger le profileur)

Sauvegarder le profileur

Il est toujours possible de réaliser les étapes suivantes pour sauvegarder le profileur même si vous l'avez ouvert.

Vous pouvez aussi le télécharger directement depuis le navigateur.

Sauvegarder le profileur

Utiliser la commande suivante :

profiler saveJSON <nom du fichier>.json

Puis de télécharger le fichier sur votre ordinateur.

Localisation du fichier

Le fichier sera sauvegardé à la racine du serveur configuré dans txAdmin.

Par défaut, sur ElypseCloud, il se trouve dans le dossier /home/container/ si vous avez importé votre base, sinon dans un dossier dans /home/container/txData/XXX_XxxxxXXX/XXX_XxxxxXXX est le nom de votre template txAdmin.

Visualiser le profileur via Chrome

  • Ouvrir un nouvel onglet dans Chrome
  • Ouvrir la console de développement (F12 ou Ctrl + Shift + I)
  • Se rendre dans l'onglet Performance
    Où se trouve l'onglet Performance ?

    S'il n'est pas visible, cliquez sur "Plus d'outils" puis "Performance" OU sur les trois petits points en haut à

  • droite de la console de développement OU sur ">>" et "Performance". :::
  • Faire un clic droit n'importe où
  • Sélectionner "Importer un profil" ou "Load profile"
  • Sélectionner le fichier JSON que vous avez téléchargé précédemment
Visualisation

Il est possible d'augmenter la taille de la fenêtre pour mieux visualiser le profileur.

Changer de "Résumé" à "Ascendant" (Case juste à droite de "Résumé")

Il faut changer de "Résumé" à "Ascendant" pour voir les temps de chaque resource.

Pic jaunes

Pic jaunes

Les pics jaunes représentent un pic de consommation CPU.

Voir en détail ce qui consomme à chaque pic

Il est possible de cliquer un peu avant, maintenir le clic et déplacer la souris vers la droite après le pic jaune pour concentrer les données sur la zone qui vous intéresse.

Voir les informations

Dans la barre "Ascendant", il est possible de voir la consommation de chaque resource. (Ici dans l'exemple, c'est sur une durée de 500 frames)

Consommation de chaque resource

Il est aussi possible d'obtenir les lignes de code qui consomment le plus de ressources.

Lignes de code qui consomment le plus de ressources

Consommation de certaines ressources

oxmysql ou mysql-async peuvent consommer beaucoup de ressources CPU, mais cela est normal car elles sont utilisées par d'autres ressources. Il est donc normal de les voir dans le profileur en haut de la liste.

Si une durée est anormalement élevée, il faut vérifier comment la ressource est utilisée et si elle utilise correctement la resource en question.

🎉 Vous avez désormais toutes les clefs !

Si vous avez des questions, se rendre sur notre Discord.

Documentation officielle