3 Replies Latest reply on Nov 27, 2013 4:21 PM by Russell Christopher

    Interpretting Performance Recording Output

    Jonathon Stewart



      We recently migrated our Tableau Server from an internal server to a cloud hosted server.  In order to measure any performance gain/loss I first enabled performance recording by default on our internal Tableau Server for a few highly used reports so that every time a user viewed these reports it would record the data. I did this about a week ago to collect a decent amount of data before we cut over to our cloud server.


      Last night we cut over to our cloud Tableau Server and I have also enabled performance recording for these same reports.


      Eventually, I would like to look at the performance recording and compare performance pre-cloud to post-cloud, however, I'm having trouble interpreting the results of the performance recording workbook.


      First, the report uses seconds to report data over time.  How are these seconds determined?  Is '0' when the performance recording was started and everything is relative to this time?


      Second, I was under the impression that the performance recording would include data from all users and views as long as the parameter is included in the URL.  At first glance, this doesn't seem to be the case. When I remove the Event Time filter completely, I only see about 30 events, which is much less than I would expect.


      Third, most of the event times seem very low - 1 second at most, usually about 0.10 seconds.  However, when I load these reports in my browser it usually takes about 5 total seconds to load. 


      I've attached the performance recording workbook.  Any help would be greatly appreciated.




        • 1. Re: Interpretting Performance Recording Output
          Russell Christopher

          Hey Jonathon --


          #1: On Tableau Server Perf Recordings, things are measured based on the number of seconds it's been since the VizQLServer process has been running. So, for a newly restarted Tableau Server, your time scale might start at "10" - essentially 10 seconds since the service started. If your Server has been running for days, your starting value will be a big value since the vizQLServer in question has been running for "many seconds".  I don't think you'll ever see "0" as your start time in a Server Performance report because you're just not ever going to be fast enough to hit a VizQLServer process with a request at the moment it comes to life.


          #2. No. The report shows what happened to render this specific report by the specific user who ran it. That's why you append the :record_performance=yes parameter to the end of a specific report vs. just going into an admin area somewhere and click a "start performance recording now" button, then turning it off again after a while. The feature is there to help you troubleshoot why a specific report isn't fast - not as a way to audit performance across multiple reports at a stretch. That would be way too much data to sift through.


          I don't understand #3 - can you add more context to your question?

          • 2. Re: Interpretting Performance Recording Output
            Jonathon Stewart



            As always thanks for your response!  Disappointing but helpful.  I was hoping the performance data would be a bit more robust for my purposes.

            #3 - To clarify, when I view the performance recording report it doesn't quite jive with my experience when interacting with reports.  For example, it may show that it took 1 second to connect data and another 2 seconds for the query (these are just hypothetical times), but when I actually open the report in my browser it may take 10 seconds for the report to load.  I understand that the performance recording is only measuring what Tableau is doing not necessarily bandwidth and other factors, but the differences are usually large. Although perhaps I am missing something.

            Let me know if this helps.



            • 3. Re: Interpretting Performance Recording Output
              Russell Christopher

              Thanks - And you already pretty much answered the question for yourself


              You're 100% correct in that we're only "watching" the Tableau rendering process. There are lots of other things going on that we're not measuring - like how long it takes to pull the XML definition of the report out of our internal database, how long it takes to "bootstrap" a VizQL session, how long it takes to send data across the wire to your browser, and so on.


              Some of this extra time you might be able to measure with things like the built-in Chrome/IE Developer tools, FireFox's Firebug, etc.