Servidor Couchbase

Um gerador de carga de trabalho conveniente para o Couchbase no OpenShift

Nosso primeiro Guest Post da Programa de Redação Comunitária vem de Nicolas Motte.

Nicolas Motte

Nico é um engenheiro de pilha completa no sul da França. Ele lançou vários aplicativos móveis nativos e híbridos no iTunes e no Google Play e abriu sua própria empresa em 2015. Atualmente, ele trabalha na Amadeus como gerente de operações e instrutor de operações. Ele também investe em start-ups em seu tempo livre. Ele tem experiência em requisitos operacionais e armazenamentos de dados (Memcached, Couchbase, MongoDB, Kafka, ZooKeeper, Elasticsearch).

Recentemente, estive trabalhando em um projeto para implantar um Couchbase cluster no OpenShift(1). Rapidamente, precisei simular uma carga de trabalho para avaliar o desempenho do cluster e sua tolerância a falhas. No início, pensei em migrar um de nossos aplicativos para o OpenShift, mas isso era muito doloroso para uma necessidade tão simples e comum. Também pensei em criar meu próprio injetor, mas sou muito preguiçoso para isso! Então conversei com Michael Hirschbergum campeão do Couchbase, para entender como ele valida as novas versões do Couchbase ou o novo hardware. Ele me indicou o cbc-pillowfight. Caso não conheça essa ferramenta, dê uma olhada aqui.

Isso parecia muito promissor, tudo o que eu tinha que fazer era implantá-lo no OpenShift... mas eu não tinha ideia de como fazer isso! Então, ok, o OpenShift executa os aplicativos em contêineres do Docker, o que significa que o primeiro passo era criar uma imagem do Docker. Depois de algumas tentativas, cheguei a este Dockerfile baseado no CentOS, muito simples e simples. A parte importante foi usar apenas um comando RUN para reduzir o número de camadas e passar os parâmetros do cbc-pillowfight como parâmetros do Docker, para torná-lo genérico. O Dockerfile pode ser compilado e enviado para um repositório com estes comandos:


Você pode encontrar a imagem compilada do Docker aqui. Agora, tudo o que eu precisava era criar um modelo do OpenShift, pegando todos os parâmetros anteriores na entrada.
Adicionei um controlador de replicação para escalonar facilmente minha injeção e um sufixo foi anexado ao seu nome para que você possa implantar vários injetores com parâmetros diferentes. E estamos prontos! Muito simples, certo? Agora posso simular qualquer tipo de tráfego para meu cluster do Couchbase em execução no OpenShift e aumentar esse tráfego simplesmente adicionando réplicas ao meu controlador de replicação.

Aqui está um exemplo de como usá-lo:


Alcancei facilmente 46 mil operações por segundo em um ambiente minúsculo e, sinceramente, é muito conveniente de usar. Fiz o upload de um vídeo do youtube para mostrar concretamente como usá-lo. Aqui estão os detalhes do meu ambiente:

Hardware

 

hardware

VMs

Armazenamento

storage

Distribuição de pods

Console do Couchbase 

Couchbase_Console

Métricas do sistema

SystemMetrics

Podemos ver claramente que o gargalo do meu ambiente é a CPU. Eu poderia melhorar o desempenho adicionando mais vCPUs às minhas VMs, mas esse não é o objetivo desta postagem.

Acredito firmemente que a integração de datastores no OpenShift se tornará cada vez mais popular, pelo menos em ambientes locais, muito provavelmente também em ambientes de teste e talvez até mesmo em produção, uma vez que seja suportada pelos diferentes fornecedores. É uma ótima maneira de padronizar o gerenciamento do camada de dados. Este modelo OpenShift para cbc-pillowfight será a ferramenta perfeita para gerar uma carga de trabalho em seu amado Couchbase cluster!

  1. Implantação do Couchbase em OpenShift ainda não é suportado

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Laura Czajkowski, gerente da comunidade de desenvolvedores, Couchbase

Laura Czajkowski é a Snr. Developer Community Manager da Couchbase, supervisionando a comunidade. Ela é responsável pelo nosso boletim informativo mensal para desenvolvedores.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.