

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Otimize a configuração de runtime do servidor de jogos no Amazon GameLift Servers gerenciado
<a name="fleets-multiprocess"></a>

Defina uma configuração de runtime de uma frota EC2 gerenciada para executar vários processos de servidor de jogos por instância. Isso usa os recursos de hospedagem com mais eficiência.

## Como uma frota gerencia vários processos
<a name="fleets-multiprocess-howitworks"></a>

O Amazon GameLift Servers usa a configuração de runtime de uma frota para determinar o tipo e o número de processos a serem executados em cada instância. Uma configuração de runtime contém pelo menos uma configuração de processo do servidor que representa um executável do servidor de jogos. É possível definir configurações adicionais do processo do servidor para executar outros tipos de processos relacionados ao seu jogo. Cada configuração do processo do servidor contém as seguintes informações:
+ O nome do arquivo e o caminho de um executável na compilação do seu jogo.
+ (Opcional) Parâmetros a serem passados para o processo na inicialização
+ O número de processos a serem executados simultaneamente.

Quando uma instância na frota é ativada, ela inicia o conjunto de processos do servidor definido na configuração do runtime.​ Com vários processos, o Amazon GameLift Servers escalona a inicialização de cada processo. Os processos do servidor têm uma vida útil limitada. Ao final, o Amazon GameLift Servers lança inicia novos processos para manter o número e o tipo de processos do servidor definidos na configuração do runtime.

É possível alterar a configuração de runtime a qualquer momento adicionando, alterando ou removendo as configurações de processo do servidor. Cada instância verifica regularmente se há atualizações na configuração de runtime da frota, para implementar as alterações. Veja a seguir como o Amazon GameLift Servers adota as alterações de configuração de runtime:

1. A instância envia uma solicitação ao Amazon GameLift Servers para obter a versão mais recente da configuração de runtime.

1. A instância compara os processos ativos com a configuração de runtime mais recente e, em seguida, faz o seguinte:
   + Se a configuração atualizada do runtime remover um tipo de processo de servidor, os processos de servidor ativos desse tipo continuarão em execução até concluírem.​ A instância não substitui esses processos do servidor.
   + Se a configuração atualizada do runtime diminuir o número de processos simultâneos para um tipo de processo de servidor, os processos de servidor em excesso desse tipo continuarão em execução até terminarem. A instância não substitui esses processos excessivos do servidor.
   + Se a configuração atualizada do runtime adicionar um novo tipo de processo de servidor ou aumentar os processos simultâneos para um tipo existente, a instância iniciará novos processos de servidor, até o limite do Amazon GameLift Servers. Nesse caso, a instância inicia novos processos de servidor quando os processos existentes são concluídos.

## Otimize uma frota para vários processos
<a name="fleets-multiprocess-changes"></a>

Para usar vários processos em uma frota, faça o seguinte:
+ [Crie uma compilação](gamelift-build-intro.md) que contenha os executáveis do servidor de jogos a serem implantados em uma frota e, em seguida, carregue a compilação no Amazon GameLift Servers. Todos os servidores de jogos em uma compilação devem ser executados na mesma plataforma e usar o Server SDK do Amazon GameLift Servers.
+ Crie uma configuração de runtime com uma ou mais configurações de processo de servidor e vários processos simultâneos.
+ Integre clientes de jogos com a versão do AWS SDK 2016-08-04 ou posterior.

Para otimizar o desempenho da frota, é recomendável fazer o seguinte:
+ Processe cenários de desligamento do processo de servidor para que o Amazon GameLift Servers possa reciclar processos de maneira eficiente. Por exemplo:
  + Adicione um procedimento de encerramento ao código do servidor de jogos que chama a API de servidor de `ProcessEnding()`.
  + Implemente a função de retorno de chamada `OnProcessTerminate()` no código do servidor de jogos para processar as solicitações de encerramento do Amazon GameLift Servers.
+ Garanta que o Amazon GameLift Servers desligue e reinicie processos de servidor não íntegros. Relate o status de integridade de volta ao Amazon GameLift Servers, implementando a função de retorno de chamada `OnHealthCheck()` no código do servidor de jogos. O Amazon GameLift Servers desliga automaticamente processos de servidor reconhecidamente não íntegros por três relatórios consecutivos. Se você não implementar `OnHealthCheck()`, então o Amazon GameLift Servers assumirá que um processo de servidor está íntegro, a menos que o processo não responda a uma comunicação.

## Escolha o número de processos por instância
<a name="fleets-multiprocess-number"></a>

Ao decidir em relação ao número de processos simultâneos a serem executados em uma instância, lembre-se do seguinte:
+ O Amazon GameLift Servers limita cada instância a um [número máximo de processos simultâneos](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift). A soma de todos os processos simultâneos das configurações de processos do servidor de uma frota não pode exceder essa cota.
+ Para manter níveis de desempenho aceitáveis, o tipo de instância do Amazon EC2 pode limitar o número de processos que podem ser executados simultaneamente. Teste diferentes configurações para o jogo a fim de encontrar o número certo de processos para o tipo de instância preferido.
+ O Amazon GameLift Servers não executa mais processos simultâneos do que o número total configurado. Isso significa que a transição da configuração de runtime anterior para a nova configuração pode ocorrer gradualmente.