View a markdown version of this page

GAMEPERF01-BP01 Valuta i requisiti di risorse del server di gioco e le esigenze di scalabilità - Obiettivo per l'industria dei giochi

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

GAMEPERF01-BP01 Valuta i requisiti di risorse del server di gioco e le esigenze di scalabilità

Valuta i requisiti del server rispetto alle tue esigenze di scalabilità per verificare che stai selezionando un'opzione di hosting che soddisfi i tuoi requisiti e offra prestazioni ottimali.

Livello di rischio associato se questa best practice non fosse adottata: elevato

Guida all’implementazione

Quando scegli l'opzione di hosting appropriata per i tuoi server di gioco, considera i seguenti fattori:

Requisiti delle risorse del server di gioco

Valuta i requisiti di CPU, memoria, rete e archiviazione dei processi del server di gioco per determinare i consumi del gioco. Non trascurare il networking: ogni frame richiede cicli di CPU per ricevere le azioni dei giocatori, aggiornare lo stato del gioco e inviarle nuovamente al giocatore. Lo scaricamento dell'elaborazione dei pacchetti può liberare la CPU per le funzioni principali del gioco. Il networking è la base per un gioco fluido e reattivo, quindi testarlo nelle prime fasi del processo definisce un profilo prestazionale di base per un gioco.

Uno sparatutto in prima persona potrebbe avere un numero elevato di azioni al secondo, necessarie alla CPU per passare rapidamente alla rete, il che potrebbe favorire istanze della famiglia C ottimizzate per il calcolo, mentre un gioco di strategia a turni che può impiegare più cicli di elaborazione della CPU per turno potrebbe richiedere una maggiore memoria dalle istanze della famiglia R per archiviare e aggiornare localmente lo stato del gioco sul server prima di rispedirlo ai giocatori. Utilizza un approccio basato sui dati come il metodo USE (Utilization Saturation and Errors) per fare scelte architetturali ben informate.

Scalabilità ed elasticità

Valuta la rapidità e la facilità con cui ciascuna opzione di hosting può scalare per soddisfare la domanda dei giocatori senza compromettere le prestazioni. Considera il livello di automazione e flessibilità richiesto per il carico di lavoro del tuo gioco per mantenere un'esperienza di gioco fluida nelle ore di punta. Un server di gioco potrebbe scalare rapidamente aumentando l'utilizzo tramite l'aggiunta di ulteriori processi del server di gioco sulla stessa istanza, mentre un backend di gioco potrebbe scalare più lentamente in base all'aumento del numero di utenti attivi e delle partite giocate. La tua flotta dovrebbe adattarsi alla domanda per ridurre al minimo i costi e facilitare al contempo i tempi di attesa minimi per l'ingresso in gioco dei giocatori. Consulta Amazon EC2 Spot Instance Advisor per ottenere informazioni sulla capacità disponibile a costi contenuti per le flotte di server di gioco.

Passaggi dell’implementazione

  • Valuta i requisiti di risorse del server di gioco per CPU, memoria, rete e storage per selezionare i tipi di istanze più adatti, considerando le esigenze prestazionali specifiche del gioco, come un elevato throughput di rete per i giochi FPS o l'ottimizzazione della memoria per i giochi di strategia a turni.

  • Confronta diverse opzioni di hosting come container, istanze, bare-metal e servizi gestiti analizzando i dati sulle prestazioni utilizzando framework come il metodo USE. Usa queste informazioni per prendere decisioni migliori sull'architettura del tuo sistema.

  • Progetta flotte in termini di scalabilità ed elasticità, sfruttando strumenti come EC2 Spot Instance Advisor per ottimizzare i costi e facilitando al contempo una rapida scalabilità per soddisfare la domanda dei giocatori nelle ore di punta.