Desempenho

As implementações do IBM Cloud® Databases for PostgreSQL podem ser ambas manualmente escaladas para seu uso ou configuradas para ajuste automático de escala sob certas condições de recurso. Há alguns fatores a serem considerados ao ajustar o desempenho da sua implantação.

Monitorando a sua implementação

As implementações do Databases for PostgreSQL oferecem uma integração com o serviço IBM Cloud® Monitoring para monitoramento básico do uso de recurso em sua implementação. Muitas das métricas disponíveis, como o uso de disco e o IOPS, são apresentadas para ajudar a configurar o ajuste automático de escala em sua implementação. Observar as tendências em seu uso e configurar o ajuste automático de escala para responder a elas pode ajudar a aliviar problemas de desempenho antes que os seus bancos de dados se tornem instáveis devido ao esgotamento de recursos.

IOPS de disco

O número de Operações de entrada/saída por segundo (IOPS) é limitado pelo tipo de volume de armazenamento. Os volumes de armazenamento para implementações do Databases for PostgreSQL são provisionados em Volumes do Endurance de armazenamento de bloco na camada de 10 IOPS por GB. Se a sua carga operacional saturar ou exceder o limite de IOPS, as solicitações e as operações do banco de dados serão atrasadas até que o disco possa alcançá-la. Períodos estendidos de carga pesada podem fazer com que a sua implementação seja incapaz de processar consultas e se torne efetivamente indisponível. Se você tiver respostas atrasadas e operações com falha, poderá estar excedendo o limite de IOPS do disco. É possível aumentar as IOPS de número disponíveis para a sua implementação, aumentando o espaço em disco.

Recomendamos um espaço em disco mínimo de 100 GB (1.000 IOPS) para ambientes de produção.

Uso de memória

As configurações de memória da implementação do Databases for PostgreSQL são ajustadas automaticamente com base na memória total da implementação. Especificamente, work_mem, maintenance_work_mem e effective_cache_size são definidos em provisão, restauração ou escala.

Você pode definir a quantidade de memória dedicada ao pool de buffer compartilhado do banco de dados ajustando o shared_buffers em sua PostgreSQL configuração. O valor recomendado é 25% da memória total da implementação. Alocar muita memória para o pool de buffer compartilhado pode esgotar a memória do sistema para outros fins e prejudicar o desempenho, ou até mesmo desativar o banco de dados.

Alocar quantidades maiores de memória (fora do buffer pool compartilhado) para sua implementação ainda beneficia o desempenho. Por exemplo, o PostgreSQL preenche a memória com páginas de disco em cache para o desempenho. Não é necessário alocar memória para o PostgreSQL diretamente para que o PostgreSQL o utilize.

limites de conexão

O Databases for PostgreSQL configura o número máximo de conexões para o seu banco de dados PostgreSQL para 115. São reservadas 15 conexões para que o superusuário mantenha o estado e a integridade do seu banco de dados, sendo que 100 conexões estão disponíveis para você e seus aplicativos. Após o limite de conexão ter sido atingido, qualquer tentativa de iniciar uma nova conexão resultará em um erro. Para evitar sobrecarregar sua implementação com conexões, use a definição do conjunto de conexões ou escale sua implementação e aumente o limite de conexão dela. Para obter mais informações, consulte a página Gerenciando conexões PostgreSQL.

O Databases for PostgreSQL configura o número máximo de conexões para o seu banco de dados PostgreSQL para 115. São reservadas 15 conexões para que o superusuário mantenha o estado e a integridade do seu banco de dados, sendo que 100 conexões estão disponíveis para você e seus aplicativos. Após o limite de conexão ter sido atingido, qualquer tentativa de iniciar uma nova conexão resultará em um erro. Para evitar sobrecarregar sua implementação com conexões, use a definição do conjunto de conexões ou escale sua implementação e aumente o limite de conexão dela. Para obter mais informações, consulte Gerenciando PostgreSQL conexões.

Solução de problemas de desempenho

Para obter ajuda sobre como entender os problemas de desempenho PostgreSQL e como corrigi-los, consulte Solução de problemas PostgreSQL de desempenho.