

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á.

# Noções básicas do comportamento da aplicação no EMR Sem Servidor
<a name="app-behavior"></a>

Esta seção descreve o comportamento de envio de trabalhos, a configuração da capacidade para ajuste de escala e as definições de configuração do trabalhador do EMR Sem Servidor.

## Comportamento padrão da aplicação
<a name="auto-start-stop"></a>

**Auto-start**— Por padrão, um aplicativo é configurado para iniciar automaticamente no envio do trabalho. Você pode desativar esse recurso.

**Auto-stop**— Por padrão, um aplicativo é configurado para parar automaticamente quando ocioso por 15 minutos. Quando uma aplicação muda para o estado `STOPPED`, ela libera qualquer capacidade pré-inicializada configurada. Você pode modificar a quantidade de tempo ocioso antes que uma aplicação pare automaticamente ou desativar esse recurso.

## Capacidade máxima
<a name="max-capacity"></a>

Você pode configurar a capacidade máxima para a qual uma aplicação pode aumentar a escala verticalmente. Você pode especificar sua capacidade máxima em termos de CPU, memória (GB) e disco (GB). 

**nota**  
As práticas recomendadas são configurar sua capacidade máxima de forma proporcional aos tamanhos dos seus operadores com suporte, multiplicando o número de operadores pelos seus tamanhos. Por exemplo, se você quiser limitar sua aplicação a 50 trabalhadores com 2 vCPUs, 16 GB para memória e 20 GB para disco, defina sua capacidade máxima para 100 vCPUs, 800 GB para memória e 1.000 GB para disco. 

## Configuração de trabalhador compatíveis
<a name="worker-configs"></a>

A tabela a seguir mostra as configurações e tamanhos de trabalhadores compatíveis que você pode especificar para o EMR Sem Servidor. Configure tamanhos diferentes para drivers e executores com base na necessidade da workload.


**Configurações e tamanhos de operadores**  

| CPU | Memória | Armazenamento temporário padrão | 
| --- | --- | --- | 
| 1 vCPU | Mínimo de 2 GB, máximo de 8 GB, em incrementos de 1 GB | De 20 GB a 200 GB | 
| 2 vCPU | Mínimo de 4 GB, máximo de 16 GB, em incrementos de 1 GB | De 20 GB a 200 GB | 
| 4 vCPU | Mínimo de 8 GB, máximo de 30 GB, em incrementos de 1 GB | De 20 GB a 200 GB | 
| 8 vCPU | Mínimo de 16 GB, máximo de 60 GB, em incrementos de 4 GB | De 20 GB a 200 GB | 
| 16 vCPU | Mínimo de 32 GB, máximo de 120 GB, em incrementos de 8 GB | De 20 GB a 200 GB | 

**CPU**: cada trabalhador pode ter 1, 2, 4, 8 ou 16 vCPUs.

**Memória**: cada trabalhador tem memória, especificada em GB, dentro dos limites listados na tabela anterior. Os trabalhos do Spark têm uma sobrecarga de memória, o que significa que a memória que eles usam é maior do que os tamanhos de contêineres especificados. Essa sobrecarga é especificada com as propriedades `spark.driver.memoryOverhead` e `spark.executor.memoryOverhead`. A sobrecarga tem um valor padrão de 10% da memória do contêiner, com um mínimo de 384 MB. Você deve considerar essa sobrecarga ao escolher o tamanho dos trabalhadores. 

Por exemplo, se você escolher 4 vCPUs para a instância do trabalhador e uma capacidade de armazenamento pré-inicializada de 30 GB, defina um valor de aproximadamente 27 GB como memória do executor para o trabalho do Spark. Isso maximiza a utilização da capacidade pré-inicializada. A memória utilizável é 27 GB, mais 10% de 27 GB (2,7 GB), totalizando 29,7 GB.

**Disco**: você pode configurar cada trabalhador com discos de armazenamento temporário com tamanho mínimo de 20 GB e máximo de 200 GB. Você paga apenas pelo armazenamento adicional além de 20 GB configurado por trabalhador.