10 Replies Latest reply on Apr 13, 2017 2:05 PM by Sheila Kelleher

    Poor Performance using Tableau Server Published Data Sources using Data Blends

    bobby.weaver

      First, let me state that I am using Tableau Desktop 8.1.3 and Tableau Server 8.1.3.

       

      I have a workbook that uses two Tableau Server published data extracts from the same MSSQL 2005 database.

       

      When I open a local copy of the workbook in Tableau Desktop using published data extracts, it takes:

      - 5 minutes to load the dashboard in Tableau Desktop on my laptop

      - 2.5 minutes to load the dashboard in Tableau Desktop on the server (where Tableau Server is installed)

       

      When I open a local copy of the workbook in Tableau Server using Google Chrome using published data extracts, it takes:

      - 5.5 minutes to load the dashboard in Tableau Server using Google Chrome on my laptop

      - 3.25 minutes to load the dashboard in Tableau Server using Google Chrome on the server (where Tableau Server is installed)

       

      When I open a local copy of the workbook in Tableau Desktop using local copies of both extracts, it takes:

      - 15 seconds or less to load the dashboard in Tableau Desktop on my laptop

      - 15 seconds or less to load the dashboard in Tableau Desktop on the server (where Tableau Server is installed)

       

      When I open a published copy of the workbook that was published with both data extracts (which were not published separately) in Tableau Desktop on my laptop, it takes:

      - 15 seconds or less to load the dashboard in Tableau Desktop on my laptop


      When I open a published copy of the workbook that was published where the extracts were replaced with a "live" database connections, it takes:

      - 10+ minutes to load the dashboard in Tableau Desktop on my laptop


      The issue appears to be triggered by data blending.

       

      Based on the status boxes that appear during the loading process, the time difference is caused by a group of 8 views that blend data from two different data sources. According to the Performance Recording I made while loading the dashboard on my laptop, any view with blended data takes 20 to 30 seconds to complete the "compute visualization" task when using published data sources while the same task takes less than a 1 second when using local extracts.

       

      Has anyone witnessed this type of performance disparity before? Is this a Tableau Server configuration issue? A possible bug?

       

      Thanks,

       

      Bobby

        • 1. Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
          Dustin Smith

          Hi Bobby,

           

          First, thank you for providing so much detailed information around not only the issue you're facing, but the steps you've already taken to trouble shoot.

           

          Sounds like you've narrowed this down pretty well.  I suspect that your idea around data blending being the culprit is spot on, but just to rule out anything - can you tell me the following:

           

          • On the dashboard(s) being tested
            • How many sheets are in the the dashboard?
            • Are any of the sheets in the dashboard drawing more than 5k marks (i.e. is there a scatter plot or a map that has tons of points plotted)?

           

          You're first trouble shooting steps (opening local workbooks with the datasources published to Tab Server) make me really think this isn't the issue, but just double checking.

           

          Thanks,

          Dustin

          1 of 1 people found this helpful
          • 2. Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
            bobby.weaver

            Hi Dustin,

             

            First, let me just say that I have a background in customer support so I know how important it is to be as thorough and detailed as possible.

             

            As for your first question, the workbook has 3 dashboards and 18 worksheets. This question actually inspired me to conduct another set of performance tests.

             

            In the first test, I removed the other two dashboards but left all 18 worksheets in place.

             

            When I open a local copy of the workbook in Tableau Desktop using published data extracts, it takes:

            - 2.67 minutes to load the dashboard in Tableau Desktop on my laptop

             

            So, the removal of the other two dashboards yielded just over a 50% improvement over the original 5.5 minute load time.

             

            In the second test, I removed the other two dashboards and the 9 worksheets associated with those dashboards.

             

            When I open a local copy of the workbook in Tableau Desktop using published data extracts, it takes:

            - 2.33 minutes to load the dashboard in Tableau Desktop on my laptop

             

            So, the removal of the other two dashboards and 9 worksheets yielded a 58% improvement over the original 5.5 minute load time.

             

            One possible reason for the dramatic improvement in performance is the fact that all three dashboards and 18 worksheets use the same date-based quick filter. I wanted the end user to be able to change the date on one dashboard which would automatically update the other two dashboards.

             

            As for your second question, none of the dashboards or worksheets uses a scatter plot or a map.

             

            As I was typing this response, I realized that I left out one detail that may be relevant to this investigation. The primary data source is more granular that the secondary data source. Specifically, the primary data source contains a record for every trip transported by an agency vehicle while the secondary data source contains daily summaries for each vehicle. For example, if a vehicle transported 10 trips, the primary data source provides a wide assortment of details, such as the pickup & drop-off time and odometer readings, for each trip while the secondary data source only contains summarized totals, such as the number of trips, total vehicle time & mileage on the road, for each vehicle. This difference in granularity is why I cannot join the data sources.


            Thanks,


            Bobby

            • 3. Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
              Dustin Smith

              Hi Bobby,

               

              Apologies for the delay in responding.

               

              I doubt the date filter is the culprit of the lag you're seeing.  I'm willing to bet it is indeed the data blend between your primary and secondary data sources.  The compensation Tableau is doing for the difference in granularity is all happening locally in-memory on your machine inside of Desktop.  My guess is that the calculations using these blends might also be some intense Tableau Calculations which aren't memory cheap either.

               

              I'd suggest working more closely with our tech support team where you can share more specific details (logs, workbooks, etc.) as opposed to posting those on an open forum.    They'll be able to dissect your performance recorder data better than I can and either pick-up on something I've missed or confirm our suspicions (in which case at least you know you've hit a hard edge and can start exploring new approaches).

               

              Thanks,
              Dustin

              • 4. Re: Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                bobby.weaver

                Hi Dustin,

                 

                As a matter of fact, I have already opened a case with your technical support team.

                 

                After reviewing all of the evidence, they believe the Data Server component of Tableau Server and its lack of support for temporary tables is responsible for the performance degradation I am experiencing with views that blend data from published data sources.

                 

                They have suggested that I replace the workbook's published data sources with non-published data extracts and then include the non-published extracts when I publish the workbook.

                 

                While that workaround does eliminate the performance disparity between opening the workbook using my laptop and Tableau Server, it creates a couple of new issues for me.

                 

                I have been publishing my data extracts to Tableau Server for a couple key reasons.

                 

                First, I wanted to automate the data extract refresh process.

                 

                If I publish the data extracts with the workbook, how do I automate the process of refreshing the data extracts?

                 

                Secondly, I wanted all of my workbooks to use the same core set of 8 data extracts in order to simplify the management of my extracts and ensure data consistency.

                 

                If I publish the data extracts with the workbook, how do I avoid having multiple copies of the same data extract?

                 

                If you have any suggestions, I would welcome the assistance.

                 

                Thanks,

                 

                Bobby

                • 5. Re: Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                  Dustin Smith

                  Hi Bobby,

                   

                  Good to know that support has looked into this.  They'll definitely have more specific details than me and their knowledge is more current.

                   

                  If you connect directly to your data sources in Tableau Desktop, take extracts, and then publish the workbooks to Tableau Server you'll have the option to set an extract refresh schedule.  It means an extra couple clicks for each workbook the first time, but ultimately automates the solution the same way as data server.

                   

                  The big drawback is no centralized control of any meta-data (calculations, re-aliasing of fields, etc.).  If you end up changing a calculation that applied to a data source and you want that reflected in every workbook using that data source, you'll need to manually edit each workbook.

                   

                  It will also mean that you'll have multiple copies of the same data extract published to Tableau Server, however this is less problematic that the "millions of spreadsheets on SharePoint" issue that some people equate it to.  The data extracts published with a packaged workbook to Tableau Server are literally zipped inside it and are not an accessible data source in the same way data extracts published to data server are.  The only way to access the data extract inside of a published workbook (as a non-admin) would be to download the workbook itself and open it in Tableau Desktop and then refresh the extract, swap it out, edit the connection, or unzip the file and effectively physically separate the data extract from the analysis portion of the workbook.

                   

                  In other words, unless you are publishing your workbooks to Tableau Server with the goal of letting people download and play with them in Tableau Desktop, end users will have no idea that the data sources aren't centralized through data server.  Also, the concern that multiple copies of the same extract will blow up a hard drive's space are usually pretty slim unless we're talking high cardinality data since the extracting process does amazing things in terms of compression.

                   

                  Hope this is helpful.

                   

                  Best,

                  Dustin

                  2 of 2 people found this helpful
                  • 6. Re: Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                    bobby.weaver

                    Hi Dustin,

                     

                    Thank you for the suggested workaround. I wasn't aware of the ability to refresh extracts embedded in published workbooks.

                     

                    While my preference for a centralized set of published data sources hasn't changed (just too many advantages), the workaround is more than acceptable.

                     

                    Thank you again for all of your help and advice.

                     

                    Thanks,

                     

                    Bobby

                    • 7. Re: Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                      Dustin Smith

                      Happy to help and thanks again for all the input from your end. These kind of exchanges in the forums are great for users tackling similar issues down the road.

                      • 8. Re: Re: Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                        Ramkumar Ramagopalan

                        Thanks a ton Dustin. This solution has worked for me as well. Struggling with the tableau server extracts in terms of performance. This is much better.

                        • 9. Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                          Anthony Cho

                          A million thanks to Dustin. Your response resolved Tableau server performance issue with published data.

                          I'm going to forward this to IT and close the ticket.

                           

                          Much appreciated.

                          • 10. Re: Poor Performance using Tableau Server Published Data Sources using Data Blends
                            Sheila Kelleher

                            Really helpful information, although I prefer centralized published data sources on Server, this may get us around a problem with an embedded dashboard that is not performing well.  Thank you !