The intent of this Operator is to deploy common workloads to establish a performance baseline of Kubernetes cluster on your provider.
Workload | Use | Status in Operator | Reconciliation usage |
---|---|---|---|
UPerf | Network Performance | Working | Used, default : 30second |
Iperf3 | Network Performance | Working | Used, default : 30second |
fio | Storage IO | Working | Used, default : 30second |
Sysbench | System Performance | Working | Used, default : 30second |
YCSB | Database Performance | Working | Not used |
Byowl | User defined workload | Working | Used, default : 30second |
Pgbench | Postgres Performance | Working | Not used |
Smallfile | Storage IO Performance | Working | Used, default : 30second |
fs-drift | Storage IO Longevity | Working | Not used |
Previously the Benchmark Operator didn't properly take advantage of the reconciliation period. Going forward we will make every attempt to utilize the reconciliation period.
Why did we decide to switch to this? Our operator would implement long running tasks, due to the nature of benchmarks.
However, long running tasks blocks the Operator, causing us to delete the Operator and re-create the operator to
un-block it. The benchmarks mentioned above that state Used
for Reconciliation, no longer have this issue.
These two bencharmks are written in a way that doesn't allow for reconciliation to be implemented. To take advantage of the reconciliation loop, these two benchmarks need to be rewritten.
Key Members(slack_usernames): aakarsh, dblack or rook