Performance testing of OpenEBS
Steps for performance testing
Setup cStorPool and StorageClass
Choose the appropriate disks (SSDs or SAS or Cloud disks) and create pool and create StorageClass. There are some performance tunings available and this configuration can be added in the corresponding StorageClass before provisioning the volume. The tunings are available in the StorageClass section.
For performance testing, performance numbers vary based on the following factors.
- The number of OpenEBS replicas (1 vs 3) (latency between cStor target and cStor replica)
- Whether all the replicas are in one zone or across multiple zones
- The network latency between the application pod and iSCSI target (cStor target)
Run fio test through OpenEBS Litmus
Clone litmus repository
git clone https://github.com/openebs/litmus.git
cd litmus/apps/fio/tests/performance
Edit run_litmus_test.yaml and modify the following
- name: PROVIDER_STORAGE_CLASS
value: openebs-standard
#value: local-storage
- name: APP_NODE_SELECTOR
value: percona
- name: FIO_TEST_PROFILE
value: standard-ssd
- name: FIO_SAMPLE_SIZE
value: "128m"
- name: FIO_TESTRUN_PERIOD
value: "60"
Run the fio performance test.
kubectl create -f run_litmus_test.yaml
Observe the results at the end of the test.
Support for Performance tuning
Support for performance tuning for specific workloads can be obtained through the premium plan on Kubera. Connect your cluster to Kubera, start the cluster on evaluation plan and seek support for performance tuning.