Você está usando tabelas innodb ou myisam? Se você estiver usando o InnoDB, você deve definir o tamanho do buffer pool do InnoDB. Isso ajudará o armazenamento em cache de consultas comuns na RAM. Como a Exceção sugeriu, considerando que você tem 16GB de RAM, você deve tentar configurar o MySQL para usar 10-14GB da RAM para armazenar em cache conjuntos de resultados e pedidos comuns.
Blog de desempenho do MySQL - Para mais informações: link