Improve HTTPRoute processing at scale #1122
Labels
area/performance
Performance related
backlog
Currently unprioritized work. May change with user feedback or as the product progresses.
It takes ~7 hours to run the HTTPRoute scale test, which creates 1000 HTTPRoutes sequentially.
This test waits for the previously created HTTPRoute to be configured (available in NGINX) plus 2 seconds before creating the next HTTPRoute. Testing revealed that the longer we wait before creating the next HTTPRoute, the faster NGF processes the HTTPRoute. See this graph for more details.
Some contributing factors to the long processing times are:
This means if you have 99 HTTPRoutes configured and you create 1 more, NGF will update the configuration with this new route and then sequentially update the status of all 100 HTTPRoutes in the graph. Then, NGF will re-queue all 100 HTTPRoutes and process them again -- resulting in no configuration changes.
This situation can intensify if more HTTPRoutes are created while NGF is processing the last event batch or writing statuses. A new HTTPRoute can end up at the end of a large event batch that's full of no-op status changes.
Acceptance Criteria:
The text was updated successfully, but these errors were encountered: