De vez em quando, os usuários que desejam executar o Couchbase Server na produção perguntam sobre o desempenho do Couchbase Server, bem como sobre os resultados do tempo de resposta e da taxa de transferência para cargas de trabalho típicas. Recentemente, a Cisco e a Solarflare publicaram um whitepaper apresentando os resultados de um benchmark executado no Cisco Labs usando o Couchbase Server como banco de dados NoSQL. Embora o benchmark tenha sido projetado especificamente para demonstrar os benefícios da Ethernet de 10 Gigabytes e as otimizações em nível de kernel, ele também demonstra alguns pontos fortes do Couchbase Server que nossos clientes adoram e nos quais confiam para suas implementações de produção. Este blog destaca alguns detalhes e percepções adicionais obtidos com esse exercício de benchmarking.

O benchmark executou dois conjuntos de testes, ambos com uma carga de trabalho mista com 70% de leituras e 30% de gravações. No primeiro teste, o tamanho do documento armazenado variou de 128 bytes a 16 KB e a latência média das operações de leitura e gravação foi medida de ponta a ponta (do cliente ao servidor de banco de dados e vice-versa) para diferentes configurações de rede.

O Gráfico 1 abaixo mostra os resultados e demonstra que O Couchbase Server é ridiculamente rápido com respostas em microssegundos, mesmo em uma Ethernet de 1Gig e tamanho de documento de 16KB. A latência foi inferior a 200 μsec usando uma Ethernet de 10Gig para documentos de todos os tamanhos e inferior a 500 μsec em todos os casos. Porém, o mais importante é que isso demonstra latência consistente e previsível (Gráfico de latência plana em 10GigE, enquanto documentos maiores levam um pouco mais de tempo para serem transferidos em uma rede de 1GigE). Esse aspecto fundamental desempenha um papel importante na experiência do usuário de aplicativos da Web.

Benchmark-blog-Chart1

Gráfico 1

No segundo teste, a taxa de transferência média foi medida à medida que os nós eram adicionados ao cluster do Couchbase, de 1 a 5 nós.

Benchmark-blog-Chart2

Gráfico 2

No Gráfico 2 acima, você pode ver que, mesmo com apenas 4 nós, a taxa de transferência é de quase 1,15 milhão de operações por segundo. Sobre 1,4 GB por segundo de dados está sendo realmente transferido entre o servidor de banco de dados e o cliente.  Alta taxa de transferência de gravação é observado mesmo com documentos de 1 KB de tamanho significativo. Embora a alta taxa de transferência possa ser um requisito para alguns aplicativos, esse teste também mostrou rendimento linear à medida que mais servidores são adicionados ao cluster: 0,62 milhão de operações / segundo com 2 nós e 1,15 milhão de operações / segundo com 4 nós.

Você pode se perguntar como esse nível de desempenho do banco de dados é possível. No centro disso está a arquitetura e o design do Couchbase Server:

  1. Uma arquitetura de nada compartilhada em que todos os nós são idênticos e independentes permite a escalabilidade linear
  2. As chaves são armazenadas automaticamente no cluster e distribuídas uniformemente, independentemente de o cluster ter 1 ou 8 nós.
  3. Baixa granularidade dos bloqueios do Couchbase e contenção mínima, permitindo alta taxa de transferência de gravação
  4. As leituras ocorrem independentemente das gravações e simultaneamente, permitindo um alto rendimento de leitura, independentemente do número de gravações
  5. A camada de cache gerenciada integrada permite respostas consistentes de baixa latência

Incluí alguns detalhes adicionais abaixo sobre a configuração do Couchbase Server para o benchmark. Espero que este blog tenha sido útil para você e o encorajo a download do Couchbase Server para ver se ele é adequado para seu aplicativo da Web.

Outras notas

Aqui estão alguns detalhes adicionais sobre a configuração do benchmark:

Oito nós executando o Couchbase Server 1.8.0 foram usados como servidores de banco de dados NoSQL, e um nó foi usado para executar os testes. O Couchbase Server foi configurado com uma réplica. Um servidor foi usado como cliente para executar a carga de trabalho. O gerador de carga de trabalho usado para o teste foi mcsoda gerador de carga de streaming de código aberto com uma mistura de operações GET e SET na proporção de 70:30.

Mais informações sobre o gerador de carga de trabalho podem ser encontradas aqui.

Autor

Postado por Dipti Borkar, diretor sênior de engenharia de soluções Diretor de engenharia de soluções, Couchbase

Dipti Borkar é diretor sênior de engenharia de soluções da Couchbase. Dipti gerencia e cria a estratégia de entrada no mercado para vendas baseadas no setor, o que leva a esforços de vendas altamente personalizados para reduzir a duração dos ciclos de qualificação (em até 6 semanas) com foco na segmentação de leads

7 Comentários

  1. resultados impressionantes

  2. Há algum resultado de benchmark de desempenho de operação de gravação?

    1. Matt Ingenthron outubro 6, 2012 em 7:13 pm

      Talvez você queira dar uma olhada nos resultados recentes de benchmark do YCSB, publicados na CouchConf San Francisco.

      1. Há algum link para os resultados do benchmark?

  3. Gostei da frase \"O Couchbase Server é ridiculamente rápido\", obrigado pela postagem interessante!

  4. [...] com gravações ou prefere passar a responsabilidade do registro para um banco de dados que pode lidar com dezenas - se não centenas - de milhares de operações por segundo em um único nó. OK, espero que seu aplicativo não seja [...]

Deixar uma resposta