O impacto de apenas algumas “bad queries” na operação de um negócio

Com o sucesso do negócio e consequente ampliação de sua base de clientes, surgiram os primeiros desafios tecnológicos

A G-Click é uma startup brasileira da área de gestão de processos que, desde 2018, disponibiliza aos escritórios de contabilidade uma solução inovadora para o gerenciamento de tarefas e processos contábeis.

“Tínhamos a previsão de ampliar nossa base de clientes e precisávamos buscar uma empresa que nos proporcionasse segurança, agilidade, conhecimento técnico, inovação e experiência em gestão dos recursos da AWS e encontramos estas características na Dedalus.” –  Richard Werneck, diretor de tecnologia da G-Click.

O desafio

Com o crescimento da base de clientes da G-Click e, consequente, aumento no volume de requisições da aplicação e dados gerados, sua instância RDS MySql passou a apresentar um alto consumo de CPU, atingindo picos de 100%, que resultavam em indisponibilidade na aplicação.

Inicialmente, o banco de dados da G-click utilizava uma instância RDS MySql db.m4.xlarge.

Ao se deparar com essa situação de alto consumo de CPU, um scaleup do seu RDS para uma instância db.m4.2xlarge foi realizado. Entretanto, o aumento da instância RDS além de não resolver os problemas de consumo de CPU e instabilidades da aplicação, dobrou seu custo com banco de dados.

Diante do cenário descrito, o desafio era solucionar de fato os problemas de indisponibilidade sem que a solução trouxesse aumento significativo de custos para que a Gclick continuasse crescendo sua base de clientes.

A solução

Com o monitoramento detalhado das queries lentas (queries que levam acima de 100ms para serem executadas) no RDS, identificamos que apenas 10 queries, dentre mais de 1900 queries distintas, eram responsáveis pelo consumo de mais de 70% do tempo de execução no banco de dados por dia.

Aprofundamos a análise nas 10 queries que mais consumiam tempo de execução no banco de dados e identificamos a necessidade da criação de 16 índices.

Inicialmente a necessidade desses índices não era percebida devido ao pequeno volume de dados e requisições. Com o aumento da demanda e volume de dados no banco de dados, o impacto causado pela falta dos índices necessários para que o banco de dados resolvesse de maneira otimizada as queries enviadas pela aplicação ficou mais evidente.

O resultado

Após a criação dos 16 índices sugeridos, o consumo de CPU no RDS caiu significativamente o que permitiu o scale-down do RDS para uma instância db.m4.xlarge. Mesmo após o scaledown, o consumo de CPU se manteve abaixo de 10%.

Além de resolver os problemas de indisponibilidade e escalabilidade da G-click, a solução implementada permitiu uma redução de custo significativa.

“A superação deste desafio foi fundamental para que pudéssemos manter, com tranquilidade, o plano de negócios que possuímos para o G-Click. É esta solução que vai assegurar a estrutura que precisamos para atingir a meta de clientes estimada até o fim deste ano”, explica o diretor de Tecnologia.

“Além disso, a estabilidade nos dará segurança para o passo seguinte, que trará ainda mais inovações. E, não tenho dúvidas que o apoio da Dedalus, para a arquitetura de todos os processos, aliada às soluções da AWS, será fundamental para alcançarmos estes objetivos.” – Richard Werneck, diretor de tecnologia da G-Click

Veja mais cases:

Guia de redução de custos em cloud para médias empresas

Guia de redução de custos em cloud para médias empresas

A redução de custos em cloud é um processo contínuo que envolve avaliação, monitoramento e automação. Com uma abordagem proativa, é possível maximizar o valor dos investimentos em nuvem, o que é especialmente benéfico para médias empresas. A seguir, confira algumas...

Monitoramento e observabilidade: entenda as diferenças

Monitoramento e observabilidade: entenda as diferenças

À medida que a tecnologia evolui, a capacidade de entender os sistemas em tempo real se tornou ainda mais vital para o sucesso no mundo digital. É neste contexto que surgem dois conceitos-chave: monitoramento e observabilidade. Basicamente, enquanto o monitoramento...