Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Defect acknowledgement with Nprinting Engine May 2022 SR2, please READ HERE
cancel
Showing results for 
Search instead for 
Did you mean: 
Florentin74
Partner - Creator
Partner - Creator

How does Nprinting handle multiple publish executions at the same time

Hi there,

How does Qlik Nprinting feb 2018 handle publish executions, CPU core wise.

Lets imagine we have :

1 virtual server with one CPU with  4 cores. Meaning 1 engine...

32 gb ram.

2 reports, both with connections to a Qlikview documents (Local connection, not QVP).

- Two publish tasks running each report are triggered from a schedule at the same time.

What will happen when the executions start?

Will the scheduler start both at the same time, giving them each 1 QV.exe... using 2 cores per 1 publish task..

Or

Will the scheduler start 1 task first... Give the task ALL CPU cores, and wait until the publish task has finished, before starting the next... Meaning that you would need another engine to handle more than 1 execution at a time.

Question 2:

Can 1 publish task that runs 1 report start 4 multiple QV.exe... Where each QV.exe handles for example a field cycle or splitting up the "recipients" per qv.exe ....  

Please explain... I cannot seem to find this documentation anywhere...

Regards,

Anders

Meddelelse blev redigeret af: Anders Florentin Hansen

1 Solution

Accepted Solutions
Ruggero_Piccoli
Support
Support

Hi,

As Lech says, there is a lot of intellectual knowledge in the Qlik NPrinting Scheduler algorithm that we cannot share, but I can add some details.

The following applies when more reports using the same document run in Qlik NPrinting, in 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 instances open on a given 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.

Best Regards,

Ruggero

---------------------------------------------

When applicable please mark the appropriate replies as CORRECT https://community.qlik.com/docs/DOC-14806. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads as HELPFUL if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads as HELPFUL if you feel additional info is useful to others.



Best Regards,
Ruggero
---------------------------------------------
When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads with a LIKE if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads with LIKEs if you feel additional info is useful to others.

View solution in original post

5 Replies
Ruggero_Piccoli
Support
Support

Hi,

Many details are in the help site page https://help.qlik.com/en-US/nprinting/February2018/Content/DeployingQVNprinting/Performance.htm.

Qlik NPrinting Scheduler decides the best execution strategy and it is able to open many Qv.exe process for the same .qvw. You can see this by opening the Windows Task Manager during reports creation.

Best Regards,

Ruggero

---------------------------------------------

When applicable please mark the appropriate replies as CORRECT https://community.qlik.com/docs/DOC-14806. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads as HELPFUL if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads as HELPFUL if you feel additional info is useful to others.



Best Regards,
Ruggero
---------------------------------------------
When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads with a LIKE if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads with LIKEs if you feel additional info is useful to others.
Florentin74
Partner - Creator
Partner - Creator
Author

Thanks, this is okay ... But I would have preferred an actual "execution process flow description" (or what to call it ) 🙂 🙂 ... Like what the scheduler and engine does in a given situation... Like if another publish task is run on the same connection while the engine is processing another report... Will the engine be told to release a qv.exe for the new report ?

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi Anders - There is no one answer to your question as it will depend on many factors like complecity of your reports, number of recipients, destinations etc...

You might get first task running 4 QV.exe in parallel, or first tasks running on 3 QV.exe's  and 1 QV.exe running second task,...

or it might be vice versa where 2nd task will be run on more or all cores..

To be honest i find that this is intelectual knowledge of NPrinting deevelopers and we will never know the full, transparent answer what is algorithm of task execution.

To some extend you can observe how it is handled by logging in to NPrinitng engine box when task is executed and observing session 0 behaviour and task monitor.

cheers

Lech

cheers Lech, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful to the problem.
Ruggero_Piccoli
Support
Support

Hi,

As Lech says, there is a lot of intellectual knowledge in the Qlik NPrinting Scheduler algorithm that we cannot share, but I can add some details.

The following applies when more reports using the same document run in Qlik NPrinting, in 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 instances open on a given 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.

Best Regards,

Ruggero

---------------------------------------------

When applicable please mark the appropriate replies as CORRECT https://community.qlik.com/docs/DOC-14806. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads as HELPFUL if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads as HELPFUL if you feel additional info is useful to others.



Best Regards,
Ruggero
---------------------------------------------
When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads with a LIKE if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads with LIKEs if you feel additional info is useful to others.
Florentin74
Partner - Creator
Partner - Creator
Author

Thank you Ruggero... This was very helpful... Have a nice day.