How does Nprinting Handle Multiple Concurrent Publish Task Executions
Question: (two sample scenarios)
How does Qlik Nprinting Manage Publish Task executions when for example, two publish tasks running each report are triggered from a schedule at the same time. What will happen when the executions start in terms of CPU consumption?
Additionally, can one publish task that executes a single NP report start 4 multiple QV.exe (QlikView) or Webrenderer.exe process (Qlik Sense)... Where each QV.exe or Webrenderer.exe handles for example a field cycle or splitting up the "recipients" per qv.exe or Webrenderer.exe
It is important to note from the outset that Qlik NPrinting Scheduler service internal algorithm acts as the 'director' or 'traffic cop'. It will distribute work load as it determines most efficient for task execution activity.
The following applies when more one or more NPrinting reports are consuming the same source QVW or QVF document run in Qlik NPrinting within a single task or multiple tasks:
Tasks starting at the same time, or running at the same time, share the same QlikView instances. Requests from both tasks are queued and processed by the same pool of QlikView instances open on the document.
If two tasks are started there's no guarantee that requests for the first task started will be processed before requests from the second one. All requests from both tasks will be processed by the same pool of QlikView instances, in parallel. The same applies for two tasks starting at the same time. Thus, a single engine will typically handle more task executions at the same time. See "Performance" help page for more on the subject.
The number of QlikView or Qlik Sense instances open on a given source QVW or QVF document is determined by a proprietary algorithm and is mainly determined by load on the such document at a given time. This depends on a number of variables, like number of running tasks, number of reports per task, structure of the reports etc.
If more recipients are set for the same report Qlik NPrinting will optimize the requests done to reduce the load on QlikView and total processing time, i.e. requests generating the same data will be possibly executed once instead of multiple times.
Now if section access is used:
The NPrinting service account will impersonate 'Every User' and process output base on each specific user's access to the source document.
The result is much slower performance
It is recommended to use NPrinting User Filters to emulatesection access without having to use section access to ensure the best possible performance.