Tableau server performance management has been everyone’s concerns when it comes to a shared self-service environment since nobody wants to be impacted by others. This is especially true when each business unit decides their own publishing criteria where central IT team does not gate the publishing process.
How to protect the shared self-service environment? How to prevent one badly designed query from bringing all servers to their knees?
My previous blog Governed Self-Service Analytics: Performance Management (7/10) talked about a few actions. This blog talks about one technical implementation : how to send auto alert to workbook owner when the average workbook render time exceeded defined threshold. This helps as most of workbook owners are willing to take actions. My next blog will talk about some enforcement when no action is taken overtime.
What is the problem statement?
- Let workbook owners know their workbooks are a lot slower than many other workbooks on the same server
Is this necessary at all? Don’t they know already?
- Some workbook owners may know but other may not. It is possible that a well performed workbook becomes much slower overtime due to data change
- Some workbook owners may know the slowness but they did not know how slow comparing with many other workbook on the server
- Other workbook owners know slow but they do not bother to improve – if their users do not complain and server admin team does not complain, they have no incentive to improve it
Why server admin team cares about my slow views if my users are happy about it?
- This is a valid argument. One time, I did research on my server : 1% views with render time > 30 seconds consume about 20-30% server CPU & memory resources!
It used to take one day to get the answer outside Tableau, but now it takes only 5 mins on Tableau server to get the answer, I am happy about it!
- This is a valid argument too. My counter answer is that you are working on a shared server env – your slow view impacts others. If you have your own dedicated server, admin will not care if your view takes 5 mins or much longer.
Now tell me auto alert solution: Create a VizAlert to be sent to workbook owner abut the slow workbook views automatically in weekly basis. More details and tips for the VizAlert:
- Use weekly render time avg to avoid a lot one-off outliers
- Define your alert threshold, I use 30 sec as weekly avg
- Include # of weeks the slow view/workbook has been on the alert
- If it is on the alert the week 1, then it is not on week 1 anymore, that is great!
- However if the workbook is on week 1, 2 and 3, a conversation may be needed or you may want to trigger enforcement in my next blog
- Be sure to include best practice for designing effective Tableau workbooks and other internal resource list.