How my Sunday evening went
Okay, after justification and multiple approvals I finally got our Tableau Server core-license upgraded for an additional 8 cores and the additional "hardware" for it. This means we are now a licensed 16 core environment and have 128GB RAM. To be exact, our Tableau Servers run in a VM (Virtual Machine) environment. I know it's just "flipping switches" for our resource increases but as far as my end users are concerned it's simply an improvement in processing power due to additional [virtual] hardware upgrades. They're happy so I'm happy.
Right now I'm working with our architecture expert on how to turn our QA Server into a two-node environment. Currently it is still the same 8 core, 32GB environment since it gets little usage so there's no need for the whole enchilada. However, our PROD Server is very actively used and since we are allowed 16 cores my manager suggested we upgrade it now and after the QA Server passes inspection we can then convert our PROD Server into a two-node environment. So yesterday (Sunday afternoon) the virtual environment folks upped my PROD Server to be 16 cores and 128GB RAM. I then decided to adjust the processes in the Servers tab of the Tableau Server Configuration program to take advantage of the extra processing power.
I decided to give her the beans* and edited my production server as so:
After clicking the OK button I got this message:
Hmmm...well, despite the scary message I decided to start the Server and this popped up shortly...
...but the Server did come up and everything was configured as I had set it.
Cool. However, I was admittedly nervous about how this would impact server performance so I decided to dial it down a tad. Here's what I set up my next attempt as:
I got this warning...
...which is odd because it showed a value of nothing for the data engine even though I put 4. I clicked the OK button and got this message:
I clicked the OK button and got this message during the Server start-up:
Yet when I went to the Server Status page after the Server booted up it appeared that everything is exactly how I set it up...
...including my tabsvc.yml file
And? How's it runnin'?
In a word: Fantastic!
Every day there are 65 extracts executing at 5AM Pacific Time with another 24 added at 5:30AM (much of this is for the east coast users). These are just the hourly extracts (15/30/60 minute schedules). There are also weekly and monthly schedules that add to the load. Oh, and then there are subscriptions, too. Wow, those really suffered! I'm talking one was 9 hours late Holy Rip Van Winkle Batman!!!
I would normally see in-process tasks waiting for over two hours during the mornings. Now I'm seeing 8 backgrounders chugging away and the task queue is dramatically reduced. By 7AM everything is done, no backlog like before where things wouldn't wrap-up until after 8AM. Sweet.
Wow....so many backgrounders. ~David Pires via Twitter
Yep, so, why did I do what I did? Yeah, no freakin' clue
Considering we dropped a couple extra hundred grand into Tableau's bank account one would hope to get little support with it -- not a lot but at least some solid recommendations on how to start out as I've communicated that I am not a server guy, I'm a programmer by trade so a newb to server admin. I understand a company needs to make money but a pitch for consultation services kinda rubbed me the wrong way after this purchase. I initially sent a Tableau-created workbook that contained info on how our previous production environment was working (actually, over-working). It was agreed that we definitely needed additional hardware. Given the info in it, along with the known hardware upgrades we were planning, I was hoping I could get a recommendation of the processes that should be increased and by how much. I'll give them the benefit of the doubt and say that maybe I wasn't clear enough with my request.
Based on what little info I could find in the admin guide and from the community forums I finalized on the setup for now. Note: Once our architecture is done with testing in QA then our PROD Server will transform again but with two nodes instead of the current single.
- Now that the box has more cores and RAM why not bump up the VizQL performance?
- Each VizQL Server should have one Cache Server: Performance Tuning Examples
- Extracts and Subscriptions were very crippled so definitely go for the cores/2 maximum!
- I upped the Data Server since it "...loads extracts into memory and performs queries against them": Extracts and Refresh Schedules and Tableau Server Processes. Interestingly enough, from the same link is this: "Every instance of a data engine process will always have one instance of the file store process present as well." Not according to my setup However, everything is running smoothly from what I can tell and I've received no complaints from my Server nor my end users. My hope is that this helps with the user experience while on the Server.
For better or for worse, that is my semi-ignorant logic in this setup. In my opinion Tableau's documentation is very ambiguous...or maybe too general...for setting up a Tableau Server thus I'm learning the hard way through experimentation I hope I can make Mark Wu proud
Recommendations and comments welcomed below!
* "give it the beans" is an expression meaning "giving it all". For example, in a car, if you "give it the beans" it means step all the way down on the gas pedal and go as fast as you can.