O ApsaraDB RDS (RDS) oferece diversos tipos de instância primária para atender a diferentes requisitos de desempenho, estabilidade e custo em várias cargas de trabalho. Escolher o tipo de instância adequado é fundamental para otimizar tanto o desempenho quanto os custos do banco de dados. Este tópico fornece links para listas detalhadas de tipos de instância primária do RDS com diferentes mecanismos e explica as métricas principais usadas em todos os tipos de instância para ajudar na tomada de decisão.
Tipos de instância para instâncias primárias do RDS com diferentes mecanismos
A tabela a seguir direciona você para as listas detalhadas de tipos de instância primária do RDS executando diferentes mecanismos.
|
Mecanismo |
Tipos de produto suportados |
Tipos de armazenamento suportados |
Listas de tipos de instância primária |
|
MySQL |
Standard e YiTian |
Discos em nuvem e SSDs locais premium |
|
|
PostgreSQL |
Standard e YiTian |
Discos em nuvem |
Tipos de instância primária para instâncias standard e YiTian do ApsaraDB RDS for PostgreSQL |
|
SQL Server |
N/A |
Discos em nuvem |
Tipos de instância primária para instâncias do ApsaraDB RDS for SQL Server |
|
MariaDB |
Standard |
Discos em nuvem |
Tipos de instância primária para instâncias do ApsaraDB RDS for MariaDB |
Métricas principais
Os tipos de instância primária do RDS envolvem três métricas principais: família de instância, IOPS e largura de banda de I/O.
Família de instância
A família de instância define se os recursos da instância são dedicados ou compartilhados, o que determina diretamente seu desempenho.
|
Família de instância |
Tipo de armazenamento suportado |
Recursos dedicados/compartilhados |
Descrição |
|
Compartilhada |
Disco em nuvem |
|
|
|
Uso geral |
Disco em nuvem |
|
O desempenho oscila quando o servidor físico está sob alta carga. |
|
SSD local premium |
|
||
|
Dedicada |
Disco em nuvem |
Todos os recursos são dedicados à instância. |
Oferece desempenho estável sem contenção de recursos. |
|
SSD local premium |
|
||
|
Host dedicado |
SSD local premium |
Todos os recursos são dedicados à instância. |
Proporciona o mais alto nível de estabilidade de desempenho e isolamento. |
IOPS
IOPS (Operações de Entrada/Saída Por Segundo) mede a capacidade de um sistema de armazenamento lidar com solicitações de leitura e gravação, sendo uma métrica essencial para o desempenho de I/O aleatório. O IOPS real de uma instância depende do seu tipo de instância, tipo de armazenamento e capacidade de armazenamento. Consulte as listas de tipos de instância primária para verificar o IOPS máximo de cada tipo de instância. No entanto, o IOPS máximo real é calculado da seguinte forma:
Para instâncias com SSDs locais premium: O IOPS máximo real corresponde ao IOPS máximo definido no tipo de instância.
-
Para instâncias com discos em nuvem: O IOPS máximo real é determinado pelo tipo de instância, capacidade de armazenamento e tipo de armazenamento. Utilize as fórmulas na tabela abaixo para calcular o IOPS máximo real:
Tipo de armazenamento
Fórmula para IOPS máximo real (Unidade de capacidade de armazenamento: GB)
ESSD Premium
Com burst de desempenho de I/O ativado
min{Maximum IOPS for the instance type, 1000000}Com burst de desempenho de I/O desativado
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 50000}ESSD
PL3
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 1000000}PL2
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 100000}PL1
min{Maximum IOPS for the instance type, 1800 + 50 × Storage capacity, 50000}SSD Standard
min{Maximum IOPS for the instance type, 1800 + 30 × Storage capacity, 25000}
Exemplo:
Calcule o IOPS máximo real de uma instância primária do RDS com as seguintes especificações:
Tipo de instância:
mysql.x2.large.2cArmazenamento: ESSD PL1 de 20 GB
Com base no tipo de armazenamento da instância, aplica-se a fórmula min{Maximum IOPS for the instance type, 1800 + 50 x Storage capacity, 50000}. A tabela a seguir mostra como calcular os três valores necessários na fórmula:
|
Valor |
Descrição |
|
|
De acordo com a lista de tipos de instância, este valor para o tipo de instância mysql.x2.large.2c é |
|
|
Este valor é calculado da seguinte forma: |
|
|
Este valor representa o IOPS máximo suportado pelo ESSD PL1. |
Segundo a fórmula, o IOPS máximo real da instância é 2800, pois é o menor valor entre os três.
Não há correspondência direta entre I/Os lógicos do banco de dados e I/Os físicos do disco. Por exemplo, o tamanho de página padrão do mecanismo de armazenamento InnoDB do MySQL é 16 KB, enquanto o tamanho do bloco de armazenamento subjacente do disco é 4 KB. Consequentemente, uma única leitura lógica que busca uma página de banco de dados do disco resulta em quatro operações distintas de I/O físico no disco.
A capacidade de processamento de I/O de um banco de dados não depende apenas do IOPS do disco subjacente, mas também do tamanho da página do mecanismo de banco de dados. Isso ocorre porque uma única leitura lógica de página pode exigir múltiplas operações de I/O físico. Por exemplo, considerando 1.000 I/Os físicos em um disco com bloco de 4 KB, uma instância do RDS for MySQL com tamanho de página padrão de 16 KB consegue completar 250 operações lógicas de I/O, enquanto uma instância do RDS for SQL Server com tamanho de página padrão de 8 KB completa 500 operações lógicas de I/O.
Largura de banda de I/O (throughput)
A largura de banda de I/O, também conhecida como throughput, mede a capacidade de um sistema de armazenamento lidar com operações sequenciais de leitura e gravação, sendo uma métrica chave para o desempenho de I/O sequencial. A largura de banda de I/O real de uma instância é determinada pelo seu tipo de instância, tipo de armazenamento e capacidade de armazenamento. Consulte as listas de tipos de instância primária para verificar a largura de banda máxima de cada tipo de instância. No entanto, a largura de banda máxima real é calculada utilizando as fórmulas na tabela a seguir:
|
Tipo de armazenamento |
Fórmula para largura de banda de I/O máxima real (Unidade: MB/s, Unidade de capacidade de armazenamento: GB) |
|
|
ESSD Premium |
Com burst de desempenho de I/O ativado |
|
|
Com burst de desempenho de I/O desativado |
|
|
|
ESSD |
PL3 |
|
|
PL2 |
|
|
|
PL1 |
|
|
|
SSD Standard |
|
|
Exemplo:
Calcule a largura de banda de I/O máxima real de uma instância primária do RDS com as seguintes especificações:
Tipo de instância:
mysql.x2.large.2cArmazenamento: ESSD PL3 de 5.000 GB
Com base no tipo de armazenamento da instância, aplica-se a fórmula min{Maximum I/O bandwidth for the instance type, 120 + 0.5 × Storage capacity, 4000}. A tabela a seguir mostra como calcular os três valores necessários na fórmula:
|
Valor |
Descrição |
|
|
De acordo com a lista de tipos de instância, este valor para o tipo de instância mysql.x2.large.2c é |
|
|
Este valor é calculado da seguinte forma: |
|
|
Este valor representa a largura de banda de I/O máxima suportada pelo ESSD PL3. |
Segundo a fórmula, a largura de banda de I/O máxima real da instância é 192, pois é o menor valor entre os três.
Relação entre IOPS e largura de banda de I/O
IOPS e largura de banda de I/O não são métricas independentes, mas sim duas facetas interconectadas do desempenho de armazenamento. A relação entre elas é definida pelo tamanho das operações de I/O realizadas, conforme a fórmula:
Largura de banda de I/O (MB/s) = IOPS × Tamanho de I/O (KB) / 1024.
O I/O Size nesta fórmula refere-se ao tamanho do bloco físico do disco em nuvem (4 KB por padrão), e não ao tamanho da página lógica do banco de dados.
Essa relação significa que o desempenho de uma instância do RDS geralmente é limitado pelo teto de IOPS ou pela largura de banda de I/O, dependendo do perfil de I/O da aplicação:
Cargas de trabalho limitadas por IOPS: Aplicações que realizam muitas operações pequenas de I/O (como leituras/gravações de 4 KB) frequentemente atingem o limite máximo de IOPS da instância. Nesse ponto, o uso da largura de banda de I/O ainda está bem abaixo do máximo, tornando o IOPS o gargalo de desempenho.
Cargas de trabalho limitadas por largura de banda: Por outro lado, aplicações que executam menos operações de I/O, porém maiores (como leituras/gravações de 256 KB), saturam primeiro a largura de banda de I/O disponível. Nesse cenário, o IOPS da instância permanece relativamente baixo, tornando a largura de banda de I/O o gargalo de desempenho.
Perguntas frequentes
-
Por que uma instância RDS de nível básico suporta um número máximo de conexões maior e um IOPS máximo superior a uma instância RDS de nível empresarial com a mesma quantidade de núcleos de CPU e capacidade de memória?
Uma instância RDS de nível básico pertence à família de instâncias compartilhadas ou de uso geral, enquanto uma instância RDS de nível empresarial pertence à família de instâncias dedicadas. As famílias compartilhadas e de uso geral compartilham recursos de CPU, o que permite suportar um número máximo de conexões e um IOPS máximo maiores do que os de uma instância empresarial. No entanto, a instância RDS de nível empresarial oferece um desempenho de banco de dados mais confiável, pois a família dedicada utiliza exclusivamente os recursos de vCPU e memória alocados à instância. Para mais informações, consulte Famílias de instâncias.
-
Como consulto os recursos disponíveis para compra?
Chame a operação DescribeAvailableResource para consultar os recursos disponíveis em uma região.
-
Por que o QPS e o TPS não são fornecidos na documentação?
Para obter as consultas por segundo (QPS) e as transações por segundo (TPS) de uma instância do RDS, é necessário crie objetos na instância e realizar testes. O QPS e o TPS variam conforme o método de implementação e o sistema de negócios, mesmo que o tipo de instância permaneça inalterado. Para mais informações sobre como testar o QPS e o TPS, consulte Diretrizes de teste.
Referências
Tipos de instância RDS somente leitura: Tipos de instância somente leitura
-
Introdução às instâncias RDS somente leitura:
-
Crie e utilize uma instância primária do RDS após selecionar seu tipo de instância: