Status: Closed (View Workflow)
Create a large number of services ~400, and try to download all service configurations with APIcast. APIcast takes more than 12 minutes to retrieve all configurations which impacts either the boot time of the gateway or the latency of requests when in lazy mode.
APIcast can connect to 3scale to download all the service configurations in a reasonable amount of time.
Notes: APIcast makes an initial request to /admin/api/services.json to get all service IDs, it then parses those IDs to retrieve all the proxy configurations from the proxy config endpoint. It looks like the first response is quite reasonable, 11s, but APIcast takes a long time to process this so we might need to consider returning a much lighter response. The request to the proxy config endpoint for each service takes a very long time because every request is individual and sequential and is taking a few seconds to get the response to APIcast. Could be related to database indexing.
This is not reproducible on-prem.
- It might be an index issue so adding the appropriate indices would solve it
- We could cache the value on background.
The assignee must investigate on slow queries and missing indices