CephPerfTestRequest#
The CephPerfTestRequest object is designed to run periodic performance tests using FIO (Flexible I/O Tester) in a Kubernetes job or cronjob. Test results can be stored on a persistent volume (secured with a PVC).
Spec#
The spec section includes:
parameters:List of arguments for the FIO test.command:Entrypoint command to run the test (optional; defaults to the image’s entrypoint).image:The container image used for testing (default recommended isvineethac/fio_image).periodic:Configuration for running the test periodically:schedule: Cron-formatted schedule.suspended: Flag to suspend the job.runsToKeep: Number of previous runs to retain.
saveResultOnPvc:Configuration for saving test results:pvcName: Name of the PVC.pvcStorageClass: StorageClass to use.pvcSize: Size of the PVC.preserveOnDelete: Whether to retain the PVC on deletion.
Example:
spec:
periodic:
schedule: "0 */10 * * *"
runsToKeep: 10
parameters:
- --ioengine=rbd
- --pool=mirablock-k8s-block-hdd
- --rbdname=tests
- --name=hourly_perftest
- --rw=randrw:16k
- --rwmixread=40
- --bs=4k
- --size=500M
- --iodepth=32
- --numjobs=8
- --group_reporting
- --direct=1
- --fsync=32
- --buffered=0
- --exitall
saveResultOnPvc:
pvcName: "perf-test-pvs"
pvcSize: "1Gi"
Status#
The status section provides:
phase:Current phase of the test (e.g., Pending, Running, Finished).lastStartTime:Time when the test started.lastDurationTime:Duration of the test run.lastJobStatus:Status of the last test job.messages:Any warnings or issues.results:Details on where to find the results:perftestReferencereferenceNamespacestoredOnPvc
statusHistory:History of test runs including start time, job status, and duration.
Example:
status:
lastJobStatus: Running
lastStartTime: "2024-07-30T10:56:00Z"
phase: Running
results:
perftestReference: cronjob/testperf-cephperftest
referenceNamespace: rook-ceph
storedOnPvc:
pvcName: perf-test-pvs
pvcNamespace: rook-ceph
statusHistory:
- durationTime: 4m34s
jobStatus: Completed
startTime: "2024-07-30T00:51:25Z"