Visualizing Tableau Server Performance
This document will show you how you can use Performance Monitor (perfmon), a standard tool installed with Windows operating systems[1], to capture performance monitoring and build Tableau visualizations to see what is happening. We will only focus on the monitoring of key Tableau Server processes. Only the memory (private bytes[2]) is shown in this set of instructions, but almost anything can be monitored using this utility.
Section 1. Open and create a New Data Collector Set
1. Open Performance Monitor via Start > Search on ‘perfmon’ > click to open Performance Monitor
- If at any time certain options do not appear, you may need to right click perfmon and ‘run as administrator’ as shown below:
2. Open Data Collector Sets > right click User Defined > select hover over New > click Data Collector Set
3. Give your new Data Collector Set a Name and Click Create manually (Advanced), then click Next
4. Under Create data logs, select Performance Counter, click Next
5. This next window lets you adjust the Sample Interval. Now click Add specific to add Performance counters[3]
6. This window lets you select:
- Which machine you are collecting data on, we will stay with the current machine “localhost”
- The counter ‘type’ which we will select as ‘Process’ since we want data on Tableau Server-specific processes
- Which named instances of the counter type you selected will be collected
- To add them to the counter list in the right side window
7. Once you click the “+” sign next to Process, you scroll to and select Private Bytes
8. From there you see in the Instances of selected object window, all of the processes currently running on the machine:
9. At this stage you add all the processes, by name, that you want to collect private byte information on. Private bytes are memory that is used exclusively by that process. Shared memory is used as well, but this is a key indicator of how much memory a process is using to meet just its own needs. Key process memory to watch are:
- Vizqlserver – processes that query data and build views
- Wgserver – processes that authenticate users and setup the vizql process to take on the remaining tasks to serve the view
- Backgrounder – takes on long running tasks like extract refreshes
- TDEServer64 – The Tableau Data Engine (TDE), our fast columnar data extract engine
- Httpd – The Apache web host and load balancer, usually a very low user of memory, but worth watching
10. Note that after you select and Add the processes, there are some duplicates. These represent the existence of multiple processes of that type. Vizqlserver, wgserver and backgrounder can all have multiple processes per your chosen Tableau Server configuration. See the Tableau Server admin guide for more details.
11. Now you can click OK
12. The next window asks where to save the data, more on this later, but accept the default by clicking Next
- “%systemdrive%\PerfLogs\Admin\New Data Collector Set”
13. The next window offers you the option to run the data collector set under a particular account. It is best to select an account that has the administrative permissions on the machine you are monitoring and that also has permission to write data to the directory or database you ultimately want the data to be stored in. More details on this later.
14. Opt to Save and close, then click Finish.
15. You now can see your New Data Collector Set in the list of User Defined sets.
Section 3. Making the data available for Visualization in Tableau
1. You could right click this New Data Collector Set and opt to start it, but where does the data go and in what format? Right click the DataCollector01 in the right side window and click Properties.
2. You will now see the counters you selected for this data collector set, but you also see the option for Log format. Select from the drop down list either Comma Separated (CSV), or SQL. These are the only two good options if your goal is to view the data in Tableau.
3. If you selected CSV, your file will appear in the default location “%systemdrive%\PerfLogs\Admin\New Data Collector Set”
4. You should now be able to right click your New Data Collector Set and click Start to begin logging data to your csv file
[1] Windows 7, Windows Server 2008 R2, Windows Vista http://technet.microsoft.com/en-us/library/cc749249.aspx
[2] More information on Windows memory: http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx
[3] More information on adding Performance counters: http://technet.microsoft.com/en-us/library/cc722414.aspx