Mysql sempre gosta de RAM. Convertendo (pelo menos a maioria) das tabelas (no joomla e moodle, não as outras) para o formato InnoDb e aumentando a memória que usa ajudará muito com a velocidade também. innodb_buffer_pool_size é a configuração do mysql. O tamanho padrão que usa é de apenas 8MB - se o seu banco de dados é realmente tão pequeno (e eu francamente ficaria um pouco surpreso com isso se estivesse realmente sendo usado), então dar a ele mesmo 16MB faria a diferença, e mais provavelmente eu daria 512MB para o innodb_buffer_pool_size de qualquer forma. Com todo o conteúdo do banco de dados na memória, ele tira o disco quase fora da equação.
A instalação do Xdebug permitirá que você descubra quais partes do site são lentas, função por função, linha por linha. O Webgrind analisará a saída do Xdebug para mostrar a você.
Para descobrir mais do que isso, você precisará coletar algumas estatísticas sobre o que o servidor está fazendo - algo como executar collcted e visualizar os gráficos que estão sendo produzidos. Mesmo olhando apenas para a saída de 'top', rodar na linha de comando pode ajudar muito a ver o que está acontecendo.