Charmed MySQL K8s Reference - Profiles

Profiles

Charmed MySQL K8s resource utilization depends on the chosen profile:

juju deploy mysql-k8s --trust --config profile=testing

Profile values

Value Description Tech details
production
(default)
Maximum performance ~75% of ‘Allocatable memory’ granted for MySQL
max_connections=RAM/12MiB (max safe value)
testing Minimal resource usage innodb_buffer_pool_size = 20MB
innodb_buffer_pool_chunk_size=1MB
group_replication_message_cache_size=128MB
max_connections=100
performance-schema-instrument=‘memory/%=OFF’

Config change

:warning: Note: Pre-deployed application profile change is planned but currently is NOT supported.

To change the profile, use juju config (see all charm configs):

juju deploy mysql-k8s --trust --config profile=testing && \
juju config mysql-k8s profile=production

Juju Constraints

Juju constraints allows RAM/CPU limits for Kubernetes pods:

juju deploy mysql-k8s --trust --constraints cores=8 mem=16G

Juju constraints can be used together with charm profile:

juju deploy mysql-k8s --trust --constraints cores=8 mem=16G --config profile=testing