GrabRam Dilip PradhanBenchmark
How we reduced initialisation time of Product Configuration Management SDK
Summary
GrabX, Grab’s central product configuration management platform, provides an SDK whose eventually consistent updates take about a minute to reach clients, but initialisation took roughly four minutes for services loading around 400 MB. The SDK’s sequential workflow downloaded subscribed-service and common data from AWS S3 to disk and memory before initialising dependent modules, creating cold-start pressure and possible throttling when new instances were launched. Phase 1 made the two data loads concurrent, reducing initialisation time by approximately 80%, while Phase 2 concurrently downloaded and loaded large configurations within a subscribed service, adding a further approximate 6% reduction. Phase 3 removed disk persistence because its stale-data fallback conflicted with most clients’ need for current data, allowing failed connections to trigger client action such as retrying. Benchmarks across services with varied data sizes indicated reductions of up to 90%.
Context
Some GrabX SDK clients loading approximately 400 MB of configuration data required about four minutes to initialise. These cold starts could leave newly created instances under stress while handling incoming traffic, potentially contributing to service throttling.
Approach / What changed
The SDK initialisation workflow was improved in three phases: concurrently loading subscribed-service and common data, concurrently downloading and loading large configurations within subscribed services, and removing disk persistence for the fallback data path so failed AWS S3 connections can be handled through client actions such as retrying.
Takeaways
Concurrent loading of subscribed-service and common data reduced SDK initialisation time by approximately 80%.
Concurrent download and in-memory loading of large configurations within a subscribed service produced a further approximate 6% reduction.
Removing disk persistence eliminated a fallback path that could serve outdated configuration data and contributed to an overall measured reduction of up to 90%.
Source and freshness
- Source
- engineering.grab.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.