Arcviz result cache - how to configure and debug

Arcadia’s visualization server contains a result cache, which means repeated queries that are identical have the potential of being served from the result cache instead of running a process on the back-end, relieving processing load on the cluster.

Result cache is stored within the arcadia visualization server. It can be configured at the connection or at level of individual datasets. This gives you full flexibility to control how each dataset and the associated visual/dashboards are cached. A few notes:

  • Retention time - this is the amount of time before the cache is rechecked and potentially purged. A 30 sec timeout means that the cache will be used to serve up queries for at most 30 sec before a check is performed against the underlying base data.
  • Cache sharing - the result cache is leverage across user sessions. Within the retention time, if another user opens the same dashboard the same result cache will be used.
  • CTRL+SHIFT+G - this shortcut can be used to bring up the performance profile and can debug when cache results are being used.

Dataset level cache setting (for connection level settings refer to Connection settings explainer)

Using CTRL+SHIFT+G, a profiler dialog will appear. Hover over the blue lines will general provide info around whether the cache was used or not. In this screenshot, we can see theq uery was submitted to the back-end:

Here we can see a profile that uses the serves up the results through the cache

1 Like

Hi Shaun, What if I have connection level cache of 300 seconds but at data set level, I want to set much higher than like 1200 seconds ? I want to be cautious on how big this value can be and impact on performance/stability. I am looking to bump this up mainly for demo purpose to get best performance…

@vivek.chemicala increasing the cache timeout won’t negatively impact performance. The only potential downside is that the results may be fetched from cached even after new data has loaded for a period of time. This all depends on user activity around the time the data loads.