17 Replies Latest reply: Nov 21, 2012 4:40 AM by Dave Denscombe RSS

    Limit QVB.exe processor use?

      Hi,

       

      Sometimes QVB.exe goes up to 99% CPU use. Is there a way to limit the amount of processor used by it?

        • Limit QVB.exe processor use?
          Daniel Rozental

          I've actually discussed this with someone from QT Support and sadly there is none.

           

          Perhaps you can check your reloads to see if they can be done more efficiently.

          • Limit QVB.exe processor use?
            Stefan Bäckstrand

            The QVB process will work in the same fashion as Qlikview Desktop and Server (Qv & QVS) - it will use the optimal amount of CPU resources to satisfy the request as fast as possible. Having a Publisher process that uses 100% CPU in intervals is not neccesarily a bad thing, unless the processing times are long and/or distrurbs other processes on the system. In that case you scale out the architecture by layering QVS and Publisher on separate hardware, for example. Trying to create shelves for QVS and Publisher will in the long end only result in a general performance degradation, since statically reserving CPU resources to processes will create scenarios where unused resources at times will not be used at all.

              • Limit QVB.exe processor use?
                Daniel Rozental

                It will still be nice to be able to limit how much resources a QVB uses. When you have several tasks running at the same time and they are all spreading into multiple threads trying to grab as much resources as possible it can get a bit messy.

                • Re: Limit QVB.exe processor use?
                  Nick Gan

                  Hi Stefan,

                   

                  I am interested to find out more info on how can we do hardware layering?

                  Is there any doc i can refer to?

                   

                  if we are layering out the services, do we need additional license? for the moment i have everything on the same server, but CPU is on high when ditributing.

                   

                  i'm on V11SR1, 64GB RAM, x64, 24-core.

                   

                  Do you think if i increase the ram to 128 GB, it will reduce the CPU usage?

                   

                  Thanks.

                    • Re: Limit QVB.exe processor use?
                      Dave Denscombe

                      Nick - that depends if you have a Publisher licence.  With a Publisher licence you can host the QlikView Distribution Service (QDS) wherever you want.  The QDS is the component responsible for Publisher tasks such as Reloads.

                       

                      Without Publisher the QDS has to live on the same server as the QVS.

                        • Re: Limit QVB.exe processor use?
                          Stefan Bäckstrand

                          Good point. I often make hastly conclusions that everybody run Publisher.

                          • Re: Limit QVB.exe processor use?
                            Nick Gan

                            Thanks Stefan for the points.

                            So in fact, there's nothing i can do? but wait for the task to finish? Since QVB will always take the max available resources?

                             

                            Dave, yes, i have the lic for publisher, but how do we put the QDS on another server?

                            During installation, it's all done on the same server.

                            Is there some tech doc to refer to ?

                             

                            Thanks.

                             

                            By the way, what is the difference between QVB and QDS ?

                              • Re: Limit QVB.exe processor use?
                                Johannes Sunden

                                Installing Publisher on a separate machine is fairly straight forward and can be selected when running the installation package.

                                I think a common setup is to have the QDS and QMS on a Publisher machine and QVS + QVWS on a QVS machine, plus directory service connectors.

                                 

                                The QVB's are lightweight QlikView reload engines that are started by the QDS when applications need to be reloaded. I think it stands for QlikView Batch (engine) and they basically do what QV.exe does for reloads without any kind of front end attached.

                                • Re: Limit QVB.exe processor use?
                                  Stefan Bäckstrand

                                  nicksatch; it's not always that QDS and the QVB engine(s) take all performance, only if it needs it to perform the reload. Different kind of script operations in the reload scales differently over CPUs in a very dynamic way. Also, Windows will sometimes try and compensate and let processes context-switch their operations on CPU cycles to not have processes halting to a stop because other processes are using lots of resources (at least that's what should happen if the CPU priority is unchanged ("Normal") on QVB and QVS processes, which they should be). The bad thing in such a scenario is the likelyhood of both processes slow down. I'm really not sure exactly at what rules this happen, but it is something that I trust the VMM (Virtual Memory Manager) in Windows to figure out (it's really rather smart) and handle in the best way possible. 

                                   

                                  Like Johannes is saying; it's not very hard to move QDS (and subsequently the QVBs) to another machine.

                                   

                                  The below document that I wrote outlines scenarios like this (they are referred to as "Service re-location" in this document), along with other architectural scenarios like upgrades and migrations. Basically, you can say that you "migrate" the QDS to another machine. Look here: http://community.qlik.com/docs/DOC-2647

                                  • Re: Limit QVB.exe processor use?
                                    Dave Denscombe

                                    Nick - as regards the procedure it's a simple case of deciding which modules you want during installation.  Then in the QMC you would change the URLs so that the QMS (QlikView Management Service) can find the other QlikView modules.   You may decide to move some stuff such as Source & User Docs to a Windows share because it makes things much more manageable in a multi-server deployment.

                                     

                                    The QDS is the key Windows service which is responsible for Publisher Reloads and Distributions.  The QDS spawns off multiple QVB processes when Publisher tasks happen and it is the QBC process which does the actual work.  For example if you have two Reloads happening concurrently you would expect two QVB processes to be consuming resources.

                                • Re: Limit QVB.exe processor use?
                                  Stefan Bäckstrand

                                  The Publisher reload engine (QVB) will consume as much resources it can during reload, if it must. This might affect for example QVS. If this is your issue; I think you should consider moving Publisher to a separate machine instead - that is probably the best solution long-term for your environment. If you have QVS and Publisher on the same machine and they use a lot of resources (large, long or many distributions running at the same time as QVS is serving clients), they will fight over resources.

                                   

                                  Adding memory to the machine will only help a scenario where if QVS is starved with memory and will have to flush old cache and re-generate (using CPU) cache again. But I don't think that's your issue unless you are at very high (>75%) memory usage.

                                   

                                  No additional cost in license for distributed services. Clustering though, have license implications.

                              • Re: Limit QVB.exe processor use?

                                If you are using 32 bit windows server then I recommend threadmaster which is freeware and very good at what it does. I am having the same issue but now using windows 64 bit which threadmaster does not support so back to the drawing board. Cheers.