Dimensionamento automático da API do Azure para FHIR
A API do Azure para FHIR, como um serviço gerenciado, permite que os clientes persistam usando dados de saúde em conformidade com FHIR® (Fast Healthcare Interoperability Resources) e troque-os com segurança por meio da API de serviço. Para acomodar cargas de trabalho de transação diferentes, os clientes podem usar dimensionamento manual ou dimensionamento automático.
A API do Azure para FHIR fornece recursos de dimensionamento no nível do banco de dados e da computação.
Dimensionamento automático no nível do banco de dados
Por padrão, a API do Azure para FHIR é definida como manual para dimensionamento de banco de dados. Essa opção funciona bem quando as cargas de trabalho de transação são conhecidas e consistentes. Os clientes podem ajustar a taxa de transferência RU/s
por meio do portal até 100.000 e enviar uma solicitação para aumentar o limite.
O recurso de dimensionamento automático foi projetado para dimensionar recursos do Azure, incluindo a taxa de transferência do banco de dados automaticamente de acordo com as cargas de trabalho, eliminando possíveis gargalos na camada de dados.
Vamos entender como habilitar o dimensionamento automático no nível do banco de dados com as próximas seções
Diretrizes para habilitar o dimensionamento automático
Em geral, os clientes devem considerar o dimensionamento automático quando suas cargas de trabalho variam significativamente e são imprevisíveis.
Para habilitar o recurso de dimensionamento automático, o cliente precisa criar um tíquete de suporte único para solicitá-lo por meio de portal do Azure. A equipe de suporte da Microsoft habilita o recurso de dimensionamento automático com base na prioridade de suporte.
Observação
O recurso de dimensionamento automático não está disponível no portal do Azure.
Dimensionamento automático para RU/s
Quando o dimensionamento automático está habilitado, o sistema calcula e define o valor inicial Tmax
. A escalabilidade é regida pelo valor máximo da taxa de transferência RU/s
, ou Tmax
, e é dimensionada entre 0.1 *Tmax
(ou 10% Tmax
) e Tmax RU/s
. O Tmax
aumenta automaticamente à medida que o tamanho total dos dados aumenta. Para garantir a escalabilidade máxima, o valor Tmax
deve ser mantido no estado em que se encontra. No entanto, os clientes podem solicitar que o valor seja alterado para algo entre 10% e 100% do valor Tmax
.
Você pode aumentar o valor máximo RU/s
ou Tmax
e aumentar até o limite de suporte do serviço. Quando o serviço está ocupado, a taxa de transferência RU/s
é expandida até o valor Tmax
. Quando o serviço está ocioso, a taxa de transferência RU/s
é reduzida verticalmente para 10% do valor Tmax
.
Você também pode diminuir o valor RU/s
ou Tmax
máximo. Quando você reduz o máximo de RU/s
, o valor mínimo para o qual você pode defini-lo é: MAX (4000, highest max RU/s ever provisioned / 10, current storage in GB * 400)
, arredondado para as 1.000 RU/s
mais próximas.
-
Exemplo 1: você tem dados de 1 GB e o mais alto provisionado
RU/s
é 10.000. O valor mínimo é Max (4.000, 10.000/10, 1x400) = 4.000. O primeiro número, 4.000, é usado. -
Exemplo 2: você tem dados de 20 GB e o mais alto provisionado
RU/s
é 100.000. O valor mínimo é Max (4.000, 100.000/10, 20x400) = 10.000. O segundo número, 100.000/10 =10.000, é usado. - Exemplo 3: você tem dados de 80 GB e as RU/s mais altas provisionadas são de 300.000. O valor mínimo é Max (4.000, 300.000/10, 80x400) = 32.000. O terceiro número, 80x400=32.000, é usado.
Você poderá ajustar o valor máximo RU/s
ou Tmax
por meio do portal se for um número válido e não maior que 100.000 RU/s
. Você pode criar um tíquete de suporte para solicitar Tmax
um valor maior que 100.000.
Observação
À medida que o armazenamento de dados aumenta, o sistema aumentará automaticamente a taxa de transferência máxima para as próximas RU/s mais altas que podem dar suporte a esse nível de armazenamento.
Dimensionamento automático no nível de computação
As políticas de dimensionamento automático definidas para o nível de computação do serviço FHIR consistem em:
- Gatilho de dimensionamento
O Gatilho de Dimensionamento descreve quando o dimensionamento do serviço será executado. As condições definidas no gatilho são verificadas periodicamente para determinar se um serviço deve ser escalado ou não. Todos os gatilhos com suporte no momento são CPU média, Thread de Trabalho Máximo, LogWrite Médio, E/S média de dados.
- Mecanismo de dimensionamento
O mecanismo de dimensionamento será aplicado se a verificação de gatilho determinar que o dimensionamento é necessário. Além disso, o gatilho de dimensionamento não será avaliado novamente até que o intervalo de dimensionamento tenha expirado, que é definido como um minuto para a API do Azure para FHIR.
Para garantir o melhor resultado possível, recomendamos que os clientes aumentem gradualmente sua taxa de solicitação para corresponder à taxa de push esperada, em vez de enviar todas as solicitações por push de uma só vez.
Perguntas frequentes
Como estimar as RU/s de taxa de transferência necessárias?
O tamanho dos dados é um dos vários fatores usados no cálculo das RU/s de taxa de transferência totais necessárias para dimensionamento manual e dimensionamento automático. Você pode encontrar o tamanho dos dados usando a opção de menu Métricas em Monitoramento. Inicie um novo gráfico e selecione Tamanho da Coleção do Cosmos DB na caixa suspensa Métrica e Máx. na caixa "Agregação".
Você deve ser capaz de ver o tamanho máximo da coleção de dados durante o período de tempo selecionado. Altere o "Intervalo de Tempo" se necessário, por exemplo, de "Últimos 30 minutos" para "Últimas 48 horas".
Use a fórmula para calcular as RU/s necessárias.
- Dimensionamento manual: armazenamento em GB * 40
- Dimensionamento automático: armazenamento em GB * 400
Tenha em mente que essa é apenas uma estimativa com base no tamanho dos dados e que há outros fatores que afetam as RU/s necessárias.
Habilitei o dimensionamento automático como posso migrar para o dimensionamento manualmente?
Um tíquete de suporte é necessário para alterar o dimensionamento automático para o dimensionamento manual e especificar as RU/s de taxa de transferência. O valor mínimo do dimensionamento manual para o qual você pode defini-lo é: MAX (400, highest max RU/s ever provisioned / 100, current storage in GB * 40)
, arredondado para as 1.000 RU/s
mais próximas. Os números usados aqui são diferentes daqueles usados no dimensionamento automático.
Depois que a alteração for concluída, as novas taxas de cobrança serão baseadas na escala manual.
Qual é o impacto do custo do dimensionamento automático?
O recurso de dimensionamento automático incorre em custos devido ao gerenciamento automático das unidades de produtividade provisionadas. Os custos reais dependem do uso por hora, mas lembre-se de que há custos mínimos de 10% de Tmax
para RU/s de taxa de transferência reservada. No entanto, esse aumento de custo não se aplica aos custos de armazenamento e runtime. Para obter informações sobre preços, confira Preços da API do Azure para FHIR.
Próximas etapas
Neste documento, você aprendeu sobre o recurso de dimensionamento automático da API do Azure para FHIR. Para obter uma visão geral sobre a API do Azure para FHIR, confira
FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.