How does Tableau Online do caching? The reason I ask is that I have a workbook published to Tableau Online that seems to cache well within a single session…meaning that when I login and click on a workbook, it takes 40 seconds to load the first view, (I have a lot of quick filters that slow down the 1st view) but if I click on a second dashboard within the same workbook, with the exact same quick filters, it only takes about 10 seconds. This performance is not ideal, but is acceptable for now.

If caching works within a single session, it seems that it should also work within multiple sessions…meaning that the 2nd or 3rd person logging into the dashboard on the same day will have improved performance from the 1st person. This doesn’t seem to be happening currently.

With Tableau Server you could adjust the number of VizQL processes per machine so that caching could be controlled. Is there any way to control this within Tableau Online?

I'm not an expert on Online's architecture, but I thinkyou've actually pretty much answered the question yourself in the final sentence of your question. As you know, much of our caching activity happens at the level of the individual VizQL Server process - which is why you might lower the number of processes available in order to avoid artificially driving down your cache hit ratio. Since we don't share cache across vizqls, you don't want more than you need running based on user load.

Online is a different story - it needs to scale all the time so has many more vizqls running. Therefore the chance that "user2" happens to hit the same vizql as "user1" did (and using cache) is less. I'm pretty sure that "your" site doesn't have vizqls associated that ONLY do work for your site....

Thanks Russell. I also got some advice from Michael Kovner, who let me know that if two people are logged in at the same time, they will share a session, and therefore a cache. Now I just have to find a way to prime the cache, or trick Tableau Online into thinking that a User is logged into the 1st view. Any idea on how to do this? (a trained monkey is my current option)

Absolutely true in the “Corporate” version of Tableau Server – neither of us know for sure if this is true for Online/Public, as well – so keep that in mind. He was talking about shared sessions, where we share a single session across multiple users as long as no one changes / touches the viz. The second someone filters or modifies something…new sessions.