Epic: Contour Benchmarking and Performance Improvements #4154
Labels
Epic
performance
priority/important-soon
Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Starting an epic on this topic to ensure work is tracked and we get organized
While we have worked to ensure Contour code performs well via optimizations in feature implementation, code reviews, and fixing performance regressions reported by production users, we do not yet have a dedicated set of tests or benchmarks that demonstrate how we expect Contour to perform in production (under some specific conditions we test against).
When we say "performance" here we're mostly talking about measuring how long Contour takes to reconcile kubernetes resources into Envoy configuration, as Contour the software component is primarily the xDS server and control plane for Envoy. A secondary performance concern may be benchmarking requests throughput in Envoy. Contour does not directly participate in the data plane however it does configure Envoy and we do provide deployment guidelines for Envoy.
Ultimately we don't want to provide "absolute" performance numbers as users may have wildly varying environments, but we could establish benchmarks of the form: Given a cluster with specific characteristics and workloads running in this cluster (that resembles a plausible production cluster), users should expect Contour to make apps exposed by Ingress/HTTPProxy/HTTPRoute resources in X time, Y percentage of the time
We also would like to make performance improvements and be able to assess how changes to Contour internals will affect Contour performance. Building an automated test suite will help us perform these sorts of experiments more easily. This work dovetails with improvements we would like to Contour xDS code for example.
List of items/issues that this work will encompass:
The text was updated successfully, but these errors were encountered: