-
Notifications
You must be signed in to change notification settings - Fork 10.2k
Description
What would you like to be added?
The current performance validation process for etcd relies heavily on the Kubernetes scalability tests. While this approach has been valuable we need to create an official performance validation for etcd that is maintained within the project and therefore more accessible and integrated into regular project activity.
In my mind this will include developing a comprehensive suite of performance tests that cover various real-world usage scenarios. Integrating these tests into some form of on demand or scheduled etcd ci pipeline and making this accessible to work undertaken, for example ensure a pull request proposing upgrading a golang version can be validated for any performance regressions.
With this issue I would like to capture recent discussion in #16463 (comment) and the intent that we progress creating an independent and dedicated performance validation mechanism for etcd and ensure we do not lose sight of this work. We can use this issue to track any ideas and further conversation before starting any work.
References:
- https://github.com/kubernetes/community/tree/master/sig-scalability
- https://etcd.io/docs/v3.6/benchmarks/etcd-3-demo-benchmarks/
- https://etcd.io/docs/v3.4/op-guide/performance/
- Reimplement the tool
rw-heatmapsusing golang and rename it torw-benchmark#15060 - Migrate to golang 1.20 #16394
Why is this needed?
- Reduce reliance on external testing suites that are less accessible.
- Establish an official project perspective on performance.
- Create the mechanism to track and drive future performance improvements.
- Reduce cognitive burden for future etcd contributors and maintainers