Comment 15 for bug 1255242

Revision history for this message
John A Meinel (jameinel) wrote :

options:
    dataset-size:
        default: '80%'
        description: How much data do you want to keep in memory in the DB. This will be used to tune settings in the database server appropriately. Any more specific settings will override these defaults though. This currently sets innodb_buffer_pool_size or key_cache_size depending on the setting in preferred-storage-engine. If query-cache-type is set to 'ON' or 'DEMAND' 20% of this is given to query-cache-size. Suffix this value with 'K','M','G', or 'T' to get the relevant kilo/mega/etc. bytes. If suffixed with %, one will get that percentage of RAM devoted to dataset and (if enabled) query cache.

So the MySQL charm defaults to dedicating 80% of the target machine's RAM to mysql caches. I have the feeling what is happening is that 20% of RAM is enough for some machines, but not all machines.

An "easy" fix would be to do:
cat >mysql.conf <<EOF
mysql:
  dataset-size: 20M
EOF

juju deploy mysql --config mysql.conf ...

I tested it on the local provider, and it worked well.

That would give you a fixed MySQL overhead for testing.