Hey Charles -
It's not quite that simple, unfortunately. There are generally two-to-many duplicate process (VizQLServer) that are responsible for rendering a report on Tableau Server. Multiple VizQLServer processes allow Tableau Server to scale.
When you "touch" an URL, one of those VizQLServers is called to render the report, and therefore that specific process's cache is warmed - but not the other 1-many copies. So, to really warm the cache, you'd have to make sure the same request got to every single process on the server, which is exceedingly difficult to do as requests to render a report are routed to a VizQLServer process by an internal process you have no control over.
I guess if you logged in, made a request, logged out, and repeated many, many times, you could be semi-sure every cache for your VizQLServers had been warmed - but it would be guesswork, really....
So our server has 2 VizQL instances up,
What if I were to "ping" the webpage repeatably, would that load all the VizQL instances with the data over time?
This is the same kind of environment we have.
I am thinking, we could try tabcmd commands to keep warming the views repeatedly. Does the percentage of cache hits increase by half assuming we have just two VizQL servers.
Please let me your thoughts.
Requesting a report via tabcmd actually uses a different process (the application server - wgserver.exe) to render the reports - so using it won't warm the vizql caches - you'll need to request reports externally.
Tableau Server 8 also added a new feature called "shared sessions" which allows us to use a shared session on a single vizql process across multiple requests for the same, unmodified report. So even if you request the same report over and over using different browsers, etc, the SAME vizql process is responding to them. You'd actually have to request different reports and/or modify filter values or something to get "out" of the shared session.