Largue ficheiros aqui

Envio de SQL ( 0 ) x -

Servidor: 127.0.0.1
Configurações relacionadas com a página Clique na barra para deslizar para o topo da página
Use Ctrl+Enter para executar a consulta Pressione Enter para executar consulta
Ascendente
Descendente
Ordem:
Depurar SQL
Contagem
Ordem de execução
Tempo gasto
Ordenar por:
Agrupar consultas
Desagrupar consultas
Ocultar Mostrar Mostrar rastro Ocultar rastro Contagem Tempo gasto
Marcadores
Actualizar
Adicionar
Sem marcadores
Adicionar marcador
Opções
Definir como predefinição





Ocultar Mostrar Re-consultar Edita Explicar Perfil Marcadores Consulta falhou Base de Dados : Tempo de execução da consulta :
Instruções Instruções

O sistema de Assessoria pode fornecer recomendações sobre variáveis de servidor, analisando as variáveis de estado do servidor.

Saiba, porém, que este sistema fornece recomendações baseadas em cálculos simples e por princípios, o que não necessariamente se aplica ao seu sistema.

Antes da alterar qualquer configuração, certifique-se de que sabe o que está alterando (lendo a documentação) e como desfazer tal alteração. Aperfeiçoamentos incorretos podem resultar em efeitos negativos na performance.

A melhor forma de aperfeiçoar seu sistema é alterar somente uma configuração de cada vez, observar ou testar a performance da sua base de dados, e desfazer a alteração se não houver melhoramentos claramente mensuráveis.

