Cursos Magento

Um diagnóstico rápido do seu banco Magento

,

Atualizado em 01 de março de 2022

Você deve concordar que a maioria das pessoas utiliza sequer a metade dos recursos disponíveis nos seus celulares, sistemas operacionais, e principalmente nos softwares e plataformas.

Quando o assunto é Magento 1 ou Magento 2 isso não é diferente. Como sabe cheguei até a criar um curso para mostrar a fundo boa parte dos recursos do Magento 2, e mesmo assim ainda há muito mais para falar e aprender.

Se você é um desenvolvedor(a) Magento provavelmente conhece o n98-magerun. Trata-se de uma ferramenta que executamos no terminal e que traz uma série de recursos adicionais além do conhecido bin/magento. Eu falo dela e de outras 10+ ferramentas de desenvolvimento no Magento 2: O Curso.

Assim como a maioria dos mortais eu também não conheço e nem uso todos os recursos das ferramentas que utilizo. Mas de vez em quando invisto algum tempo para conhecê-las melhor. E olha só o que eu encontrei desta vez…

Diagnosticando problemas e má configuração no seu banco Magento

O n98 tem um “comandinho” que nos mostra várias informações úteis do nosso banco de dados e como ele está configurado.

magenteiro@magento2magenteiro$ ./n98-magerun2.phar db:status
+--------------------------------+-------------+-----------------------------------------------------------------------------+
| Variable Name                  | Value       | Description                                                                 |
+--------------------------------+-------------+-----------------------------------------------------------------------------+
| Aborted_connects               |           0 | Total number of failed attempts to connect to MySQL.                        |
| Created_tmp_disk_tables        |         691 | Number of temporary tables that have been created on disk instead of        |
|                                |             | in-memory. Lower is better.                                                 |
| Handler_read_first             |          43 | Number of times a table handler made a request to read the first row of a   |
|                                |             | table index.                                                                |
| Handler_read_rnd_next          |      285576 | Number of requests to read the next row in the data file. This value is     |
|                                |             | high if you are doing a lot of table scans. Generally this suggests that    |
|                                |             | your tables are not properly indexed or that your queries are not written   |
|                                |             | to take advantage of the indexes you have.                                  |
| Innodb_buffer_pool_pages_dirty |           0 | Indicates the number of InnoDB buffer pool data pages that have been        |
|                                |             | changed in memory, but the changes are not yet written (flushed) to the     |
|                                |             | InnoDB data files                                                           |
| Innodb_buffer_pool_wait_free   |           0 | Number of times MySQL has to wait for memory pages to be flushed.           |
| Key_reads                      |           0 | Number of filesystem accesses MySQL performed to fetch database indexes.    |
| Max_used_connections           |           8 | Max number of connections MySQL has had open at the same time since the     |
|                                |             | server was last restarted.                                                  |
| Open_tables                    |         164 | Number of tables that are currently open.                                   |
| Select_full_join               |         382 | Number of full joins MySQL has performed to satisfy client queries.         |
| Slow_queries                   |           0 | Number of queries that have taken longer than usual to execute.             |
| Threads_connected              |           2 | Total number of clients that have currently open connections to the server. |
| Uptime                         | 2 hours ago | Time since the server was last restarted.                                   |
| Full table scans               | 37.30%      | HINT: "Handler_read_rnd_next" is reset to zero when reached the value of    |
|                                |             | 2^32 (4G).                                                                  |
| InnoDB Buffer Pool hit         | 99.88%      | An InnoDB Buffer Pool hit ratio below 99.9% is a weak indicator that your   |
|                                |             | InnoDB Buffer Pool could be increased.                                      |
+--------------------------------+-------------+-----------------------------------------------------------------------------+

Como você pode ver, o comando n98-magerun2 db:status traz uma série de variáveis e configurações do banco de dados onde a loja Magento deste diretório está configurado.

E não precisa ser nenhum especialista em banco de dados para tirar vantagem disso. O N98 traz uma série de dicas úteis na última coluna.

Eis algumas informações adicionais pra você:

  • Aborted_connects – número de conexões sem sucesso feitas ao banco de dados. Isso também incluí conexões feitas com credenciais inválidas. Certifique-se de não permitir conexões externas ao seu banco para ter um número real de problemas que pode haver em seu banco.
  • Slow_queries – número de queries que estão levando muito tempo para serem executadas. Isso impacta negativamente em diversos outros fatores da sua loja. Veja como encontrar queries lentas no Magento 2.
  • Uptime – tempo que seu banco está ligado desde que foi iniciado a última vez. Idealmente só você deve reiniciar seu banco de dados. Se este número for sempre muito baixo, pode haver um problema.
  • InnoDB Buffer Pool hit – percentual de vezes que um dado foi trazido do buffer ao invés de realizar uma nova consulta. Se o número for menor que 99,9% pode ser que a configuração do innodb_buffer_pool_size pode ser aumentada para armazenar mais informações.
  • Max_used_connections – número máximo de conexões simultâneas desde a última inicialização do banco. Se este número for muito discrepante com o número de usuários simultâneos do seu site, pode ser que tenha sofrido algum tipo de ataque ou há algo errado.

Onde encontrar o N98

Você encontra o N98 para Magento 1 e Magento 2 neste link.

O comando acima funciona em ambas versões.

Há algumas semanas eu falei sobre um outro comando legal para exportar seu banco de dados ocultando dados sensíveis. Ele também usa o N98. Espero que goste.

Grande abraço e até a próxima.

Últimos posts por Ricardo Martins (exibir todos)
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-2/diagnostico-banco/"]