Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
As políticas de mapa de chave-valor (KVM) são um componente fundamental no gerenciamento de configurações e valores dinâmicos no sistema. No entanto, a presença e a pesquisa de chaves inexistentes nesses KVMs podem afetar significativamente o desempenho e aumentar as latências.
Antipadrão
Quando uma política de KVM tenta recuperar um valor para uma chave que não existe no mapa de chave-valor, isso resulta em chamadas adicionais ao banco de dados do Cassandra. Essa comunicação aumentada com o banco de dados de back-end, principalmente para chaves inexistentes, consome mais recursos e tempo, aumentando a latência geral da solicitação.
Impacto
O principal efeito desse antipadrão é o aumento das latências de tempo de execução e erros de repositório de dados. A velocidade de processamento e o acesso a dados do sistema são afetados negativamente, já que a alta porcentagem de pesquisas de chaves inexistentes é o principal motivo das latências observadas. Essa é uma característica de tempo de execução que depende diretamente da natureza das solicitações recebidas.
Sintomas
- O sistema apresenta latências de execução elevadas.
- Erros de armazenamento de dados, indicando problemas com a velocidade de processamento e o acesso a dados.
Mensagens de erro
A análise do arquivosystem.log
indica a presença de erros recorrentes relacionados ao Cassandra, especificamente
em relação à recuperação de dados e ao status do pool de hosts. As principais mensagens de erro observadas incluem:
ERROR DATASTORE.CASSANDRA - AstyanaxCassandraClient.get() : Exception while fetching rowKey : [7ccd1062-6e05-4d12-aa86-5c7bf944682d, app_credentials, kms] from column family:{} in keyspace:{}
ERROR DATASTORE.CASSANDRA - AstyanaxCassandraClient.logHostPoolInCaseOfErrors() : Cassandra Host Pool under use - All Hosts: xx.xx.xx.102(xx.xx.xx.102):9160,xx.xx.xx.101(xx.xx.xx.101):9160,xx.xx.xx.103(xx.xx.xx.103):9160. Active Hosts: xx.xx.xx.101(xx.xx.xx.101):9160,xx.xx.xx.102(xx.xx.xx.102):9160
Diagnóstico
A análise do arquivo system.log
do processador de mensagens revela valores L1MissL2Miss
elevados nos relatórios de métricas do KVM de cinco minutos.
Por exemplo: CACHE.org__env__KVM-Example.statistics [hitCount=215 L1MissL2Miss=14120 hitRate=5 L1MissL2Hit=212 getCount=556]
Prática recomendada
Para reduzir esse problema, recomendamos adicionar valores fictícios para chaves inexistentes nas KVMs. Essa abordagem reduz o número de chamadas ao Cassandra para chaves inexistentes, melhorando a performance e reduzindo a latência.