View a markdown version of this page

GAMEPERF05-BP01 Comparez les performances de vos jeux sur plusieurs types de calcul - Lens de l'industrie du jeu

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GAMEPERF05-BP01 Comparez les performances de vos jeux sur plusieurs types de calcul

Pour les charges de travail des serveurs de jeu, il n'existe pas d'approche unique pour identifier la solution de calcul optimale pour héberger votre serveur de jeu. Une stratégie courante pour l'analyse comparative des serveurs de jeux consiste à commencer par des instances EC2 « c » optimisées pour le calcul, car cette famille d'instances offre des performances élevées pour les charges de travail gourmandes en calculs. Par ailleurs, si votre jeu nécessite une quantité importante de mémoire pour implémenter des fonctionnalités spécifiques, les instances optimisées en mémoire peuvent être les plus adaptées.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé

Directives d’implémentation

Si votre charge de travail utilise des ressources réseau importantes, envisagez de mettre en œuvre des instances optimisées pour le réseau, ce qui est généralement indiqué par un « n » dans le nom de l'instance. Évitez les types d'instances « t » éclatants car une fois les crédits épuisés, les performances diminueront. Les jeux sont sensibles à la latence et aux paquets perdus. Il est donc recommandé d'utiliser la mise en réseau améliorée EC2 pour améliorer les performances réseau de vos serveurs de jeux. La mise en réseau améliorée utilise I/O la virtualisation à racine unique (SR-IOV) pour fournir des fonctionnalités réseau hautes performances sur les types d'https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#supported_instancesinstances pris en charge. SR-IOV est une méthode de virtualisation des appareils qui fournit des I/O performances supérieures et une utilisation moindre du processeur par rapport aux interfaces réseau virtualisées traditionnelles. La mise en réseau améliorée offre une bande passante supérieure, des performances de paquet par seconde (PPS) nettement plus élevées, ainsi que des latences réduites entre les instances. La mise en réseau améliorée avec Elastic Network Adapter est disponible pour les types d'instances EC2 les plus récents et il est important de les mettre à jour régulièrement pour bénéficier des améliorations de performances apportées par les nouvelles instances et des améliorations apportées à l'hyperviseur AWS Nitro.

Si les performances de votre jeu sont similaires sur plusieurs types d'instances EC2, vous devriez envisager d'utiliser plusieurs types d'instances pour héberger vos serveurs de jeu. Surveillez les performances au fil du temps et optimisez davantage après avoir organisé suffisamment de sessions de jeu de production pour être en mesure d'identifier les tendances en matière de performances. N'oubliez pas que vos besoins informatiques peuvent changer à mesure que vous ajoutez de nouvelles fonctionnalités à votre jeu qui nécessitent une allocation de ressources différente. Vous pouvez configurer les groupes EC2 Auto Scaling pour utiliser plusieurs types d'instances, ou vous pouvez utiliser des groupes Auto Scaling distincts pour héberger des instances de serveurs de jeu qui exécutent des types d'instances distincts, ce qui peut simplifier la gestion de la corrélation et de l'agrégation des métriques. 

Évaluez les performances de votre jeu sur différents types de processeurs tels que Intel-based les instances, AMD-based les instances et les instances ARM-based Graviton. Unreal Engine 5.1.1 ou une version ultérieure peut compiler des serveurs de jeu pour Graviton et améliorer le rapport qualité-prix de votre jeu. Effectuez des tests de balayage et de saturation à différentes tailles au sein de chaque famille afin de déterminer le point idéal où l'utilisation et les performances sont cohérentes.

Vous devez également évaluer l'impact sur les performances de votre jeu lorsqu'il est hébergé à l'aide de conteneurs et de fonctions Lambda. Dans les cas d'utilisation où des processus de serveur de jeu à longue durée de vie ne sont pas nécessaires, tels que les jeux asynchrones et pour les services de backend de jeu, pensez à utiliser une architecture sans serveur avec Lambda, qui peut simplifier la gestion et les opérations pour les équipes chargées des opérations de jeu, et vous permettre de déployer plus rapidement votre jeu dans le monde entier pour de nombreuses personnes. Régions AWS Pour connaître les meilleures pratiques sans serveur, consultez le document Serverless Applications Lens - Well-Architected Framework.

Étapes d’implémentation

  • Comparez les serveurs de jeu en utilisant des instances « c » optimisées pour le calcul pour les charges de travail gourmandes en ressources processeur, des instances optimisées en mémoire pour les tâches gourmandes en mémoire et des instances « n » optimisées pour le réseau pour un débit réseau élevé.

  • Utilisez la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances prises en charge pour améliorer les performances du réseau, réduire la latence et augmenter les taux de traitement des paquets.

  • Évaluez et testez plusieurs types d'instances, processeurs (Intel, AMD, Graviton) et options d'hébergement en conteneur ou Lambda, en ajustant les solutions de calcul en fonction de l'évolution des fonctionnalités du jeu.

Pour plus d'informations, consultez la section Choisir la bonne stratégie de calcul pour vos serveurs de jeu mondiaux.