{"id":148588,"date":"2024-07-25T16:14:29","date_gmt":"2024-07-25T14:14:29","guid":{"rendered":"https:\/\/hifivem.com\/?p=148588"},"modified":"2026-08-09T12:55:18","modified_gmt":"2026-08-09T10:55:18","slug":"comment-optimiser-les-performances-du-serveur-fivem","status":"publish","type":"post","link":"https:\/\/hifivem.com\/fr\/comment-optimiser-les-performances-du-serveur-fivem\/","title":{"rendered":"Comment optimiser les performances du serveur FiveM"},"content":{"rendered":"<p><!-- fivemx-blog-portfolio-wave2:2026-08-09:how-to-optimize-fivem-server-performance --><\/p>\n<p><strong>Commencez par mesurer l'\u00e9chec.<\/strong> Un faible FPS client, un temps de ressource \u00e9lev\u00e9, des saccades du serveur, des attentes de base de donn\u00e9es et une perte de r\u00e9seau sont des probl\u00e8mes diff\u00e9rents. Capturez une base de r\u00e9f\u00e9rence reproductible \u00e0 un nombre de joueurs repr\u00e9sentatif avant de supprimer des ressources ou de copier des convars d'un autre serveur.<\/p>\n<p><em>M\u00e9thode :<\/em> r\u00e9vis\u00e9 le 9 ao\u00fbt 2026 par rapport au Cfx.re officiel <a href=\"https:\/\/docs.fivem.net\/docs\/scripting-manual\/debugging\/using-profiler\/\" rel=\"nofollow noopener\" target=\"_blank\">guide du profileur<\/a>, <a href=\"https:\/\/docs.fivem.net\/docs\/client-manual\/console-commands\/\" rel=\"nofollow noopener\" target=\"_blank\">commandes de la console client<\/a> et <a href=\"https:\/\/docs.fivem.net\/docs\/server-manual\/server-commands\/\" rel=\"nofollow noopener\" target=\"_blank\">commandes du serveur<\/a>.<\/p>\n<h2>1. D\u00e9finir le sympt\u00f4me et la ligne de base<\/h2>\n<ul>\n<li><strong>Le FPS d'un joueur diminue :<\/strong> reproduisez sur ce client et inspectez le moniteur de ressources client.<\/li>\n<li><strong>Tous les joueurs ont des saccades :<\/strong> enregistrez les avertissements de saccades du serveur, le temps des ressources, la latence de la base de donn\u00e9es et la saturation du processeur de l'h\u00f4te.<\/li>\n<li><strong>La connexion est lente :<\/strong> inspectez la taille des ressources diffus\u00e9es, le comportement de t\u00e9l\u00e9chargement et le travail d'initialisation.<\/li>\n<li><strong>Les actions sont lentes :<\/strong> tracez l'\u00e9v\u00e9nement et la requ\u00eate de la base de donn\u00e9es plut\u00f4t que de bl\u00e2mer les graphiques.<\/li>\n<\/ul>\n<p>Enregistrez la version de l'artefact, le nombre de joueurs, les ressources actives, l'itin\u00e9raire de test et les horodatages. Ne modifiez qu'une seule variable \u00e0 la fois.<\/p>\n<h2>2. Utilisez correctement resmon et le profileur<\/h2>\n<p>Ouvrez F8 et utilisez <code data-no-translation=\"\">resmon 1<\/code> pour une comparaison rapide c\u00f4t\u00e9 client. Consid\u00e9rez-le comme un indicateur, pas un verdict : le timing varie en fonction de ce que fait le joueur. Reproduisez la m\u00eame interaction plusieurs fois. Pour des preuves au niveau du code, effectuez une capture du profileur pendant l'action lente et inspectez la port\u00e9e ou l'\u00e9v\u00e9nement co\u00fbteux.<\/p>\n<p>Gardez le d\u00e9tail <a href=\"https:\/\/hifivem.com\/fr\/comment-utiliser-resmon-dans-fivem-optimiser-les-ressources\/\">Guide resmon FiveM<\/a> ouvrir pendant les tests.<\/p>\n<h2>3. Corriger le code de la ressource au niveau du goulot d'\u00e9tranglement<\/h2>\n<ul>\n<li>Remplacer les boucles inconditionnelles par image par un travail \u00e9v\u00e9nementiel ou un intervalle d'attente justifi\u00e9.<\/li>\n<li>Valider les \u00e9v\u00e9nements r\u00e9seau sur le serveur et n'envoyer que les donn\u00e9es dont le client a besoin.<\/li>\n<li>\u00c9viter de diffuser de grandes charges utiles lorsqu'un \u00e9v\u00e9nement cibl\u00e9 est suffisant.<\/li>\n<li>Mettre en cache les recherches stables, mais invalider le cache lorsque l'\u00e9tat sous-jacent change.<\/li>\n<li>Profiler avant et apr\u00e8s ; un code plus court n'est pas automatiquement un code plus rapide.<\/li>\n<\/ul>\n<h2>4. V\u00e9rifier le travail de la base de donn\u00e9es<\/h2>\n<p>Enregistrer les requ\u00eates lentes avec les param\u00e8tres et les sites d'appel. Ajouter des index seulement apr\u00e8s avoir confirm\u00e9 le mod\u00e8le de requ\u00eate, et \u00e9viter les requ\u00eates r\u00e9p\u00e9t\u00e9es \u00e0 l'int\u00e9rieur des boucles. Regrouper les \u00e9critures lorsque la correction le permet. Tester les reconnexions, les sauvegardes planifi\u00e9es et les actions \u00e9conomiques de pointe car une base de donn\u00e9es de staging vide peut masquer la latence de production.<\/p>\n<h2>5. Budg\u00e9tiser les ressources diffus\u00e9es<\/h2>\n<p>V\u00e9rifiez les textures surdimensionn\u00e9es, les mod\u00e8les dupliqu\u00e9s et les packs de ressources qui diffusent beaucoup plus que ce que le serveur utilise. Testez une connexion propre et un emplacement tr\u00e8s fr\u00e9quent\u00e9. V\u00e9rifiez les niveaux de d\u00e9tail, la r\u00e9solution des textures et l'int\u00e9grit\u00e9 des fichiers avant de compresser ou de supprimer des ressources. Un t\u00e9l\u00e9chargement corrompu peut ressembler \u00e0 un probl\u00e8me de performance.<\/p>\n<h2>6. S\u00e9parez les limites de l'h\u00f4te des limites du script<\/h2>\n<p>Surveillez la saturation du CPU par c\u0153ur, la pression de la m\u00e9moire, la latence du stockage, la perte de paquets et l'emplacement de la base de donn\u00e9es. Les charges de travail FiveM peuvent saturer un c\u0153ur occup\u00e9 alors que le CPU total semble encore faible. Comparez les h\u00f4tes avec la m\u00eame version et la m\u00eame charge ; la RAM et les emplacements annonc\u00e9s ne prouvent pas \u00e0 eux seuls la capacit\u00e9.<\/p>\n<h2>7. D\u00e9ployer et surveiller<\/h2>\n<ol>\n<li>Sauvegardez la ressource, la configuration et les tables de base de donn\u00e9es affect\u00e9es.<\/li>\n<li>D\u00e9ployez une correction mesur\u00e9e en staging.<\/li>\n<li>R\u00e9p\u00e9tez le sc\u00e9nario de r\u00e9f\u00e9rence et comparez les m\u00eames m\u00e9triques.<\/li>\n<li>D\u00e9ployez pendant une fen\u00eatre contr\u00f4l\u00e9e et surveillez les rapports de blocage, d'erreur et de joueurs.<\/li>\n<li>Annulez imm\u00e9diatement si la m\u00e9trique cible ou le flux de jeu r\u00e9gresse.<\/li>\n<\/ol>\n<p>L'optimisation n'est compl\u00e8te que lorsque le sympt\u00f4me mesur\u00e9 s'am\u00e9liore sans d\u00e9placer la d\u00e9faillance ailleurs.<\/p>","protected":false},"excerpt":{"rendered":"<p>Un workflow de performance FiveM ax\u00e9 sur la mesure, couvrant resmon, le profileur, le code de ressource, les requ\u00eates de base de donn\u00e9es, les assets stream\u00e9s, les limites d'h\u00f4te et le rollback.<\/p>","protected":false},"author":1,"featured_media":185845,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1899,2881],"tags":[],"class_list":["post-148588","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-performance"],"_links":{"self":[{"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/posts\/148588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/comments?post=148588"}],"version-history":[{"count":5,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/posts\/148588\/revisions"}],"predecessor-version":[{"id":212509,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/posts\/148588\/revisions\/212509"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/media\/185845"}],"wp:attachment":[{"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/media?parent=148588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/categories?post=148588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hifivem.com\/fr\/wp-json\/wp\/v2\/tags?post=148588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}