Closed obfuscurity closed 11 years ago
Initial tests against a moderately populated Graphite (~35k unique metrics, 200KB /metrics/index.json
output) show that it takes ~1.5 seconds to render and download. It takes almost the same amount of time to pull this from hosted RedisToGo or Heroku Postgres services. For now we'll just move forward without the cache, download in the background on page-load, and revisit this when/if it becomes necessary.
It became obvious that larger Graphite installations won't scale for this approach. A server with 60K+ unique metrics results in an index.json
of almost 5MB taking 15 seconds to download. Much of this is time spent compressing (in our case, with gunicorn) but the benchmark is almost the same unzipped. Web caching alleviates some of this, but it's still not a good approach.
:cake:
Cache the output of
/metrics/index.json
somewhere we can use it for "realtime" queries. Redis would probably be a good place for this.