Ajustando a escala de disco, de memória e de CPU
O modelo de hospedagem Shared Compute suporta alocações de recursos mais refinadas que não são mostradas na interface do usuário para manter a clareza. Para obter mais informações, consulte Modelos de hospedagem.
Para dimensionar uma instância de host flavor do Isolated Compute, defina o parâmetro hostflavor relevante para
o tamanho do Isolated Compute que você está almejando, como " b3c.4x16.encrypted ". Como isso inclui as seleções de alocação de CPU e RAM, não selecione CPU e RAM separadamente.
Para dimensionar uma instância de sabor de host Shared Compute entre o valor mínimo de CPU e 2 CPU, defina a CPU como
0 e dimensione a alocação de RAM usando os seguintes comandos nesta documentação. O valor da CPU será dimensionado como uma proporção de 1 CPU: 8 GB de RAM, até 2 CPU. Para escalar acima de 2 CPUs, defina as alocações de CPU e RAM para a alocação
de destino. Para ambos, certifique-se de incluir o parâmetro relevante hostflavor de "multitenant".
Para dimensionar uma instância de host flavor do Isolated Compute, defina o parâmetro host_flavor relevante
para o tamanho do Isolated Compute que você está almejando, como " b3c.4x16.encrypted ". Como isso inclui as seleções de alocação de CPU e RAM, não selecione CPU e RAM separadamente.
Para dimensionar uma instância de host flavor Shared Compute entre o valor mínimo de CPU e 2 CPU, defina a CPU como 0
e dimensione a alocação de RAM usando os seguintes comandos. O valor da CPU será dimensionado como uma proporção de 1 CPU: 8 GB de RAM, até 2 CPU. Para escalar acima de 2 CPUs, defina as alocações de CPU e RAM para a alocação de destino. Para
ambos, certifique-se de incluir o parâmetro relevante host_flavor de "multitenant".
Para dimensionar uma instância de host flavor do Isolated Compute, defina o parâmetro host_flavor relevante para o tamanho do Isolated Compute que você está almejando, como " b3c.4x16.encrypted ". Como isso inclui as seleções de alocação de CPU e RAM, não selecione CPU e RAM separadamente.
Para dimensionar uma instância de host flavor Shared Compute entre o valor mínimo de CPU e 2 CPU, defina a CPU
como 0 e dimensione a alocação de RAM usando os seguintes comandos. O valor da CPU será dimensionado como uma proporção de 1 CPU: 8 GB de RAM, até 2 CPU. Para escalar acima de 2 CPUs, defina as alocações de CPU e RAM para a alocação de destino.
Para ambos, certifique-se de incluir o parâmetro relevante host_flavor de "multitenant".
É possível ajustar manualmente a quantia de recursos disponíveis para sua implementação do Databases for MongoDB para adequar sua carga de trabalho e o tamanho de seus dados.
Detalhamento do recurso
O Databases for MongoDB é executado com três membros de dados em um cluster e os recursos são alocados para todos os membros igualmente. Por exemplo, o tamanho mínimo do disco de uma implementação do MongoDB é de 30.720 MB, o que equivale a um tamanho inicial de 10.240 MB por membro. A RAM mínima para uma implantação do MongoDB é de 12.288 MB, o que equivale a uma alocação inicial de 4096 MB por membro.
O faturamento é baseado na quantidade total de recursos alocados para o serviço.
Ao provisionar uma implementação, você pode selecionar a alocação inicial de recursos de disco e memória. Após a provisão, é possível ajustar a escala da sua implementação, já que ela precisa de mais recursos.
Uso de disco
A sua alocação de disco deve ser suficiente para armazenar todos os seus dados. Seus dados são replicados para ambos os membros de dados, de modo que a quantidade total de disco que você usa é pelo menos duas vezes o tamanho do seu conjunto de dados.
A alocação de disco também afeta o desempenho do disco, com discos maiores apresentando um desempenho superior. O desempenho das operações de entrada/saída por segundo (IOPS) da linha de base para o disco é de 10 IOPS para cada GB. Dimensione o disco para aumentar o IOPS que sua implementação pode suportar.
Não é possível diminuir a capacidade do armazenamento. Se o seu tamanho de conjunto de dados tiver diminuído, será possível recuperar espaço fazendo backup e restaurando para uma nova implementação.
RAM
Os recursos de memória são usados para operações de banco de dados e também controlam a quantidade de memória alocada para o cache interno e do sistema de arquivos. Se seu banco de dados for capaz de entregar a maioria das solicitações do cache, ele não precisará ler o disco e obterá um melhor desempenho.
A quantia de memória que você aloca para a sua implementação é dividida entre todos os membros. Incluir memória na alocação total inclui memória em todos os membros igualmente.
vCPU
Se você achar que as cargas de trabalho do seu banco de dados precisam de mais recursos de CPU, poderá dimensionar a quantidade de CPU alocada ao seu serviço. Se a instância do seu banco de dados estiver em um modelo de hospedagem Isolated Compute, selecione a configuração de CPU x RAM que corresponda às suas necessidades de recursos. Se a instância do banco de dados estiver em um modelo de hospedagem Shared Compute ou Dedicated Core, selecione a alocação de CPU que deseja para o banco de dados.
As instâncias de núcleo dedicado de estilo antigo estão obsoletas e serão removidas em maio de 2025. Para obter mais informações sobre os novos modelos de hospedagem, consulte a Visão geral dos modelos de hospedagem.
Considerações sobre ajuste de escala
-
O aumento da capacidade de sua implementação pode fazer com que os seus bancos de dados sejam reiniciados. Caso seja necessário mover sua implementação com escala ajustada para um host com mais capacidade, então os bancos de dados serão reiniciados como parte da transferência.
-
O ajuste de escala de RAM ou de CPU não aciona reinícios do nó de banco de dados.
-
Não é possível diminuir a capacidade do disco.
-
O dimensionamento entre modelos de hospedagem (computação compartilhada, computação isolada e núcleos dedicados) move sua implementação para novos hosts. Seus bancos de dados são reiniciados como parte dessa mudança. Como sua implementação é movida para um novo host, isso também pode levar mais tempo do que apenas adicionar mais recursos. Para obter mais informações, consulte Computação compartilhada e computação isolada.
-
Da mesma forma, aumentar drasticamente a RAM ou o disco pode levar mais tempo do que aumentos menores para dar conta de provisionar mais recursos de hardware subjacentes.
-
As operações de ajuste de escala são registradas no IBM Cloud® Activity Tracker Event Routing.
-
Ao encontrar tendências consistentes no uso de recursos ou para configurar o ajuste de escala quando determinados limites de recurso forem atingidos, confira a ativação do ajuste automático de escala em sua implementação.
Analisar os recursos atuais e o modelo de hospedagem
Na guia Resources (Recursos ), você encontra os blocos Hosting model (Modelo de hospedagem ) e Resource allocations (Alocações de recursos ). Esses blocos refletem seus recursos atuais e o modelo de hospedagem. Selecione Configure (Configurar ) para ajustar as configurações em cada bloco.
Ajuste de escala na IU
Na guia Resources (Recursos ) da interface do usuário, selecione Configure (Configurar ) no bloco Resource allocations (Alocações de recursos ). Isso abre um painel no qual você pode ajustar seus recursos.
Se o seu banco de dados estiver no modelo de hospedagem Isolated Compute, você verá uma tabela "Host sizes" (Tamanhos de host), na qual poderá selecionar a configuração de vCPU e RAM por membro para o seu banco de dados.
Se você estiver no modelo de hospedagem Shared Compute, verá a configuração Small, que fornece 0.5 vCPU e 4 GB de RAM por membro; a opção Small Custom; ou a configuração Custom. Small Custom indica que seu banco de dados foi dimensionado com a CLI, a API ou o Terraform, que oferece um dimensionamento de recursos mais refinado, além de uma opção para vCPU alocado automaticamente, proporcional ao valor da RAM. Na interface do usuário, você pode dimensionar para Small e Custom, mas não pode dimensionar para os valores refinados fornecidos pela CLI, API ou Terraform. Com Custom (Personalizado), arraste o controle deslizante ou ajuste o valor na caixa de entrada para selecionar os valores vCPU e RAM por membro do seu banco de dados.
O controle deslizante "Disco (GB/membro)" é a sua seleção de disco por membro. Arraste o controle deslizante ou ajuste o número na caixa de entrada para alterar o número de GB de disco. Observe que o disco está vinculado a IOPS em 1 GB = 10 IOPS.
Membros é o número de membros de seu banco de dados. Para o MongoDB, os membros são definidos como 3.
Analise seu custo total estimado na calculadora na parte inferior. Observe que, se você tiver custos anteriores, também conhecidos como estrutura de preços herdada, o dimensionamento da instância do banco de dados removerá alguns ou todos os preços herdados. Para obter mais informações sobre o grandfathering e quando ele termina, consulte o cronograma de transição do modelo de hospedagem.
Quando terminar, clique em Apply changes (Aplicar alterações) para acionar a operação de dimensionamento.
Alternar para e entre modelos de hospedagem na interface do usuário
Na guia Resources (Recursos ) da interface do usuário, selecione Configure (Configurar ) no bloco Hosting model (Modelo de hospedagem). Isso abre um painel no qual você pode ajustar a seleção do modelo de hospedagem.
A primeira opção disponível é Selecionar seu modelo de hospedagem. Aqui, você pode mudar para um modelo de hospedagem diferente.
Abaixo, você vê as opções para ajustar também os recursos do novo modelo de hospedagem que você selecionou. Siga as instruções da seção anterior, "Dimensionamento na interface do usuário", para ajustar seus recursos.
Clicar em Aplicar alterações aciona essa operação de escala.
Analisar os recursos atuais e o modelo de hospedagem
O plug-in dos bancos de dados em nuvem da CLI da IBM Cloud suporta a visualização e o ajuste de escala dos recursos em sua implementação. Use o comando cdb deployment-groups para ver as informações atuais de recurso para o seu serviço, incluindo quais grupos de recursos são ajustáveis. Para escalar qualquer um dos grupos de recursos disponíveis, use o comando cdb deployment-groups-set.
Por exemplo, com o comando a seguir, você pode visualizar os grupos de recursos de uma implantação chamada "example-deployment". Observe que esse comando também revelará se o seu banco de dados é uma instância de computação compartilhada ou isolada por meio do atributo hostflavor. Se o hostflavor for nulo, ele está em um modelo de
hospedagem de estilo antigo.
ibmcloud cdb deployment-groups <INSTANCE_NAME_OR_CRN>
Este comando produz a saída:
Group member
Count 3
|
+ Memory
| Allocation 6144mb
| Allocation per member 2048mb
| Minimum 6144mb
| Step Size 256mb
| Adjustable true
| Cpu Enforcement Ratio Ceiling 49152mb
| Cpu Enforcement Ratio 8192mb
|
+ CPU
| Allocation 0
| Allocation per member 0
| Minimum 6
| Step Size 2
| Adjustable true
|
+ HostFlavor
| ID multitenant
| Name
| HostingSize
|
+ Disk
| Allocation 30720mb
| Allocation per member 10240mb
| Minimum 30720mb
| Step Size 2048mb
| Adjustable true
A implementação tem três membros, com 6.144 MB de RAM e 30.720 MB de disco alocados no total. A alocação "por membro" é de 2.048 MB de RAM e 10.240 MB de disco. O valor mínimo é o mínimo da alocação total que pode ser configurada. O tamanho da etapa é a menor quantia pela qual a alocação total pode ser ajustada.
Recursos e ajuste de escala na CLI
O comando cdb deployment-groups-set permite que a alocação total de RAM ou de disco seja definida em MB. Por exemplo, para escalar a memória da "implementação de exemplo" para 4.096 MB de RAM para cada membro de memória
(para uma memória total de 12.288 MB), use o comando:
ibmcloud cdb deployment-groups-set <INSTANCE_NAME_OR_CRN> member --memory 12288
Determinar o modelo de hospedagem de seu banco de dados
Use o comando a seguir para revisar o valor do atributo hostflavor. Será nulo se o banco de dados estiver em um modelo de hospedagem obsoleto (não compartilhado ou computação isolada).
ibmcloud cdb groups <deployment_id> --json
Alternar para e entre modelos de hospedagem na CLI
Se o seu banco de dados for uma instância Shared Compute, você poderá ajustar as opções de memória, CPU e disco com o seguinte comando. Se o seu banco de dados não estiver no Shared Compute, esse comando também moverá um banco de dados de um modelo de hospedagem diferente para o modelo de hospedagem do Shared Compute.
ibmcloud cdb deployment-groups-set <deploymentid> <groupid> [--memory <val>] [--cpu <val>] [--disk <val>] [--hostflavor multitenant]
Por exemplo, use o seguinte para escalonar para uma instância do Shared Compute ou escalonar sua instância do Shared Compute:
ibmcloud cdb deployment-groups-set crn:abc ... xyz:: member --memory 24576 --cpu 6 --hostflavor multitenant
Se o seu banco de dados for uma instância Isolated Compute, a memória e a CPU serão ajustadas juntas selecionando o tamanho Isolated Compute (consulte todos os tamanhos na Tabela 1). O disco é dimensionado separadamente. Se o seu banco de dados não estiver no Isolated Compute, esse comando também moverá um banco de dados de um modelo de hospedagem diferente para o modelo de hospedagem do Isolated Compute.
Observe que, como a seleção da variante do host inclui tamanhos de CPU e RAM b3c.4x16.encrypted é 4 CPU e 16 RAM), essa solicitação não aceita uma seleção de tamanho isolado e seleções separadas de alocação de CPU e RAM.
ibmcloud cdb deployment-groups-set <deploymentid> <groupid> [--disk <val>] [--hostflavor <hostflavor>]
Por exemplo, use o seguinte para escalonar para uma instância do Isolated Compute ou escalonar sua instância do Isolated Compute:
ibmcloud cdb deployment-groups-set crn:abc ... xyz:: member --hostflavor b3c.8x32.encrypted
O dimensionamento automático de CPU e RAM não é compatível com o Cloud Databases Isolated Compute. O dimensionamento automático de disco está disponível. Se você provisionou uma instância isolada ou fez a transição de uma implantação com dimensionamento automático, monitore seus recursos usando a integração IBM Cloud® Monitoring, que fornece métricas de memória, espaço em disco e utilização de E/S de disco. Para adicionar recursos à sua instância, dimensione manualmente sua implementação.
O parâmetro hostflavor
O parâmetro hostflavor define o dimensionamento da computação. Para provisionar uma instância do Shared Compute, especifique multitenant. Para provisionar uma instância do Isolated Compute, insira o valor apropriado
para sua configuração desejada de CPU e RAM.
| Aroma do host | valor do sabor do host |
|---|---|
| Computação compartilhada | multitenant |
| 4 CPU x 16 RAM | b3c.4x16.encrypted |
| 8 CPU x 32 RAM | b3c.8x32.encrypted |
| 8 CPU x 64 RAM | m3c.8x64.encrypted |
| 16 CPU x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPU x 240 RAM | m3c.30x240.encrypted |
Analisar os recursos atuais e o modelo de hospedagem
O Terminal de Fundação mostrado no painel Visão geral do seu serviço fornece a URL base para acessar essa implementação por meio da API. Use-o com o terminal /groups se você precisa gerenciar ou automatizar o ajuste
de escala programaticamente.
Para visualizar os recursos atuais e escaláveis em uma implementação, use o terminal /deployments/{id}/groups. Observe que esse
comando também revelará se o seu banco de dados é uma instância de computação compartilhada ou isolada por meio do atributo host_flavor. Se o host_flavor for nulo, ele está em um modelo de hospedagem de estilo antigo.
curl -X GET https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups -H 'Authorization: Bearer <>' \
Ajuste de escala com a API
Para dimensionar a memória de uma implantação para 4096 MB de RAM para cada membro de memória (para uma memória total de 12288 MB), use o seguinte comando:
curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/member
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"memory": {"allocation_mb": 12288}}' \
Para obter mais informações, consulte a Referência da API.
Determinar o modelo de hospedagem de seu banco de dados
Use o comando a seguir para revisar o valor do atributo host_flavor. Será nulo se o banco de dados estiver em um modelo de hospedagem obsoleto (não compartilhado ou computação isolada).
curl -X GET https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups
-H 'Authorization: Bearer <>' \
Alternar para e entre modelos de hospedagem na API
Para dimensionar qualquer instância do Cloud Databases Shared Compute, use o seguinte comando, definindo host_flavor para multitenant. Se o seu banco de dados não estiver no Shared Compute, esse comando também moverá
um banco de dados de um modelo de hospedagem diferente para o modelo de hospedagem do Shared Compute.
curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/member
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"host_flavor": {"id": "multitenant"},
"cpu": {"allocation_count": 3},
"memory": {"allocation_mb": 12288}
}' \
Para escalonar qualquer instância em uma instância do Cloud Databases Isolated Compute ou para escalonar para um tamanho diferente do Isolated Compute, use o parâmetro host_flavor, desta vez definido para o tamanho desejado do Isolated
Compute. Os tamanhos de hospedagem disponíveis e seus parâmetros de valor host_flavor estão listados em Tabela 1. Por exemplo, {"host_flavor": "b3c.4x16.encrypted"}.
Observe que, como a seleção da variante do host inclui tamanhos de CPU e RAM (b3c.4x16.encrypted é 4 CPU e 16 RAM), essa solicitação não aceita uma seleção de tamanho isolado e seleções separadas de alocação de CPU e RAM. Dimensione
com o Cloud Databases Com um comando como:
curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/member
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"host_flavor": {"id": "b3c.4x16.encrypted"}}' \
A alocação de CPU e RAM não é permitida ao provisionar ou escalonar por meio do Isolated Compute. Especifique mulitenant para o parâmetro host_flavor para ter seleções independentes de CPU e RAM.
O dimensionamento automático de CPU e RAM não é compatível com o Cloud Databases Isolated Compute. O dimensionamento automático de disco está disponível. Se você tiver provisionado uma instância isolada ou mudado de uma implementação com dimensionamento automático, fique de olho em seus recursos usando a integração IBM Cloud® Monitoring, que fornece métricas de memória, espaço em disco e utilização de E/S de disco. Para adicionar recursos à sua instância, dimensione manualmente sua implementação.
O parâmetro host flavor
O parâmetro host_flavor define o dimensionamento da computação. Para provisionar uma instância do Shared Compute, especifique multitenant. Para provisionar uma instância do Isolated Compute, insira o valor apropriado
para sua configuração desejada de CPU e RAM.
| Aroma do host | valor de host_flavor |
|---|---|
| Computação compartilhada | multitenant |
| 4 CPU x 16 RAM | b3c.4x16.encrypted |
| 8 CPU x 32 RAM | b3c.8x32.encrypted |
| 8 CPU x 64 RAM | m3c.8x64.encrypted |
| 16 CPU x 64 RAM | b3c.16x64.encrypted |
| 32 CPU x 128 RAM | b3c.32x128.encrypted |
| 30 CPU x 240 RAM | m3c.30x240.encrypted |
Analisar os recursos atuais e o modelo de hospedagem
Revise as alocações de recursos para seu banco de dados verificando os scripts de terraform para cpu { allocation_count = }, memory {allocation_mb = } e disk { allocation_mb = }. Revise a configuração host_flavor para determinar se o seu banco de dados é um modelo de hospedagem do tipo Computação compartilhada ou Computação isolada. Se host_flavor não existir, seu banco de dados está em um modelo
de hospedagem antigo.
Dimensionamento com o Terraform
Antes de executar um script do Terraform em uma instância existente, use o comando terraform plan para comparar o estado atual da infraestrutura com o estado desejado definido em seus arquivos do Terraform. Qualquer alteração nos
atributos resource_group_id, service plan, version, key_protect_instance, key_protect_key, backup_encryption_key_crn recria sua instância. Para obter uma lista de
referências de argumentos atuais com a especificação Forces new resource, consulte o ibm_database Terraform Registry.
Dimensione sua instância ajustando o script do Terraform para o recurso no qual você está interessado. No exemplo a seguir, são especificadas as alocações cpu, memory e disk. Observe que, se você tiver
uma variante de host selecionada (Isolated Compute ou Shared Compute Multitenant), mantenha a seleção da variante de host no script.
Para implementar sua alteração, execute terraform apply.
data "ibm_resource_group" "group" {
name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
name = "<your_database_name>"
plan = "standard"
location = "eu-gb"
service = "databases-for-mongodb"
resource_group_id = data.ibm_resource_group.group.id
tags = ["tag1", "tag2"]
adminpassword = "password12"
group {
group_id = "member"
cpu {
allocation_count = 6
}
memory {
allocation_mb = 24576
}
disk {
allocation_mb = 256000
}
}
users {
name = "user123"
password = "password12"
}
allowlist {
address = "172.168.1.1/32"
description = "desc"
}
}
output "ICD MongoDB database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
Como alternativa, você pode usar os módulos Terraform IBM(TIM) pré-construídos, de código aberto e prontos para a empresa para Databases for MongoDB que suportam o recurso de dimensionamento automático.
Mudança para e dimensionamento de modelos de hospedagem no Terraform
Selecione o modelo de hospedagem para o qual você deseja que o banco de dados seja dimensionado. É possível mudá-lo posteriormente.
Para dimensionar sua instância Databases for MongoDB para a variante de hospedagem Shared Compute, defina o parâmetro "host_flavor" como multitenant. Isso funciona se você quiser escalar para o tipo de hospedagem
Shared Compute ou se quiser manter o tipo de host e escalar seus recursos. Para implementar sua alteração, execute terraform apply.
Consulte o seguinte exemplo:
data "ibm_resource_group" "group" {
name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
name = "<your_database_name>"
plan = "standard"
location = "eu-gb"
service = "databases-for-mongodb"
resource_group_id = data.ibm_resource_group.group.id
tags = ["tag1", "tag2"]
adminpassword = "password12"
group {
group_id = "member"
host_flavor {
id = "multitenant"
},
cpu {
allocation_count = 6
}
memory {
allocation_mb = 24576
}
disk {
allocation_mb = 256000
}
}
users {
name = "user123"
password = "password12"
}
allowlist {
address = "172.168.1.1/32"
description = "desc"
}
}
output "ICD MongoDB database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
Dimensione sua instância Databases for MongoDB para a computação isolada com o mesmo "host_flavor" parâmetro, definido para o tamanho isolado desejado. Esse comando funciona para dimensionar sua instância de banco de dados
para um tamanho diferente do Isolated Compute, bem como para mover de outro tipo de host para o tipo de host do Isolated Compute. Os tamanhos de hospedagem disponíveis e seus parâmetros host_flavor value estão listados na Tabela 1.
Por exemplo, {"host_flavor": "b3c.4x16.encrypted"}. Observe que, como a seleção de tipo de host inclui tamanhos de CPU e RAM (b3c.4x16.encrypted é 4 CPU e 16 RAM), essa solicitação não aceita uma
seleção de tamanho isolado e seleções separadas de alocação de CPU e RAM.
Para implementar sua alteração, execute terraform apply.
data "ibm_resource_group" "group" {
name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
name = "<your_database_name>"
plan = "standard"
location = "eu-gb"
service = "databases-for-mongodb"
resource_group_id = data.ibm_resource_group.group.id
tags = ["tag1", "tag2"]
adminpassword = "password12"
group {
group_id = "member"
host_flavor {
id = "b3c.8x32.encrypted"
}
disk {
allocation_mb = 256000
}
}
users {
name = "user123"
password = "password12"
}
allowlist {
address = "172.168.1.1/32"
description = "desc"
}
}
output "ICD MongoDB database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}