Activa los búferes.
En primer lugar,
setea key_buffer al menos a un 25% de la memoria disponible. Cambia
query_cache_size de 20MB a otro valor según la cantidad de consultas reiterativas que tenga el código, podrías duplicarlo, o triplicarlo, dado que depende de la RAM, que no sea superior a los
250MB; en cambio el
query_cache_limit especifica el máximo de cada resultado de cada consulta en la caché, sería bueno que supieras el tamaño del resultado de las consultas reiterativas, puedes setearlo a 15MB. Setea el
max_connections a un número coherente.
table_cache debe ser al menos cinco veces el valor de
max_connections, ya que cada
connection establecida tendrá su propia tabla en caché.
Es muy difícil saber realmente cómo setear los valores, porque eso depende completamente del script que ejecutes; sería bueno, si te preocupa tanto, analizar el tipo de consultas que hace, el tamaño de las tablas, la repetición de las mismas, el tamaño de los resultados, el tiempo medio de cada resultado, etc.
Código mysql.cnf:
Ver originalkey_buffer = 2G
query_cache_type = 1
query_cache_size = 80M
query_cache_limit = 15M
max_connections = 400
log_error = /var/log/mysql/error.log
Si no tuvieras un path para el log de errores de mysql, indícalo.