ExtremsX 58 Denunciar post Postado Outubro 24, 2014 Configurações do Servidor: Processador: Intel Xeon E3-1270v2, 3.5 GHz Memoria: 32 GB HD: 1 TB - Enterprise HDD MySQL: 5.6 CE Tenho uma aplicação crawler feita por mim em NodeJS que roda em 16 processos acessando uma tabela chamada PAGE, ele é simples, pega um URL, visita essa URL e salva todas as URLs encontradas dentro do banco de dados, depois pega uma nova URL e assim sucessivamente. Todas as vezes que rodo a aplicação o uso do CPU sobe as alturas (fica em media em 99%). O que posso fazer pra melhorar no desempenho? Sendo que os SELECTs variam bastante, quando a aplicação está desligada, um SELECT na tabela PAGE demora uns 20 centésimos, quando a plicação está rodando o mesmo SELECT demora entre 20 centésimos até mesmo 6 segundos, isso é variavel. Compartilhar este post Link para o post Compartilhar em outros sites
Eddy Goulart 2 Denunciar post Postado Outubro 24, 2014 Já tento incluir INDICES nos campos referente a busca? Acho que pode ser isso.. Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Outubro 24, 2014 Sim, mas acredito que seja um mal uso do indice que esteja deixando lento, depois de futucar muito notei a lentidão nesses select: SELECT id FROM page WHERE CURDATE()>data_last_access ORDER BY data_last_access ASC LIMIT 1 Esse select ai tem uma resposta de aproximadamente 0,2 segundo, otimo pra mim. Mas quando eu ponho esse SELECT: SELECT p.id FROM domain d JOIN page p ON p.domain_id=d.id WHERE d.enabled=1 AND CURDATE()>p.data_last_access ORDER BY p.data_last_access ASC LIMIT 1 OU esse: SELECT id FROM page WHERE domain_id IN (SELECT id FROM domain WHERE enabled=1) AND CURDATE()>data_last_access ORDER BY data_last_access ASC LIMIT 1 Ele fica lento, aproximadamente 8s por consulta. Eu coloquei um indice pra essas consultaa assim: CREATE INDEX idx_page_accessed ON page (domain_id ASC, data_last_access ASC) e assim: CREATE INDEX idx_page_accessed ON page (data_last_access ASC) Só que nos dois casos, quando eu ordeno por ASC fica demorando 8s, e quando eu coloco DESC a resposta é de 0,2s. Compartilhar este post Link para o post Compartilhar em outros sites