O ajuste da configuração do MySQL é um componente importante do gerenciamento de banco de dados implementado por profissionais e administradores de banco de dados. Tem como objetivo configurar o banco de dados para se adequar ao seu hardware e carga de trabalho. Mas, além da esfera de gerenciamento de banco de dados, a utilidade do ajuste da configuração do MySQL é amplamente ignorada.
Supomos que o ajuste do MySQL pode afetar significativamente o desempenho de aplicativos da web. Se pudermos mostrar o valor do ajuste do MySQL, acreditamos que as empresas e organizações podem estar interessadas em incorporar esta prática em maior escala.
Melhorar o desempenho do aplicativo com ajuste é melhor alcançado com uma abordagem abrangente que aborda as seguintes áreas:
Muitos desenvolvedores experientes não veem o ajuste de desempenho do banco de dados como uma oportunidade para melhorar o desempenho de seus aplicativos porque sabem pouco sobre esse domínio. Eles gastam muito tempo otimizando a base de código, mas chega a um ponto em que não traz mais um resultado valioso pelo tempo e energia investidos. Nossa pesquisa sobre como o ajuste do MySQL afeta positivamente o desempenho de aplicativos web populares de código aberto tem como objetivo mostrar esse fato aos desenvolvedores.
Nosso procedimento de teste para Laravel Aimeos nos permite comparar o desempenho do aplicativo antes e depois da configuração usando dados propagados. Ao executar o teste primeiro com a configuração padrão, obtemos resultados de controle valiosos para comparar a configuração ajustada.
Usamos o seguinte processo para preparar e testar cada aplicação:
Publicamos testes JMeter, MySQL Status e MySQL Variables durante testes no Github.
As métricas que analisamos durante esta pesquisa são:
Coletamos métricas de Utilização da CPU e Consultas por segundo para comparar a carga de trabalho.
Aimeos Laravel é uma estrutura popular de aplicativos da web de comércio eletrônico para a criação de lojas online, mercados e aplicativos B2B. Com o Aimeos, os usuários podem criar lojas de comércio eletrônico com API first para Laravel que podem ser dimensionadas para suportar mais de 1 bilhão de itens. Está disponível em mais de 30 idiomas e tem mais de 300.000 instalações.
Para testar o Aimeos, iniciamos o teste com dez usuários, mas tivemos que diminuir o número de usuários porque não conseguimos finalizar o teste com a configuração padrão.
Semeamos o banco de dados com dados de 500 Mb.
A duração do nosso teste foi de 10 minutos.
Nós costumavamos:
A configuração usada para Aimeos Laravel é a seguinte:
query_cache_type=1 query_cache_size=134217728 query_cache_limit=16777216 query_cache_min_res_unit=4096 thread_cache_size=0 key_buffer_size=8388608 max_allowed_packet=1073741824 sort_buffer_size=2097152 read_rnd_buffer_size=262144 bulk_insert_buffer_size=8388608 myisam_sort_buffer_size=8388608 innodb_buffer_pool_chunk_size=134217728 innodb_buffer_pool_size=805306368 max_heap_table_size=16777216 tmp_table_size=16777216 join_buffer_size=8388608 max_connections=151 table_open_cache=2048 table_definition_cache=1408 innodb_flush_log_at_trx_commit=1 innodb_log_file_size=201326592 innodb_log_buffer_size=16777216 innodb_write_io_threads=4 innodb_read_io_threads=4 innodb_file_per_table=1 innodb_flush_method=O_DIRECT innodb_thread_concurrency=0 innodb_purge_threads=4 optimizer_search_depth=0 thread_handling=pool-of-threads thread_pool_size=2
Os resultados dos testes do Aimeos Laravel apresentaram melhorias drásticas de desempenho entre as configurações padrão e ajustadas.
A otimização do MySQL resultou em uma melhoria significativa no Tempo de Resposta médio do servidor, que foi reduzido de 1,4 segundos para menos de 800 milissegundos.
Otempo de resposta (latência) caiu 42% e a utilização média da CPU 86%, enquanto as consultas por segundo aumentaram incríveis 291%, de 12 a 35 consultas por segundo.
O gráfico dos resultados está disponível abaixo:
Tempo de resposta (ms), configuração MySQL ajustada pelo Aimeos versus padrão
Utilização da CPU (%), configuração MySQL ajustada pelo Aimeos vs padrão
Consultas por segundos, configuração MySQL ajustada pelo Aimeos versus padrão
Nós nos unimos aos desenvolvedores do Laravel Gevorg Mkrtchyan e Sergey Sinitsa da empresa Initlab para investigar esta linha de questionamento e estamos muito gratos por sua experiência.
Sergey implantou Aimeos e Gevorg preparou o código para semear o banco de dados.
Nosso procedimento de teste, usando Aimeos Laravel, mostrou melhorias dramáticas em Tempo de resposta (latência), Utilização da CPU, e Consultas por segundo após configurar o banco de dados configuração do servidor.
Tempo de resposta (latência) caiu entre 42%, enquanto Utilização da CPU caiu 86%. Consultas por segundo aumentaram 291% no Aimeos Laravel 500MB.
Concluindo, o ajuste do MySQL é um aspecto essencial do gerenciamento de banco de dados que pode ter um impacto significativo no desempenho de aplicações Laravel. Aplicativos da web com baixo desempenho podem levar a tempos de carregamento de página maiores, processamento lento de solicitações e uma experiência do usuário ruim, o que pode afetar negativamente o SEO e as vendas. Ao otimizar o desempenho de aplicativos da web com ajuste do MySQL, empresas e organizações podem aumentar as vendas, visualizações de páginas, taxas de conversão e classificações de SEO.
Com esta pesquisa, esperamos mostrar o valor do ajuste do MySQL como um meio de melhorar o desempenho de aplicativos Laravel e encorajar os desenvolvedores Laravel a considerar esta prática ao otimizar o desempenho de seus aplicativos.
Usando ferramentas como Releem, os bancos de dados podem ser configurados automaticamente para desempenho ideal, reduzindo a carga das equipes de desenvolvimento de software.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3