Definindo o perfil das operações do Amazon DocumentDB - Amazon DocumentDB

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

Definindo o perfil das operações do Amazon DocumentDB

É possível usar o criador de perfil no Amazon DocumentDB (compativel com MongoDB) para registrar o tempo de execução e os detalhes das operações que foram realizadas no seu cluster. O criador de perfil é útil para monitorar as operações mais lentas em seu cluster para ajudá-lo a melhorar o desempenho de consultas individuais e o desempenho geral do cluster.

Por padrão, o recurso profiler está desabilitado. Quando ativado, o criador de perfil registra operações que estão demorando mais do que um valor limite definido pelo cliente (por exemplo, 100 ms) no Amazon Logs. CloudWatch Os detalhes registrados incluem o comando perfilado, a hora, o resumo do plano e os metadados do cliente. Depois que as operações forem registradas no CloudWatch Logs, você poderá usar o CloudWatch Logs Insights para analisar, monitorar e arquivar seus dados de perfil do Amazon DocumentDB. Consultas comuns são fornecidas na seção Consultas comuns.

Quando habilitado, o profiler usa recursos adicionais em seu cluster. Recomendamos começar com um valor limite alto (por exemplo, 500 ms) e diminuí-lo gradualmente para identificar as operações lentas. Começar com um valor limite de 50 ms pode causar problemas de desempenho no cluster para aplicativos de alta taxa de transferência. O profiler é habilitado no nível do cluster e funciona em todas as instâncias e bancos de dados em um cluster. O Amazon DocumentDB registra as operações no Amazon CloudWatch Logs com base no melhor esforço.

Embora o Amazon DocumentDB não imponha nenhuma cobrança adicional para habilitar o criador de perfil, você paga as taxas padrão pelo uso de registros. CloudWatch Para obter informações sobre CloudWatch os preços do Logs, consulte os CloudWatch preços da Amazon.

Operações compatíveis

O profiler do Amazon DocumentDB suporta as seguintes operações:

  • aggregate

  • count

  • delete

  • distinct

  • find(OP_ QUERY e comando)

  • findAndModify

  • insert

  • update

Limitações

O criador de perfil de consulta lenta só poderá emitir registros do criador de perfil se todo o conjunto de resultados da consulta couber em um lote e se o conjunto de resultados estiver abaixo de 16 MB (tamanho máximo). BSON Conjuntos de resultados maiores que 16 MB são divididos automaticamente em vários lotes.

A maioria dos drivers ou shells pode definir um tamanho de lote padrão que seja pequeno. Você pode especificar o tamanho do lote como parte da sua consulta. Com o objetivo de capturar registros de consultas lentos, recomendamos um tamanho de lote que exceda o tamanho do conjunto de resultados esperado. Se você não tiver certeza do tamanho do conjunto de resultados ou se ele variar, você também pode definir o tamanho do lote para um número grande (por exemplo, 100k).

No entanto, usar um lote maior significa que mais resultados precisarão ser recuperados do banco de dados antes que uma resposta seja enviada ao cliente. Para algumas consultas, isso pode criar maiores atrasos antes de você obter resultados. Se você não planeja consumir todo o conjunto de resultados, é possível que gaste mais I/Os para processar a consulta e descartar o resultado.

Habilitando o criador de perfil do Amazon DocumentDB

A habilitação do profiler em um cluster é um processo de três etapas. Certifique-se de que todas as etapas foram concluídas, ou os registros de criação de perfil não serão enviados para o CloudWatch Logs. O profiler é definido no nível do cluster e executado em todos os bancos de dados e instâncias do cluster.

Como habilitar o profiler em um cluster
  1. Como você não pode modificar um grupo de parâmetros de cluster padrão, verifique se tem um grupo de parâmetros de cluster personalizado disponível. Para obter mais informações, consulte Criando grupos de parâmetros de cluster do Amazon DocumentDB.

  2. Ao usar um grupo de parâmetros de cluster personalizado disponível, modifique os seguintes parâmetros: profiler, profiler_threshold_ms e profiler_sampling_rate. Para obter mais informações, consulte Modificando grupos de parâmetros de cluster do Amazon DocumentDB.

  3. Crie ou modifique seu cluster para usar o grupo de parâmetros de cluster personalizado e para permitir a exportação de profiler CloudWatch registros para Logs.

As seções a seguir mostram como implementar essas etapas usando o AWS Management Console e o AWS Command Line Interface (AWS CLI).

