Eu tenho uma tabela de banco de dados com 300.000 linhas e 113,7 MB de tamanho. Tenho meu banco de dados rodando no Ubuntu 13.10 com 8 núcleos e 8 GB de RAM. Do jeito que as coisas estão agora, o servidor MySQL usa em média 750% da CPU. e 6,5% MEM (resultados obtidos executando top
na CLI). Observe também que ele é executado no mesmo servidor que o Apache2 Web Server.
Aqui está o que recebo na linha Mem:
Mem: 8141292k total, 6938244k used, 1203048k free, 211396k buffers
Quando corro: show processlist;
recebo algo assim em troca:
2098812 | admin | localhost | phpb | Query | 12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Horns/thumbs/Halloween 2013 Horns (Original).png'
2098813 | admin | localhost | phpb | Query | 12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Witch Hat/thumbs/Halloween 2013 Witch Hat (Origina
2098814 | admin | localhost | phpb | Query | 12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Blouse/thumbs/Halloween 2013 Blouse (Original).png
2098818 | admin | localhost | phpb | Query | 11 | Sending data | SELECT * FROM items WHERE parent = 210162 OR auto = 210162
Algumas consultas levam mais de 10 segundos para serem executadas, este não é o topo da lista, mas em algum lugar no meio, apenas para dar uma perspectiva de quantas consultas estão acumuladas nesta lista. Acho que pode ter algo a ver com minhas configurações do Query Cash. Aqui estão as configurações mostradas ao executar oSHOW STATUS LIKE 'Qc%';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Qcache_free_blocks | 434 |
| Qcache_free_memory | 2037880 |
| Qcache_hits | 62580686 |
| Qcache_inserts | 10865474 |
| Qcache_lowmem_prunes | 4157011 |
| Qcache_not_cached | 3140518 |
| Qcache_queries_in_cache | 1260 |
| Qcache_total_blocks | 4440 |
+-------------------------+----------+
Notei que Qcache_lowmem_prunes
parece um pouco alto, isso é normal?
Estive pesquisando no StackOverflow, mas não consegui encontrar nada que resolvesse meu problema. Qualquer ajuda com isso seria muito apreciada, obrigado!
Responder1
Você tem índices nas colunas thumb, parent ou auto? Como regra deahamthumb, você deve ter um índice em cada coluna ou grupo de colunas nas cláusulas where.