{"parse":{"errors":[]},"run":{"fired":[{"name":"Tempo de consulta grande","formula":"long_query_time","test":"value >= 10","issue":"{long_query_time} est\u00e1 ajustado em 10 segundos ou mais, assim apenas consultas lentas que demoram mais do que 10 segundos s\u00e3o registradas.","recommendation":"\ufeff\ufeff\ufeff\ufeffSugere-se definir <a href=\"server_variables.php?filter=long_query_time&amp;lang=pt\">long_query_time<\/a> para um valor inferior, dependendo do seu ambiente. Normalmente, um valor de 1-5 segundos \u00e9 sugerido.","justification":"\"long_query_time\" est\u00e1 definida para 10s.","id":"Long query time"},{"name":"Log de queries lentas","precondition":"PMA_MYSQL_INT_VERSION >= 50600","formula":"slow_query_log","test":"value == 'OFF'","issue":"O log de queries lentas est\u00e1 desativado.","recommendation":"Ativa log de queries lentas definindo <a href=\"server_variables.php?filter=slow_query_log&amp;lang=pt\">slow_query_log<\/a> para 'ON'. Isso ajudar\u00e1 a resolver problemas de desempenho de queries.","justification":"slow_query_log est\u00e1 definido como 'OFF'","id":"Slow query logging"},{"name":"Ordenar linhas","formula":"Sort_rows \/ Uptime","test":"value * 60 >= 1","issue":"Muitos campos est\u00e3o sendo ordenados.","recommendation":"Apesar de n\u00e3o haver nada errado em uma grande quantidade de ordena\u00e7\u00e3o de campos, voc\u00ea pode querer garantir que as consultas que exigem muita ordena\u00e7\u00e3o usem colunas indexadas na cl\u00e1usula ORDER BY, pois isso resultar\u00e1 em uma ordena\u00e7\u00e3o muito mais r\u00e1pida.","justification":"M\u00e9dia de campos ordenados: 3,65 por minuto","id":"Sort rows"},{"name":"Taxa de uni\u00f5es sem \u00edndices","formula":"(Select_range_check + Select_scan + Select_full_join) \/ Uptime","test":"value * 60 * 60 > 1","issue":"Existem joins demais sem \u00edndices.","recommendation":"Isso significa que JOINs est\u00e3o fazendo leituras completas de tabela. Adicionar \u00edndices aos campos sendo usados nas condi\u00e7\u00f5es JOIN ir\u00e1 acelerar bastante a uni\u00e3o das tabelas.","justification":"M\u00e9dia de tabelas de join: 7,96 por minuto, esse valor deveria ser menor do que 1 por hora","id":"Rate of joins without indexes"},{"name":"Taxa de leitura do primeiro registro de \u00edndice","formula":"Handler_read_first \/ Uptime","test":"value * 60 * 60 > 1","issue":"A taxa de leitura do primeiro registro de \u00edndice est\u00e1 alta.","recommendation":"Isso normalmente indica leituras completas frequentes de \u00edndice. Leituras completas de \u00edndices s\u00e3o mais r\u00e1pidas que leituras de tabela mas exigem muitos ciclos de CPU em grandes tabelas, se essas tabelas que tem ou tinham altos volumes de UPDATEs e DELETEs, rodar \"OTIMIZAR TABELA\" pode reduzir a quantidade de e\/ou acelerar as leituras completas de \u00edndice. Tirando isso, leituras completas de \u00edndice s\u00f3 podem ser reduzidas reescrevendo as queries.","justification":"M\u00e9dia de pesquisas de \u00edndice: 16,98 por hora esse valor deveria ser menor do que 1 por hora","id":"Rate of reading first index entry"},{"name":"Taxa de leitura de posi\u00e7\u00e3o fixa","formula":"Handler_read_rnd \/ Uptime","test":"value * 60 * 60 > 1","issue":"A taxa de leitura de dados de uma posi\u00e7\u00e3o fixa est\u00e1 alta.","recommendation":"Isso indica que muitas queries precisam ordenar resultados e\/ou fazer uma leitura completa de tabela, incluindo queries JOIN que n\u00e3o usam \u00edndices. Adicione \u00edndices onde puderem ser aplicados.","justification":"A taxa m\u00e9dia de leituras de posi\u00e7\u00f5es fixas \u00e9 de: 3,58 por minuto, este valor deve ser menor do que 1 por hora","id":"Rate of reading fixed position"},{"name":"Taxa de leitura da pr\u00f3xima linha de tabela","formula":"Handler_read_rnd_next \/ Uptime","test":"value * 60 * 60 > 1","issue":"A taxa de leitura da linha da pr\u00f3xima linha de tabela est\u00e1 alta.","recommendation":"Isto indica que muitas pesquisas est\u00e3o an\u00e1lizando tabelas inteiras. Adicione \u00edndices onde forem aplic\u00e1veis.","justification":"A taxa de leitura de pr\u00f3xima linha de tabela \u00e9 de: 2,86 por segundo, este valor deve ser menor do que 1 por hora","id":"Rate of reading next table row"},{"name":"Taxa de tempor\u00e1rios em disco","precondition":"!fired('Percentage of temp tables on disk')","formula":"Created_tmp_disk_tables \/ Uptime","test":"value * 60 * 60 > 1","issue":"Muitas tabelas tempor\u00e1rias est\u00e3o sendo escritas no disco ao inv\u00e9s de serem mantidas na mem\u00f3ria.","recommendation":"Aumentar o <a href=\"server_variables.php?filter=max_heap_table_size&amp;lang=pt\">max_heap_table_size<\/a> e o <a href=\"server_variables.php?filter=tmp_table_size&amp;lang=pt\">tmp_table_size<\/a> pode ajudar. Embora algumas tabelas tempor\u00e1rias estejam sempre sendo escritas para o disco, independente do valor dessas vari\u00e1veis. Para elimin\u00e1-las, voc\u00ea ter\u00e1 que reescrever suas queries para evitar essas condi\u00e7\u00f5es (dentro de uma tabela tempor\u00e1ria: presen\u00e7a de um campo BLOB ou TEXTO ou a presen\u00e7a de um campo maior que 512 bytes) como mencionado na <a href=\".\/url.php?url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Finternal-temporary-tables.html\" target=\"_blank\" rel=\"noopener noreferrer\">Documenta\u00e7\u00e3o MySQL<\/a>","justification":"A taxa de tabelas tempor\u00e1rias sendo escritas no disco: 1,34 por minuto, esse valor deveria ser menor do que 1 por hora","id":"Temp disk rate"},{"name":"% m\u00e1xima do buffer de chaves MyISAM usada","precondition":"key_buffer_size > 0","formula":"Key_blocks_used * key_cache_block_size \/ key_buffer_size * 100","test":"value < 95","issue":"% do buffer de chaves MyISAM (cache de \u00edndices) usada \u00e9 baixa.","recommendation":"Voc\u00ea pode precisar diminuir o tamanho do <a href=\"server_variables.php?filter=key_buffer_size&amp;lang=pt\">key_buffer_size<\/a>, re-examinar suas tabelas para ver se os \u00edndices foram removidos, ou examinar as queries e expectativas a respeito de quais \u00edndices est\u00e3o sendo usados.","justification":"% m\u00e1xima do buffer de chaves MyISAM usada: 0%, \u00e9 aconselh\u00e1vel que este valor esteja acima de 95%","id":"Max % MyISAM key buffer ever used"},{"name":"Cache de query desativado","formula":"query_cache_size","test":"value == 0 || query_cache_type == 'OFF' || query_cache_type == '0'","issue":"O cache de query n\u00e3o est\u00e1 ativado.","recommendation":"O cache de query \u00e9 conhecido por melhorar significativamente o desempenho quando corretamente configurado. Ative-o ajustando <a href=\"server_variables.php?filter=query_cache_size&amp;lang=pt\">query_cache_size<\/a> para um valor em MB com 2 d\u00edgitos e ajustando <a href=\"server_variables.php?filter=query_cache_type&amp;lang=pt\">query_cache_type<\/a> para 'ON'.\n<b>Observa\u00e7\u00e3o:<\/b>Se estiver usando memcache, ignore esta recomenda\u00e7\u00e3o.","justification":"query_cache_size est\u00e1 definido em 0 ou query_cache_type est\u00e1 definido como 'OFF'","id":"Query cache disabled"}],"notfired":[{"name":"Uptime menor que um dia","formula":"Uptime","test":"value < 86400","issue":"Uptime \u00e9 menor que um dia, ajustes de performance podem n\u00e3o estar precisos.","recommendation":"Pra ter m\u00e9dias mais precisas \u00e9 recomendado deixar o servidor rodando por mais de um dia antes de utilizar esta ferramenta","justification":"O uptime \u00e9 somente 8 dias, 12 horas, 13 minutos e 31 segundos","id":"Uptime below one day"},{"name":"Quest\u00f5es abaixo de 1.000","formula":"Questions","test":"value < 1000","issue":"Menos de 1.000 consultas foram feitas a esse servidor. As recomenda\u00e7\u00f5es podem n\u00e3o estar precisas.","recommendation":"Deixe o servidor rodar por um per\u00edodo maior at\u00e9 que tenha executado um n\u00famero maior de consultas.","justification":"Quantidade atual de quest\u00f5es: 196552","id":"Questions below 1,000"},{"name":"Percentagem de consultas lentas","precondition":"Questions > 0","formula":"Slow_queries \/ Questions * 100","test":"value >= 5","issue":"Existem muitas Consultas lentas em rela\u00e7\u00e3o \u00e0s restantes Consultas.","recommendation":"Voc\u00ea pode querer aumentar o par\u00e2metro <a href=\"server_variables.php?filter=long_query_time&amp;lang=pt\">long_query_time<\/a> ou otimizar as queries listadas no log de consultas lentas","justification":"\u00c9 aconselh\u00e1vel que a taxa de queries lentas esteja abaixo de 5%, a sua taxa \u00e9 de 0%.","id":"Percentage of slow queries"},{"name":"Taxa de consulta lenta","precondition":"Questions > 0","formula":"(Slow_queries \/ Questions * 100) \/ Uptime","test":"value * 60 * 60 > 1","issue":"A porcentagem de queries lentas est\u00e1 alta comparada com o uptime do servidor.","recommendation":"Voc\u00ea pode querer aumentar o par\u00e2metro <a href=\"server_variables.php?filter=long_query_time&amp;lang=pt\">long_query_time<\/a> ou otimizar as queries listadas no log de consultas lentas","justification":"A taxa de queries lentas \u00e9 de <0,01 por dia por hora, este n\u00famero deveria ser menor que 1% por hora.","id":"Slow query rate"},{"name":"S\u00e9rie de Lan\u00e7amento","formula":"version","test":"substr(value,0,2) <= '5.' && substr(value,2,1) < 1","issue":"A vers\u00e3o do servidor MySQL \u00e9 inferior a 5.1.","recommendation":"Voc\u00ea deveria atualizar, uma vez que o MySQL 5.1 tem um desempenho melhor e o MySQL 5.5 melhor ainda.","justification":"Vers\u00e3o atual: 10.4.13-MariaDB","id":"Release Series"},{"name":"Vers\u00e3o Menor","precondition":"! fired('Release Series')","formula":"version","test":"substr(value,0,2) <= '5.' && substr(value,2,1) <= 1 && substr(value,4,2) < 30","issue":"Vers\u00e3o inferior a 5.1.30 (a primeira vers\u00e3o de disponibilidade geral do 5.1).","recommendation":"Voc\u00ea deveria atualizar, j\u00e1 que as vers\u00f5es recentes do MySQL 5.1 t\u00eam desempenho aprimorado e as do MySQL 5.5 ainda mais.","justification":"Vers\u00e3o atual: 10.4.13-MariaDB","id":"Minor Version"},{"name":"Vers\u00e3o Menor","precondition":"! fired('Release Series')","formula":"version","test":"substr(value,0,1) == 5 && substr(value,2,1) == 5 && substr(value,4,2) < 8","issue":"Vers\u00e3o inferior a 5.5.8 (a primeira vers\u00e3o de disponibilidade geral do 5.5).","recommendation":"Voc\u00ea deveria atualizar para uma vers\u00e3o est\u00e1vel do MySQL 5.5.","justification":"Vers\u00e3o atual: 10.4.13-MariaDB","id":"Minor Version"},{"name":"Distribui\u00e7\u00e3o","formula":"version_comment","test":"preg_match('\/source\/i',value)","issue":"A vers\u00e3o \u00e9 uma compila\u00e7\u00e3o a partir dos fontes, n\u00e3o um bin\u00e1rio oficial do MySQL.","recommendation":"Se voc\u00ea n\u00e3o compilou a partir do c\u00f3digo fonte, voc\u00ea pode estar usando um pacote modificado por uma distribui\u00e7\u00e3o. O manual do MySQL s\u00f3 \u00e9 preciso com rela\u00e7\u00e3o aos bin\u00e1rios oficiais do MySQL, n\u00e3o com rela\u00e7\u00e3o aos pacotes fornecidos com distribui\u00e7\u00f5es (como RedHat, Debian\/Ubuntu etc.).","justification":"'source' encontrado em version_coment","id":"Distribution"},{"name":"Distribui\u00e7\u00e3o","formula":"version_comment","test":"preg_match('\/percona\/i',value)","issue":"O manual do MySQL \u00e9 preciso apenas para bin\u00e1rios MySQL oficiais.","recommendation":"Documenta\u00e7\u00e3o do Percona encontra-se em <a href=\".\/url.php?url=https%3A%2F%2Fwww.percona.com%2Fsoftware%2Fdocumentation%2F\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.percona.com\/software\/documentation\/<\/a>","justification":"'percona' encontrado em version_coment","id":"Distribution"},{"name":"Arquitetura MySQL","formula":"system_memory","test":"value > 3072*1024 && !preg_match('\/64\/',version_compile_machine) && !preg_match('\/64\/',version_compile_os)","issue":"MySQL n\u00e3o \u00e9 compilado como um pacote 64-bit.","recommendation":"A quantidade de mem\u00f3ria dispon\u00edvel \u00e9 superior a 3GB (presumindo que o servidor esteja na m\u00e1quina local), assim o MySQL pode n\u00e3o ser capaz de acessar toda a mem\u00f3ria. Voc\u00ea deve considerar a instala\u00e7\u00e3o de uma vers\u00e3o 64-bit do MySQL.","justification":"Mem\u00f3ria dispon\u00edvel nesta m\u00e1quina: 0 Bytes","id":"MySQL Architecture"},{"name":"M\u00e9todo de cache de query","precondition":"!fired('Query cache disabled')","formula":"Questions \/ Uptime","test":"value > 100","issue":"M\u00e9todo de cache sub-\u00f3timo.","recommendation":"Voc\u00ea est\u00e1 usando o cache do MySQL Query com um banco de dados de tr\u00e1fego bastante elevado. Pode valer a pena considerar a possibilidade de usar o <a href=\".\/url.php?url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Fha-memcached.html\" target=\"_blank\" rel=\"noopener noreferrer\"> memcached <\/a> em vez do cache de consultas do MySQL, especialmente se voc\u00ea tem v\u00e1rios slaves.","justification":"O cache de query est\u00e1 ativado e o servidor recebe 0 queries por segundo. Esta regra \u00e9 acionada se h\u00e1 mais de 100 queries por segundo.","id":"Query caching method"},{"name":"Porcentagem de ordena\u00e7\u00f5es que criam tabelas tempor\u00e1rias","precondition":"Sort_scan + Sort_range > 0","formula":"Sort_merge_passes \/ (Sort_scan + Sort_range) * 100","test":"value > 10","issue":"Muitas ordena\u00e7\u00f5es est\u00e3o criando tabelas tempor\u00e1rias.","recommendation":"Considere aumentar o <a href=\"server_variables.php?filter=sort_buffer_size&amp;lang=pt\">sort_buffer_size<\/a> e\/ou <a href=\"server_variables.php?filter=read_rnd_buffer_size&amp;lang=pt\">read_rnd_buffer_size<\/a>, dependendo do limite de mem\u00f3ria do seu sistema.","justification":"0% de todas as ordena\u00e7\u00f5es criam tabelas tempor\u00e1rias, este valor deveria ser menor do que 10%.","id":"Percentage of sorts that cause temporary tables"},{"name":"Taxa de ordena\u00e7\u00f5es que geram tabelas tempor\u00e1rias","formula":"Sort_merge_passes \/ Uptime","test":"value * 60 * 60 > 1","issue":"Muitas ordena\u00e7\u00f5es est\u00e3o criando tabelas tempor\u00e1rias.","recommendation":"Considere aumentar o <a href=\"server_variables.php?filter=sort_buffer_size&amp;lang=pt\">sort_buffer_size<\/a> e\/ou <a href=\"server_variables.php?filter=read_rnd_buffer_size&amp;lang=pt\">read_rnd_buffer_size<\/a>, dependendo do limite de mem\u00f3ria do seu sistema.","justification":"M\u00e9dia de tabelas tempor\u00e1rias: <0,01 por dia. Este valor deveria ser menor do que 1 por hora.","id":"Rate of sorts that cause temporary tables"},{"name":"Diferen\u00e7a entre tmp_table_size e max_heap_table_size","formula":"tmp_table_size - max_heap_table_size","test":"value !=0","issue":"{tmp_table_size} e {max_heap_table_size} n\u00e3o s\u00e3o o mesmo.","recommendation":"Se voc\u00ea mudou deliberadamente um deles: o servidor usa o valor mais baixo dos dois para determinar o tamanho m\u00e1ximo de tabelas em mem\u00f3ria. Ent\u00e3o, se voc\u00ea quiser aumentar o limite de tabela em mem\u00f3ria, voc\u00ea ter\u00e1 que aumentar o outro valor tamb\u00e9m.","justification":"Os valores atuais de tmp_table_size s\u00e3o de: 16.00 MB e de max_heap_table_size de: 16.00 MB","id":"Different tmp_table_size and max_heap_table_size"},{"name":"Porcentagem de tabelas tempor\u00e1rias em disco","precondition":"Created_tmp_tables + Created_tmp_disk_tables > 0","formula":"Created_tmp_disk_tables \/ (Created_tmp_tables + Created_tmp_disk_tables) * 100","test":"value > 25","issue":"Muitas tabelas tempor\u00e1rias est\u00e3o sendo escritas no disco ao inv\u00e9s de serem mantidas na mem\u00f3ria.","recommendation":"Aumentar o <a href=\"server_variables.php?filter=max_heap_table_size&amp;lang=pt\">max_heap_table_size<\/a> e <a href=\"server_variables.php?filter=tmp_table_size&amp;lang=pt\">tmp_table_size<\/a> pode ajudar. Embora algumas tabelas tempor\u00e1rias estejam sempre sendo escritas para o disco, independente do valor dessas vari\u00e1veis. Para elimin\u00e1-las, voc\u00ea ter\u00e1 que reescrever suas queries para evitar essas condi\u00e7\u00f5es (dentro de uma tabela tempor\u00e1ria: presen\u00e7a de um campo BLOB ou TEXTO ou presen\u00e7a de um campo maior que 512 bytes) como mencionado no come\u00e7o de um <a href=\".\/url.php?url=https%3A%2F%2Fwww.facebook.com%2Fnote.php%3Fnote_id%3D10150111255065841%26comments\" target=\"_blank\" rel=\"noopener noreferrer\">artigo do Pythian Group<\/a>","justification":"11% de todas as tabelas tempor\u00e1rias est\u00e3o sendo escritas no disco. Este valor deveria ser menor do que 25%","id":"Percentage of temp tables on disk"},{"name":"Tamanho de buffer de chaves MyISAM","formula":"key_buffer_size","test":"value == 0","issue":"Buffer de chaves n\u00e3o est\u00e1 inicializado. Nenhum \u00edndice MyISAM ser\u00e1 armazenado.","recommendation":"Defina o <a href=\"server_variables.php?filter=key_buffer_size&amp;lang=pt\">key_buffer_size<\/a> dependendo do tamanho dos seus \u00edndices MyISAM. 64 MB \u00e9 um bom come\u00e7o.","justification":"key_buffer_size \u00e9 0","id":"MyISAM key buffer size"},{"name":"Taxa de tabelas abertas","formula":"Opened_tables \/ Uptime","test":"value*60*60 > 10","issue":"A taxa de tabelas abertas est\u00e1 alta.","recommendation":"Abrir tabelas exige I\/O, o que \u00e9 pesado. Aumentar o <a href=\"server_variables.php?filter=table_open_cache&amp;lang=pt\">table_open_cache<\/a> pode evitar isso.","justification":"Taxa de tabelas abertas: 14,69 por dia, esse valor deveria ser menor do que 10 por hora","id":"Rate of table open"},{"name":"Porcentagem do limite de ficheiros abertos","formula":"Open_files \/ open_files_limit * 100","test":"value > 85","issue":"A quantidade de ficheiros abertos est\u00e1 aproximando a quantidade m\u00e1xima de ficheiros abertos. Voc\u00ea pode acabar tendo um erro \"Demais ficheiros abertos\".","recommendation":"Considere aumentar o <a href=\"server_variables.php?filter=open_files_limit&amp;lang=pt\">open_files_limit<\/a>, e verifique o erro de log quando reiniciar ap\u00f3s mudar o <a href=\"server_variables.php?filter=open_files_limit&amp;lang=pt\">open_files_limit<\/a>.","justification":"A quantidade de ficheiros abertos est\u00e1 em 0% do limite. Deveria ser menor do que 85%","id":"Percentage of used open files limit"},{"name":"Taxa de abertura de ficheiros","formula":"Open_files \/ Uptime","test":"value * 60 * 60 > 5","issue":"A taxa de abertura de ficheiros est\u00e1 alta.","recommendation":"Considere aumentar o <a href=\"server_variables.php?filter=open_files_limit&amp;lang=pt\">open_files_limit<\/a>, e verifique o erro de log quando reiniciar ap\u00f3s mudar o <a href=\"server_variables.php?filter=open_files_limit&amp;lang=pt\">open_files_limit<\/a>.","justification":"Taxa de ficheiros abertos: 6,46 por dia. Este valor deveria ser menor do que 5 por hora","id":"Rate of open files"},{"name":"Blocos de tabela imediatos %","precondition":"Table_locks_waited + Table_locks_immediate > 0","formula":"Table_locks_immediate \/ (Table_locks_waited + Table_locks_immediate) * 100","test":"value < 95","issue":"Demais blocos de tabela n\u00e3o foram imediatamente concedidos.","recommendation":"Otimize as queries e\/ou use InnoDB para reduzir a espera de blocos.","justification":"Blocos de tabela imediatos: 100%. Este valor deveria ser maior do que 95%","id":"Immediate table locks %"},{"name":"Taxa de espera de bloco de tabela","formula":"Table_locks_waited \/ Uptime","test":"value * 60 * 60 > 1","issue":"Demais blocos de tabela n\u00e3o foram imediatamente concedidos.","recommendation":"Otimize as queries e\/ou use InnoDB para reduzir a espera de blocos.","justification":"Taxa de espera por lock de tabelas: <0,01 por dia, ese valor deveria ser menor do que 1 por hora","id":"Table lock wait rate"},{"name":"Cache de threads","formula":"thread_cache_size","test":"value < 1","issue":"O cache de threads est\u00e1 desativado, o que resulta em peso extra nas novas conex\u00f5es ao MySQL.","recommendation":"Ative o cache de threads configurando o <a href=\"server_variables.php?filter=thread_cache_size&amp;lang=pt\">thread_cache_size<\/a> > 0.","justification":"O cache de threads est\u00e1 definido como 0","id":"Thread cache"},{"name":"Taxa de acessos a threads %","precondition":"thread_cache_size > 0","formula":"100 - Threads_created \/ Connections","test":"value < 80","issue":"Cache de threads n\u00e3o \u00e9 eficiente.","recommendation":"Aumente o <a href=\"server_variables.php?filter=thread_cache_size&amp;lang=pt\">thread_cache_size<\/a>.","justification":"Taxa de acerto de cache de thread: 100%. Este valor deveria ser maior do que 80%","id":"Thread cache hit rate %"},{"name":"Threads que est\u00e3o lentas para iniciar","precondition":"slow_launch_time > 0","formula":"Slow_launch_threads","test":"value > 0","issue":"Existem muitas threads que est\u00e3o lentas demais para iniciar.","recommendation":"Isso geralmente acontece em caso de sobrecarga geral do sistema j\u00e1 que isso \u00e9 uma opera\u00e7\u00e3o bem simples. Voc\u00ea poder\u00e1 querer monitorar o carregamento do seu sistema com cuidado.","justification":"0 thread(s) levaram mais de 2 segundos para come\u00e7ar, sendo que deveriam ser 0","id":"Threads that are slow to launch"},{"name":"Tempo de in\u00edcios lentos","formula":"slow_launch_time","test":"value > 2","issue":"Slow_launch_time est\u00e1 acima de 2s.","recommendation":"Defina <a href=\"server_variables.php?filter=slow_launch_time&amp;lang=pt\">slow_launch_time<\/a> para 1s ou 2s para contar corretamente threads que est\u00e3o lentas para iniciar.","justification":"slow_launch_time est\u00e1 definido como 2","id":"Slow launch time"},{"name":"Percentagem de liga\u00e7\u00f5es utilizadas","formula":"Max_used_connections \/ max_connections * 100","test":"value > 80","issue":"A quantidade m\u00e1xima de liga\u00e7\u00f5es utilizadas est\u00e1 a aproximar-se do valor de {max_connections}.","recommendation":"Aumente o <a href=\"server_variables.php?filter=max_connections&amp;lang=pt\">max_connections<\/a>, ou diminua o <a href=\"server_variables.php?filter=wait_timeout&amp;lang=pt\">wait_timeout<\/a> para que as conex\u00f5es que n\u00e3o fechem as liga\u00e7\u00f5es \u00e0 base de dados adequadamente sejam interrompidas mais cedo. Garanta que o c\u00f3digo fecha as liga\u00e7\u00f5es \u00e0 base de dados adequadamente.","justification":"N\u00famero m\u00e1ximo de conex\u00f5es utilizadas est\u00e1 a 7% do m\u00e1ximo de conex\u00f5es, devia estar abaixo de 80%","id":"Percentage of used connections"},{"name":"Percentagem de liga\u00e7\u00f5es interrompidas","formula":"Aborted_connects \/ Connections * 100","test":"value > 1","issue":"Demasiadas liga\u00e7\u00f5es interrompidas.","recommendation":"Conex\u00f5es s\u00e3o normalmente canceladas quando n\u00e3o autorizadas. <a href=\".\/url.php?url=https%3A%2F%2Fwww.mysqlperformanceblog.com%2F2008%2F08%2F23%2Fhow-to-track-down-the-source-of-aborted_connects%2F\" target=\"_blank\" rel=\"noopener noreferrer\">Este artigo<\/a> deve ajudar a identificar o que aconteceu.","justification":"0% de todas as liga\u00e7\u00f5es est\u00e3o interrompidas. Este valor deve ser inferior a 1%","id":"Percentage of aborted connections"},{"name":"Taxa de liga\u00e7\u00f5es interrompidas","formula":"Aborted_connects \/ Uptime","test":"value * 60 * 60 > 1","issue":"Demasiadas liga\u00e7\u00f5es interrompidas.","recommendation":"Conex\u00f5es s\u00e3o normalmente canceladas quando n\u00e3o autorizadas. <a href=\".\/url.php?url=https%3A%2F%2Fwww.mysqlperformanceblog.com%2F2008%2F08%2F23%2Fhow-to-track-down-the-source-of-aborted_connects%2F\" target=\"_blank\" rel=\"noopener noreferrer\">Este artigo<\/a> deve ajudar a identificar o que aconteceu.","justification":"A quantidade de liga\u00e7\u00f5es interrompidas \u00e9 de <0,01 por dia, este valor devia ser inferior a 1 por hora","id":"Rate of aborted connections"},{"name":"Percentagem de clientes interrompidos","formula":"Aborted_clients \/ Connections * 100","test":"value > 2","issue":"Demasiados clientes interrompidos.","recommendation":"Os clientes s\u00e3o normalmente interrompidos por n\u00e3o terem fechado a sua conex\u00e3o com o MySQL adequadamente. Isto pode ser devido a problemas de liga\u00e7\u00e3o ou devido ao c\u00f3digo n\u00e3o estar a fechar a liga\u00e7\u00e3o \u00e0 base de dados adequadamente. Verifique a sua liga\u00e7\u00e3o e o seu c\u00f3digo.","justification":"0% de todos os clientes est\u00e3o interrompidos. Este valor devia ser inferior a 2%","id":"Percentage of aborted clients"},{"name":"Taxa de clientes interrompidos","formula":"Aborted_clients \/ Uptime","test":"value * 60 * 60 > 1","issue":"Demasiados clientes interrompidos.","recommendation":"Os clientes s\u00e3o normalmente interrompidos por n\u00e3o terem fechado a sua conex\u00e3o com o MySQL adequadamente. Isto pode ser devido a problemas de liga\u00e7\u00e3o ou devido ao c\u00f3digo n\u00e3o estar a fechar a liga\u00e7\u00e3o \u00e0 base de dados adequadamente. Verifique a sua liga\u00e7\u00e3o e o seu c\u00f3digo.","justification":"A taxa de clientes interrompidos \u00e9 de <0,01 por dia. (este valor deve ser menor do que 1 por hora)","id":"Rate of aborted clients"},{"name":"Tamanho do registo de InnoDB","precondition":"innodb_buffer_pool_size > 0","formula":"(innodb_log_file_size * innodb_log_files_in_group)\/ innodb_buffer_pool_size * 100","test":"value < 20 && innodb_log_file_size \/ (1024 * 1024) < 256","issue":"O tamanho do ficheiro dos registos do InnoDB n\u00e3o \u00e9 apropriado em rela\u00e7\u00e3o ao buffer reservado do InnoDB.","recommendation":"Voc\u00ea deve colocar <a href=\"server_variables.php?filter=innodb_log_file_size&amp;lang=pt\">innodb_log_file_size<\/a> a 25% de <a href=\"server_variables.php?filter=innodb_buffer_pool_size&amp;lang=pt\">innodb_buffer_pool_size<\/a>, especialmente num sistema com muitos pedidos de escrita para tabelas InnoDB. No entanto, quanto maior for este valor, maior o tempo de recupera\u00e7\u00e3o quando a base de dados falha (Crash), por isso n\u00e3o deve colocar esse valor muito acima de 256 MiB. No entanto, por favor note que n\u00e3o pode simplesmente alterar o valor desta vari\u00e1vel. Necessita de desligar o servidor, remover os ficheiros do log do InnoDB, definir o novo valor no my.cnf, iniciar o servidor, e de seguida verificar os logs de erros para verificar se n\u00e3o ocorreu nenhum problema. Veja tamb\u00e9m <a href=\".\/url.php?url=https%3A%2F%2Fmysqldatabaseadministration.blogspot.com%2F2007%2F01%2Fincrease-innodblogfilesize-proper-way.html\" target=\"_blank\" rel=\"noopener noreferrer\">este t\u00f3pico de um blog (Em Ingl\u00eas)<\/a>","justification":"O tamanho do log InnoDB \u00e9 de 63% em rela\u00e7\u00e3o ao tamanho do buffer InnoDB e n\u00e3o deve ser abaixo de 20%","id":"InnoDB log size"},{"name":"Inser\u00e7\u00f5es concorrentes no MyISAM","formula":"concurrent_insert","test":"value === 0 || value === 'NEVER'","issue":"Activar {concurrent_insert} atribuindo o valor 1","recommendation":"Atribuindo 1 a <a href=\"server_variables.php?filter=concurrent_insert&amp;lang=pt\">concurrent_insert<\/a> reduz a conten\u00e7\u00e3o entre leitores e escritores numa determinada tabela. Saiba mais na <a href=\".\/url.php?url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Fconcurrent-inserts.html\" target=\"_blank\" rel=\"noopener noreferrer\">Documenta\u00e7\u00e3o MySQL<\/a>","justification":"concurrent_insert \u00e9 definido como 0","id":"MyISAM concurrent inserts"}],"unchecked":[{"name":"Slow query logging","precondition":"PMA_MYSQL_INT_VERSION < 50600","formula":"log_slow_queries","test":"value == 'OFF'","issue":"The slow query log is disabled.","recommendation":"Enable slow query logging by setting {log_slow_queries} to 'ON'. This will help troubleshooting badly performing queries.","justification":"log_slow_queries is set to 'OFF'"},{"name":"Percentage of MyISAM key buffer used","precondition":"key_buffer_size > 0 && !fired('Max % MyISAM key buffer ever used')","formula":"( 1 - Key_blocks_unused * key_cache_block_size \/ key_buffer_size) * 100","test":"value < 95","issue":"MyISAM key buffer (index cache) % used is low.","recommendation":"You may need to decrease the size of {key_buffer_size}, re-examine your tables to see if indexes have been removed, or examine queries and expectations about what indexes are being used.","justification":"% MyISAM key buffer used: %s%, this value should be above 95% | round(value,1)"},{"name":"Percentage of index reads from memory","precondition":"Key_read_requests > 0","formula":"100 - (Key_reads \/ Key_read_requests * 100)","test":"value < 95","issue":"The % of indexes that use the MyISAM key buffer is low.","recommendation":"You may need to increase {key_buffer_size}.","justification":"Index reads from memory: %s%, this value should be above 95% | round(value,1)"},{"name":"Is InnoDB disabled?","precondition":"PMA_MYSQL_INT_VERSION < 50600","formula":"have_innodb","test":"value != \"YES\"","issue":"You do not have InnoDB enabled.","recommendation":"InnoDB is usually the better choice for table engines.","justification":"have_innodb is set to 'value'"},{"name":"Max InnoDB log size","precondition":"innodb_buffer_pool_size > 0 && innodb_log_file_size \/ innodb_buffer_pool_size * 100 < 30","formula":"innodb_log_file_size \/ (1024 * 1024)","test":"value > 256","issue":"The InnoDB log file size is inadequately large.","recommendation":"It is usually sufficient to set {innodb_log_file_size} to 25% of the size of {innodb_buffer_pool_size}. A very big {innodb_log_file_size} slows down the recovery time after a database crash considerably. See also <a href=\"https:\/\/www.percona.com\/blog\/2006\/07\/03\/choosing-proper-innodb_log_file_size\/\">this Article<\/a>. You need to shutdown the server, remove the InnoDB log files, set the new value in my.cnf, start the server, then check the error logs if everything went fine. See also <a href=\"https:\/\/mysqldatabaseadministration.blogspot.com\/2007\/01\/increase-innodblogfilesize-proper-way.html\">this blog entry<\/a>","justification":"Your absolute InnoDB log size is %s MiB | round(value,1)"},{"name":"InnoDB buffer pool size","precondition":"system_memory > 0","formula":"innodb_buffer_pool_size \/ system_memory * 100","test":"value < 60","issue":"Your InnoDB buffer pool is fairly small.","recommendation":"The InnoDB buffer pool has a profound impact on performance for InnoDB tables. Assign all your remaining memory to this buffer. For database servers that use solely InnoDB as storage engine and have no other services (e.g. a web server) running, you may set this as high as 80% of your available memory. If that is not the case, you need to carefully assess the memory consumption of your other services and non-InnoDB-Tables and set this variable accordingly. If it is set too high, your system will start swapping, which decreases performance significantly. See also <a href=\"https:\/\/www.percona.com\/blog\/2007\/11\/03\/choosing-innodb_buffer_pool_size\/\">this article<\/a>","justification":"You are currently using %s% of your memory for the InnoDB buffer pool. This rule fires if you are assigning less than 60%, however this might be perfectly adequate for your system if you don't have much InnoDB tables or other services running on the same machine. | value"},{"name":"Query cache efficiency (%)","precondition":"Com_select + Qcache_hits > 0 && !fired('Query cache disabled')","formula":"Qcache_hits \/ (Com_select + Qcache_hits) * 100","test":"value < 20","issue":"Query cache not running efficiently, it has a low hit rate.","recommendation":"Consider increasing {query_cache_limit}.","justification":"The current query cache hit rate of %s% is below 20% | round(value,1)"},{"name":"Query Cache usage","precondition":"!fired('Query cache disabled')","formula":"100 - Qcache_free_memory \/ query_cache_size * 100","test":"value < 80","issue":"Less than 80% of the query cache is being utilized.","recommendation":"This might be caused by {query_cache_limit} being too low. Flushing the query cache might help as well.","justification":"The current ratio of free query cache memory to total query cache size is %s%. It should be above 80% | round(value,1)"},{"name":"Query cache fragmentation","precondition":"!fired('Query cache disabled')","formula":"Qcache_free_blocks \/ (Qcache_total_blocks \/ 2) * 100","test":"value > 20","issue":"The query cache is considerably fragmented.","recommendation":"Severe fragmentation is likely to (further) increase Qcache_lowmem_prunes. This might be caused by many Query cache low memory prunes due to {query_cache_size} being too small. For a immediate but short lived fix you can flush the query cache (might lock the query cache for a long time). Carefully adjusting {query_cache_min_res_unit} to a lower value might help too, e.g. you can set it to the average size of your queries in the cache using this formula: (query_cache_size - qcache_free_memory) \/ qcache_queries_in_cache","justification":"The cache is currently fragmented by %s% , with 100% fragmentation meaning that the query cache is an alternating pattern of free and used blocks. This value should be below 20%. | round(value,1)"},{"name":"Query cache low memory prunes","precondition":"Qcache_inserts > 0 && !fired('Query cache disabled')","formula":"Qcache_lowmem_prunes \/ Qcache_inserts * 100","test":"value > 0.1","issue":"Cached queries are removed due to low query cache memory from the query cache.","recommendation":"You might want to increase {query_cache_size}, however keep in mind that the overhead of maintaining the cache is likely to increase with its size, so do this in small increments and monitor the results.","justification":"The ratio of removed queries to inserted queries is %s%. The lower this value is, the better (This rules firing limit: 0.1%) | round(value,1)"},{"name":"Query cache max size","precondition":"!fired('Query cache disabled')","formula":"query_cache_size","test":"value > 1024 * 1024 * 128","issue":"The query cache size is above 128 MiB. Big query caches may cause significant overhead that is required to maintain the cache.","recommendation":"Depending on your environment, it might be performance increasing to reduce this value.","justification":"Current query cache size: %s | ADVISOR_formatByteDown(value, 2, 2)"},{"name":"Query cache min result size","precondition":"!fired('Query cache disabled')","formula":"query_cache_limit","test":"value == 1024*1024","issue":"The max size of the result set in the query cache is the default of 1 MiB.","recommendation":"Changing {query_cache_limit} (usually by increasing) may increase efficiency. This variable determines the maximum size a query result may have to be inserted into the query cache. If there are many query results above 1 MiB that are well cacheable (many reads, little writes) then increasing {query_cache_limit} will increase efficiency. Whereas in the case of many query results being above 1 MiB that are not very well cacheable (often invalidated due to table updates) increasing {query_cache_limit} might reduce efficiency.","justification":"query_cache_limit is set to 1 MiB"}],"errors":[]}}