Using the AWS Management Console
  1. Antes de começar, crie um cluster do Amazon DocumentDB e um grupo de parâmetros de cluster personalizado se você ainda não tiver um. Para ter mais informações, consulte Criando grupos de parâmetros de cluster do Amazon DocumentDB e Criação de um cluster Amazon DocumentDB.

  2. Ao usar um grupo de parâmetros de cluster personalizado disponível, modifique os seguintes parâmetros. Para obter mais informações, consulte Modificando grupos de parâmetros de cluster do Amazon DocumentDB.

    • profiler - Habilita ou desabilita a criação de perfis de consulta. Os valores permitidos são enabled e disabled. O valor padrão é disabled. Para habilitar a criação de perfis, defina o valor como enabled.

    • profiler_threshold_ms— Quando profiler está definido comoenabled, todos os comandos que estão demorando mais do que profiler-threshold-ms estão registrados. CloudWatch Os valores permitidos são [50-INT_MAX]. O valor padrão é 100.

    • profiler_sampling_rate - a parcela das operações lentas que devem ser perfiladas ou registradas em log. Os valores permitidos são [0.0-1.0]. O valor padrão é 1.0.

  3. Modifique seu cluster para usar o grupo de parâmetros de cluster personalizado e defina as exportações de log do profiler para publicação na Amazon CloudWatch.

    1. No painel de navegação, escolha Clusters para adicionar o grupo de parâmetros personalizado a um cluster.

    2. Selecione o botão à esquerda do nome do cluster que deseja associar ao grupo de parâmetros. Selecione Actions e Modify para modificar seu cluster.

    3. Em Cluster options, escolha o grupo de parâmetros personalizado na etapa acima para adicioná-lo ao cluster.

    4. Em Exportações de registros, selecione Registros do Profiler para publicar na Amazon CloudWatch.

    5. Escolha Continue para exibir um resumo das modificações.

    6. Depois de verificar suas alterações, é possível aplicá-las imediatamente ou durante a próxima janela de manutenção em Scheduling of modifications.

    7. Escolha Modify cluster para atualizar seu cluster com o novo grupo de parâmetros.

Using the AWS CLI

O procedimento a seguir habilita o profiler em todas as operações compatíveis para o cluster sample-cluster.

  1. Antes de começar, verifique se você tem um grupo de parâmetros de cluster personalizado disponível executando o seguinte comando e revisando a saída de um grupo de parâmetros de cluster que não tem default no nome e tem docdb3.6 como família do grupo de parâmetros. Se você não tiver um grupo de parâmetros de cluster não padrão, consulte Criando grupos de parâmetros de cluster do Amazon DocumentDB.

    aws docdb describe-db-cluster-parameter-groups \ --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName,DBParameterGroupFamily]'

    Na saída a seguir, somente sample-parameter-group atende ambos os critérios.

    [ [ "default.docdb3.6", "docdb3.6" ], [ "sample-parameter-group", "docdb3.6" ] ]
  2. Usando seu grupo de parâmetros de cluster personalizado, modifique os seguintes parâmetros:

    • profiler - Habilita ou desabilita a criação de perfis de consulta. Os valores permitidos são enabled e disabled. O valor padrão é disabled. Para habilitar a criação de perfis, defina o valor como enabled.

    • profiler_threshold_ms— Quando profiler está definido comoenabled, todos os comandos profiler -threshold-ms demoram mais do que os CloudWatch registrados. Os valores permitidos são [0-INT_MAX]. Definir esse valor como 0 cria o perfil de todas as operações compatíveis. O valor padrão é 100.

    • profiler_sampling_rate - a parcela das operações lentas que devem ser perfiladas ou registradas em log. Os valores permitidos são [0.0-1.0]. O valor padrão é 1.0.

    aws docdb modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name sample-parameter-group \ --parameters ParameterName=profiler,ParameterValue=enabled,ApplyMethod=immediate \ ParameterName=profiler_threshold_ms,ParameterValue=100,ApplyMethod=immediate \ ParameterName=profiler_sampling_rate,ParameterValue=0.5,ApplyMethod=immediate
  3. Modifique o cluster do Amazon DocumentDB para que ele use o grupo de parâmetro de cluster personalizado sample-parameter-group da etapa anterior e defina o parâmetro --enable-cloudwatch-logs-exports como profiler.

    O código a seguir modifica o cluster sample-cluster para usar o sample-parameter-group da etapa anterior e é adicionado profiler às exportações de CloudWatch registros ativadas.

    aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --db-cluster-parameter-group-name sample-parameter-group \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["profiler"]}'

    A saída dessa operação é semelhante à seguinte.

    { "DBCluster": { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", "EarliestRestorableTime": "2020-04-07T02:05:12.479Z", "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com", "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com", "MultiAZ": false, "Engine": "docdb", "EngineVersion": "3.6.0", "LatestRestorableTime": "2020-04-08T22:08:59.317Z", "Port": 27017, "MasterUsername": "test", "PreferredBackupWindow": "02:00-02:30", "PreferredMaintenanceWindow": "tue:09:50-tue:10:20", "DBClusterMembers": [ { "DBInstanceIdentifier": "sample-instance-1", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "sample-instance-2", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-abcd0123", "Status": "active" } ], "HostedZoneId": "ABCDEFGHIJKLM", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key", "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ", "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster", "AssociatedRoles": [], "ClusterCreateTime": "2020-01-10T22:13:38.261Z", "EnabledCloudwatchLogsExports": [ "profiler" ], "DeletionProtection": true } }

