Você tem um servidor com 256M, mas não pode usar tudo isso - lembre-se de que há alguma sobrecarga no SO. Acrescente a isso com o fato de que você está cometendo demais, como outras pessoas mencionaram, e você definitivamente vai se debater aqui. 256M é suficiente apenas para um pequeno DB, 20 conexões é muito com o que você configurou.
1) reduza suas conexões máximas para 4 (você está usando 3 de 20)
2) otimize seu cache de consulta melhor; O 8M é realmente grande, e o total de 64M é muito baseado em seus hits / ameixas; tente um combo de 4/32 e veja como é. Realmente acho que um combo de 2/24 funcionaria para você.
3) você não tem nenhum tipo de tabela temporária, por que o verbo max_heap_table_size está lá? Comente isso, use os padrões
4) você tem 128 mesas? Tente cortar essa table_cache na metade para 64 ou 48
5) reduza thread_cache_size para 4
6) otimize essas tabelas para reduzir a fragmentação
Essas são algumas coisas para começar. Parece que você jogou um monte de números em uma configuração sem nenhum perfil para saber o que precisava e criou uma bagunça; se tudo isso falhar, volte para os padrões e livre-se de suas configurações personalizadas e comece novamente usando alguns guias de ajuste de desempenho que você pode encontrar no Google. Obtenha a saída de SHOW VARIABLES e SHOW STATUS, encontre qualquer um dos guias de ajuste bajillion e insira seus números reais e reais em suas equações e isso lhe dirá os números exatos que você precisa colocar em seu arquivo de configuração. / p>