Performance and resource allocation¶
This page covers topics related to measuring and configuring the performance of PostgreSQL
Performance testing¶
For performance testing and benchmarking charms, we recommend using the Charmed Sysbench operator. This is a tool for benchmarking database applications that includes monitoring and CPU/RAM/IO performance measurement.
Resource allocation¶
Charmed PostgreSQL K8s resource allocation can be controlled via the charm’s profile
config option. There are two profiles: production
and testing
.
Value |
Description |
Tech details |
---|---|---|
|
25% of the available memory for |
|
|
PostgreSQL 14 defaults. |
Caution
Pre-deployed application profile change is planned but currently is NOT supported.
You can set the profile during deployment using the --config
flag. For example:
juju deploy postgresql-k8s --channel 14/stable --trust --config profile=testing
You can change the profile using the juju config
action. For example:
juju config postgresql-k8s profile=production
For a list of all of this charm’s config options, see the Configuration tab.
Juju constraints¶
The Juju --constraints
flag sets RAM and CPU limits for Kubernetes pods:
juju deploy postgresql-k8s --channel 14/stable --trust --constraints cores=8 mem=16G
Juju constraints can be set together with the charm’s profile:
juju deploy postgresql-k8s --channel 14/stable --trust --constraints cores=8 mem=16G --config profile=testing