Desabilitando o criador de perfil do Amazon DocumentDB

Para desativar o criador de perfil, você desativa o profiler parâmetro e a exportação de profiler registros para o CloudWatch Logs.

Desabilitar o profiler

Você pode desativar o profiler parâmetro usando o AWS Management Console ou AWS CLI, da seguinte forma.

Using the AWS Management Console

O procedimento a seguir usa o AWS Management Console para desativar o Amazon DocumentDBprofiler.

  1. Faça login no e abra AWS Management Console o console do Amazon DocumentDB em https://console.aws.amazon.com/docdb.

  2. No painel de navegação, escolha grupos de parâmetros. Selecione o nome do grupo de parâmetros de cluster ao qual você deseja desabilitar o profiler.

  3. Na página Parâmetros de cluster resultante, selecione o botão à esquerda do parâmetro profiler e escolha Editar.

  4. Na caixa de diálogo Modificar profiler escolha disabled na lista.

  5. Escolha Modificar parâmetro de cluster.

Using the AWS CLI

Para desabilitar o profiler em um cluster usando a AWS CLI, modifique o cluster da seguinte forma.

aws docdb modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name sample-parameter-group \ --parameters ParameterName=profiler,ParameterValue=disabled,ApplyMethod=immediate

Desativando a exportação de registros do profiler

Você pode desativar a exportação de profiler registros para o CloudWatch Logs usando o AWS Management Console ou AWS CLI, da seguinte forma.

Using the AWS Management Console

O procedimento a seguir usa o AWS Management Console para desativar a exportação de registros do Amazon DocumentDB para o. CloudWatch

  1. Abra o console do Amazon DocumentDB em https://console.aws.amazon.com/docdb.

  2. No painel de navegação, escolha Clusters. Escolha o botão à esquerda do nome do cluster para o qual você deseja desativar a exportação de logs.

  3. No menu Ações, escolha Modificar.

  4. Role para baixo até a seção Log exports e desmarque Profiler logs.

  5. Escolha Continuar.

  6. Analise as alterações e escolha quando você deseja que essa mudança seja aplicada ao seu cluster:

    • Aplicar durante a próxima janela de manutenção programada

    • Aplicar imediatamente

  7. Escolha Modificar cluster.

Using the AWS CLI

O código a seguir modifica o cluster sample-cluster e desativa os registros do CloudWatch profiler.

Para Linux, macOS ou Unix:

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'

Para Windows:

aws docdb modify-db-cluster ^ --db-cluster-identifier sample-cluster ^ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'

A saída dessa operação é semelhante à seguinte.

{ "DBCluster": { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", "EarliestRestorableTime": "2020-04-08T02:05:17.266Z", "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com", "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com", "MultiAZ": false, "Engine": "docdb", "EngineVersion": "3.6.0", "LatestRestorableTime": "2020-04-09T05:14:44.356Z", "Port": 27017, "MasterUsername": "test", "PreferredBackupWindow": "02:00-02:30", "PreferredMaintenanceWindow": "tue:09:50-tue:10:20", "DBClusterMembers": [ { "DBInstanceIdentifier": "sample-instance-1", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "sample-instance-2", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-abcd0123", "Status": "active" } ], "HostedZoneId": "ABCDEFGHIJKLM", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key", "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ", "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster", "AssociatedRoles": [], "ClusterCreateTime": "2020-01-10T22:13:38.261Z", "DeletionProtection": true } }

Acessando seus registros do criador de perfil do Amazon DocumentDB

Siga estas etapas para acessar seus registros de perfil na Amazon CloudWatch.

  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  2. Certifique-se de estar na mesma região que seu cluster do Amazon DocumentDB.

  3. No painel de navegação, selecione Logs.

  4. Para encontrar os logs do profiler do cluster, selecione /aws/docdb/yourClusterName/profiler na lista.

    Os logs de perfil para cada uma das suas instâncias estão disponíveis em cada um dos respectivos nomes de instância.

Consultas comuns

Veja as seguintes consultas comuns que você pode usar para analisar seus comandos perfilados. Para obter mais informações sobre o CloudWatch Logs Insights, consulte Análise de dados de registro com o CloudWatch Logs Insights e exemplos de consultas.

Obtenha as 10 operações mais lentas em uma coleção especificada

filter ns="test.foo" | sort millis desc | limit 10

Obtenha todas as operações de atualização em uma coleção que levou mais de 60 ms

filter millis > 60 and op = "update"

Obtenha as 10 operações mais lentas do último mês

sort millis desc | limit 10

Obtenha todas as dúvidas com um resumo do COLLSCAN plano

filter planSummary="COLLSCAN"