Skip to main content
Announcements
Defect acknowledgement with Nprinting Engine May 2022 SR2, please READ HERE
cancel
Showing results for 
Search instead for 
Did you mean: 
umakrishnaswamy
Partner - Contributor
Partner - Contributor

Nprinting Report Optimization/Parallel execution

We have a requirement to generate 800+ reports in excel format. We are using Qlikview 12 and  NPrinting 17.6 version with cyclic group functionality. To achieve parallel execution we have created 4  tasks from 4 different Qlikview applications. Currently it is taking more than 8 hours to execute the reports. How we can reduce the time or achieve parallel execution in more efficient way. it will be helpful if you provide your thoughts on the same.

1 Solution

Accepted Solutions
T0mm450-3rc0l3
Employee
Employee

Hello all, I'm one of the original developer of both NP 16 and NP 17 and I would like to shed some light over the parallelization abilities of our NP 17 engine.

First of all, NP 16 and 17 use completely different processes while building reports. NP 16 would have been able to achieve report parallelization and because of this we chose to develop a single data request process to fetch each object of a report separately. This allowed us to achieve a higher form of parallelization that is independant from tasks and reports.


So, let's start from the fact that I understood that

...To achieve parallel execution we have created 4 tasks from 4 different Qlikview applications...

means that you copied your only document with 4 different names to be able to achieve parallel execution, thinking that the same document would automatically be read linearly.


If this is what you did, in fact you created a non optimal environment. NP 17 works better with few documents that are "active" at the same time, because it can parallelize more.


So I would instead use one document and one task. In a perfect situation, where QlikView doesn't have any problem with the document this is the way to go.

Instead, if you noticed an high "mortality" for QlikView (many errors in the log stating the process stuck or died), right now the best way is to go with multiple documents (we are working on this).

Right now I would also add that is important to keep clean the bookmarks folder of the user running the NP 17 engine.


View solution in original post

9 Replies
lironbaram
Partner - Master III
Partner - Master III

hi

first i hope you are aware that single nprinting engine can't run task in parallel, so it doesn't matter that you

split the tasks.

the simple way is to purchase additional engines that will allow parallel tasks

otherwise you'll need to check if you can make changes to the report so it'll be generated faster

umakrishnaswamy
Partner - Contributor
Partner - Contributor
Author

Thank you for the response. The execution speed also depends on Server RAM right. Currently they are running in 32 GB Machine. If the increase in RAM size will help to reduce the speed?.

Yes. report level optimization I am looking into that. But no major optimizations we cannot do on the same. Those all are simple report with 3 tables(that achieved through levels)

Let me know any suggestions on the increase in RAM or other optimization techniques.

ogster1974
Partner - Master II
Partner - Master II

Make sure your app contains only the data needed to generate the reports you are creating to keep it as light as possible.

Cycling like levels can put a strain on the report generation so try and simplify if possible.

Also as liron suggests to run tasks in parrallel they will need to be run by seperate engines otherwise the tasks will execute one after another.

umakrishnaswamy
Partner - Contributor
Partner - Contributor
Author

Thank you for the responses. What about the server RAM? now only 32 GB RAM , increase in RAM will it help? or these are no way related to reduce the time. please suggest your thoughts on the same.

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi,

following Andys recommendation see this topic:

https://community.qlik.com/thread/260840?q=qvw%20size

from NPrinitng perspective you can boost NPrinting server by adding CPUs as long as you include NO MORE than 12 CPU CORES.

regards

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.
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

here more details:

https://help.qlik.com/en-US/nprinting/November2017/Content/DeployingQVNprinting/Performance.htm

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.
umakrishnaswamy
Partner - Contributor
Partner - Contributor
Author

Thanks for the replies. it will be very helpful for further usage. also if any other thoughts on the same  please share as well.

T0mm450-3rc0l3
Employee
Employee

Hello all, I'm one of the original developer of both NP 16 and NP 17 and I would like to shed some light over the parallelization abilities of our NP 17 engine.

First of all, NP 16 and 17 use completely different processes while building reports. NP 16 would have been able to achieve report parallelization and because of this we chose to develop a single data request process to fetch each object of a report separately. This allowed us to achieve a higher form of parallelization that is independant from tasks and reports.


So, let's start from the fact that I understood that

...To achieve parallel execution we have created 4 tasks from 4 different Qlikview applications...

means that you copied your only document with 4 different names to be able to achieve parallel execution, thinking that the same document would automatically be read linearly.


If this is what you did, in fact you created a non optimal environment. NP 17 works better with few documents that are "active" at the same time, because it can parallelize more.


So I would instead use one document and one task. In a perfect situation, where QlikView doesn't have any problem with the document this is the way to go.

Instead, if you noticed an high "mortality" for QlikView (many errors in the log stating the process stuck or died), right now the best way is to go with multiple documents (we are working on this).

Right now I would also add that is important to keep clean the bookmarks folder of the user running the NP 17 engine.


umakrishnaswamy
Partner - Contributor
Partner - Contributor
Author

Thank you. For currently we are not renaming the files into 4. we are creating 4 qlikview files with reduced data(The reports having only required data) and creating connections to achieve better performance. we are not sure the increase the number of connections with different different Qlivkiew files will improve the performance. please suggest your thoughts for the same.  And currently going to run in 12 crores machine instead of 4 crores and trying to check the performance.