Hi @Sam. sorry to hear about the issues you’re having.
I’m not sure which parts of the app you’re referencing when you say ‘slow’. Loading up the cohort definition list, for example, doesn’t touch any CDMs (same with loading the lists for concept sets, characterization, pathways, etc). It’s only when you open a specific elements that it will reach out to the CDM’s result schema to load results. Is it loading results that’s slow and not the other aspects of the app?
As to your question about the cache:
I had to look this up: that param is only used here. Meaning, it seems to be a WebAPI setting that will determine if the cron interval will warm caches.
But, the warm cache that happens during startup is controlled by the Source definition. Ie: how it’s set in the WebAPI database for the given source.
That field is referenced in the warmCaches() call. warmCache() is invoked when WebAPI first starts up on each source that has a vocabulary and results schema, AND the source has cache enabled.
Disclaimer: there’s a bit of a misnomer on what ‘disableCache’ means. The record counts that are being warmed just means that the entire set of record counts (millions of records) are being loaded into the WebAPI at startup (ie: when isCacheEnamed == true) vs. when concepts are being requested ‘on-the-fly’ which will selectively load the record counts from the CDM results schema.
But I think the cache warming function has no real impact on loading cohort definitions, or the other items you are talking about, so it’d be curious to understand what exactly is going on there. I am aware of BigQuery sometimes shutting down after inactivity, so one thing that could slow the startup of WebAPI is that it does an initial health check on each of your CDMs to see if they are available and what version of vocabulary are on them. I am not sure if this startup activity is what is leading to your performance problem, but we have BigQuery in our own environment, and when the app starts up, the entire app will take a long time to load because the first thing Atlas does is gets the list of datasources, and if one of them is taking a long time to respond, then the app waits for it until it does.