12 Replies Latest reply on Nov 30, 2015 10:58 AM by Jeff Strauss

    clear session on unload configuration

    Yaniv Gold

      We are having issues with real high memory usage on the machine that holds our Tableau server and we are trying to find ways to reduce this. After reading the Tableau server configuration, we are considering on changing the parameter mentioned (vizqlserver.clear_session_on_unload).

      Can someone please explain what exactly is the impact of changing this parameter's default value to true on a Tableau server?

      Does this affect user experience in any way?

        • 1. Re: clear session on unload configuration
          Jeff Strauss

          what version of Tableau server are you working with and how much memory do you have?  I haven't had to change this setting, but we have sufficient amount of memory.

          • 2. Re: clear session on unload configuration
            Yaniv Gold

            We are using Tableau server 9.1 and our machine is a virtual AWS server with 61G RAM.

            We would like to avoid upgrading the server if it's possible to get better performance with the current one.

            • 3. Re: clear session on unload configuration
              Jeff Strauss

              61 gig sounds like an odd number for allocated RAM, but this is besides the point because it seems sufficient.  Is this dedicated RAM to Tableau server or is it shared RAM?  It needs to be dedicated?  And what does usage look like that is taking up most of this memory?

              • 4. Re: clear session on unload configuration
                John Kuo

                With vizqlserver.clear_session_on_unload, setting it to true will cause Server to clear a session as soon as the user closes their browser, which will free up memory immediately. To enable run the following command:

                 

                tabadmin set vizqlserver.clear_session_on_unload true

                 

                tabadmin restart for the setting to take effect.

                 

                Making this configuration changes means that pages will not be cached in memory and thus will be rebuilt every time they are accessed. Whilst this change will free up memory, VizQL will be hit harder for commonly accessed views.



                2 of 2 people found this helpful
                • 5. Re: clear session on unload configuration
                  John Kuo

                  61GB of RAM is quite sufficient in most cases. Changing vizqlserver.clear_session_on_unload setting may or ma not help. We should really find the root cause of the issue, not just alleviate the symptom. I suggest you submit a tech support case to get to the bottom of this. For my own selfish reasons, if you do change the setting, please report back the result.

                   

                  Tableau Support FAQ | Tableau Software

                   

                  Thanks!

                   

                  John

                  • 6. Re: clear session on unload configuration
                    Russell Christopher

                    Yaniv -

                     

                    High RAM utilization by Tableau is not a bad thing in and of itself. Many of our processes don't give memory BACK to the OS unless the system is under stress - you may simply be seeing Tableau doing what it's supposed to.

                     

                    What processes are actually holding the RAM? What is Tableau's RAM utlization on the machine overall? Are you running other apps on the box? You're obviously worried about this behavior, but why?

                    • 7. Re: clear session on unload configuration
                      Yaniv Gold

                      John, thanks a lot for answering- a case for this was opened and I am waiting to get a reply to understand what causes the high usage. We have two Tableau servers, both with the same hardware, where one's performance seems to be ok, and is steadily using around 40% of the memory RAM, and the other is around 90%.

                      I would like o understand better how changing the parameter will affect the users and performance.

                      Anyway, if we do get to change it, I'll update here on the results.

                      • 8. Re: clear session on unload configuration
                        Yaniv Gold

                        Hi Russel, thanks for the reply.

                        The processes that hold the RAM are the two Vizqlserver processes, with as much as 80% of total memory.

                        I would expect the Tableau server to use memory up to a certain amount and not unlimited usage. Let's say we had a server twice as big as we have today, would the Tableau server still consume 80% of the RAM?

                        Since I know some other tools (Qlikview for example) that allows to limit the percent usage of the RAM by the application. Does this exists in Tableau too?

                        We did try to restart the server, seeing that memory usage decreased significantly in the few days after it, going back up to the same level after about 5 days.

                        We are worried about this since we want to be sure this won't effect us in the future, since we are planning on adding some more users, causing more cash to be saved.

                        Will be happy to hear what you think of this.

                        Thanks,

                        Yaniv

                        • 9. Re: clear session on unload configuration
                          Russell Christopher

                          OK, don't get me wrong here...not trying to be a troll...but it sounds like this might be about incorrect expectations (yours) about how the software should work.

                           

                          I do a lot of load testing with Tableau (it's a sick, sad hobby, I know) and I see the exact same behavior.

                           

                          Here's what I'm getting at: On a "Tableau Only" server, why would we want to place a hard limit on the amount of RAM that the (generally hardest working) services can use? Why would we want to limit them in any way above and beyond keeping them from starving the entire OS or other Tableau processes (which we do - with something called the Server Resource Manger or "Watchdog") ...Well, we wouldn't. If vizqls ask for RAM, give it to them...and don't bother asking for it back either (unless the box is under memory pressure) because the same processes are quite likely to turn right back around and ask for that memory back when tons of people are hitting the server again.

                           

                          You are equating high memory usage with "bad". Don't. You've probably been trained over years of maintaining apps like these to assume something is going wrong. It's not .


                          When user-created vizql sessions are released / killed, I think you're assuming you'll see the amount of RAM utilized by a vizql go down. Nope. We hold onto it. So your worry about "more users = more cache & session use = even HIGHER % RAM usage" isn't what you think it is because the total amount of RAM used by a VizQL doesn't necessarily mean all of it is being actively utilized.  Hope that makes you feel more comfy

                           

                          So to your answer your questions: If you give the server more RAM, will Tableau take it? Sure - it we need it, we'll take it. We don't have a global "only use X GB of RAM, ever" setting, but if you talk to support there are ways that you can have the SRM "kill" processes that use too much RAM for too long and even limit the amount of RAM a single process can use (at least we used to)....But normally this isn't necessary unless the admin is doing something that falls into the realm of "not a best practice"...like running OTHER server apps on the same box as Tableau....so that you can't have Tableau using all the RAM on the machine as it would starve the "other" app...that's a completely different ball of wax and exactly the reason we say "don't do that".

                           

                          Does that help at all?

                          3 of 3 people found this helpful
                          • 10. Re: clear session on unload configuration
                            Russell Christopher

                            BTW re: the 40% vs. 90% box - most likely the "viz mix" that was executed on each machine - more & more complex on 90%, more simple and/or fewer vizzes on 40%.

                             

                            As an experiment, try manually killing all vizqls with task manager (you don't need to restart Tableau itself) and they will respawn automatically. After they settle down, run the same vizzes on each machine in the same order...and you'll likley see the same memory footprint...

                            1 of 1 people found this helpful
                            • 11. Re: clear session on unload configuration
                              Yaniv Gold

                              Russel- thank you so much for the broad explanation.

                              I understand what you are saying, and your guess of the "viz mix" is absolutely correct- one machine holds about 8 times more memory in terms of workbooks and extracts than the other. The only thing that still bothers me a bit is the fact that the 'smaller' server is using a constant amount of RAM where as the other has up and downs of RAM usage, which to me seems as an abnormal behavior.

                               

                              Anyway, we decided to add a weekly restart and a cleanup that should dump any unnecessary memory.

                               

                              Would definitely be happy to hear your comments on this!

                               

                              Thanks,

                              Yaniv

                              • 12. Re: clear session on unload configuration
                                Jeff Strauss

                                we do a nightly restart.