Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Desempenho da operação de gravação

Nesta página

  • Indexes
  • Registro no diário

Cada índice em uma collection adiciona alguma quantidade de sobrecarga ao desempenho de operações de gravação.

Para cada write operation insert ou delete em uma collection, o MongoDB insere ou remove as chaves de documento correspondentes de cada índice na collection de destino. Uma operação update pode resultar em atualizações para um subconjunto de índices na collection, dependendo das chaves afetadas pela atualização.

Observação

O MongoDB só atualiza um índice esparso ou parcial se os documentos envolvidos em uma operação de gravação estiverem incluídos no índice.

Em geral, os ganhos de desempenho que os índices fornecem para operações de leitura valem a pena de inserção. No entanto, para otimizar o desempenho de gravação quando possível, tenha cuidado ao criar novos índices e avalie os índices existentes para garantir que suas consultas realmente usem esses índices.

Para índices e queries, consulte Otimização de queries. Para obter mais informações sobre índices, consulte Índices e Estratégias de indexação.

Para fornecer durabilidade em caso de falha, o MongoDB usa o write ahead logging em um diário. O MongoDB grava primeiro as alterações na memória nos arquivos de diário no disco. Se o MongoDB encerrar ou encontrar um erro antes de confirmar as alterações nos ficheiros de dados, o MongoDB poderá usar os arquivos de diário para aplicar a operação de gravação aos ficheiros de dados.

Embora a garantia de durabilidade fornecida pelo diário geralmente supere os custos de desempenho das operações de gravação adicionais, considere as seguintes interações entre o diário e o desempenho:

  • Se o diário e o arquivo de dados residirem no mesmo dispositivo de bloqueio, os arquivos de dados e o diário poderão ter que lidar com um número finito de recursos de E/S disponíveis. Mover o diário para um dispositivo separado pode aumentar a capacidade de operações de escrita.

  • Se os aplicativos especificarem write concerns que incluam j option, mongod diminuirão a duração entre as gravações no diário, o que pode aumentar a carga geral de gravação.

  • A duração entre gravações no diário é configurável usando a opção de tempo de execução commitIntervalMs. Diminuir o período entre as confirmações do diário aumentará o número de operações de gravação, o que pode limitar a capacidade do MongoDB de operações de gravação. Aumentar o tempo entre as confirmações do diário pode diminuir o número total de operações de gravação, mas também aumenta a chance de o diário não registrar uma operação de gravação em caso de falha.

Para obter informações adicionais sobre registro no diário, consulte Registro no diário.

Voltar

Otimizar o desempenho