2 Replies Latest reply on Jun 10, 2016 6:33 AM by Joseph Lepley

    Any way to cache visualizations on a server for quick loading?

    Joseph Lepley

      I'm currently working on a web-based front-end for viewing Tableau workbooks. At its core, it's a menu of reports for a user to select and then the corresponding Tableau visualization will be loaded and displayed on the page.  My organization is not satisfied with the time it takes to load each visualization, which can take several seconds or more. We've tried multiple solutions, including javascript-based preloading and using data extracts, but we still aren't able to improve the performance enough.

       

      Is there any way we can capture the visualization that would normally be loaded into the web page and cache it on a server for quick loading? The data used in the reports is only updated once per day, so ideally the capture would be performed once per day at that time. Then, since the data won't change, we can take the pre-loaded visualizations from the server without having to wait for Tableau to perform the calculations to generate them.

       

      Is there any way this can be done? I should also mention that my team does not have the option of making any changes to the caching settings on the Tableau server itself, since that would affect the entire organization.

       

      Thank you.

        • 1. Re: Any way to cache visualizations on a server for quick loading?
          Nathan Panuco

          Hi Joseph!

           

          There are several ways you can optimize Tableau Server performance and adjusting cache settings are a portion of the recommended options. I don't believe there is a way to "warm" the cache (as it sounds like you are wanting to do), but there may be some adjustments that can be made to the VizQL process, caching settings or workbook optimization to improve load times. This article does a great job of explaining the Tableau Server processes and actions you can take to increase performance: Optimizing Tableau Server Performance | Tableau Software

           

          Additionally, there is a great discussion going on about cache warming here: Re: Is there any way to warm the VizQL cache to reduce loading time of my reports on Tableau Server ?

           

          Out of curiosity, what is the current estimated load time and what is the goal? How close did the things tried so far get you to your goal?

           

          Thanks and hope this helps!

          1 of 1 people found this helpful
          • 2. Re: Any way to cache visualizations on a server for quick loading?
            Joseph Lepley

            Nathan, thank you for your response.

             

            Currently, our workbooks are typically taking 3-5 seconds to load, and we're being asked to reduce that time as much as possible. Right now, I think the goal we're shooting for is 1-2 seconds for the smaller workbooks and 2-3 seconds for the larger ones. I've implemented a pre-loading system, but since there are a lot of reports to choose from and it's only possible to load one report at a time, it doesn't help that much by itself. We've also tried testing data extracts, but that didn't seem to make much of a difference either.

             

            What the organization wants us to do right now is to establish a sort of intermediary server that sits between the client and the Tableau server that is serving the visualizations. This server would capture the data that would normally be sent to the client and then serve that data to the client itself to reduce the loading time. But I'm not sure if this is even possible, owing to the dynamic nature of Tableau visualizations, so I want to know if there's any way at all this can be done.

             

            The Tableau server we're using is also used by the entire organization, so our one team can't change any of the settings out of concerns that it might impact all of the other teams in the organization. Though if there's any way to change cache settings for individual dashboards without affecting anything else, that might make a viable alternative.

             

            Also, I've gone over the resources you linked, and they look like they might be quite helpful. So thank you for those as well.