Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I am new to this community so this is my first question/idea.
In our company we are using Nprinting (ver 17.6) and recently we created a general report for daily distribution in HTML so it can be embedded in the mail body. No problems there, it works as expected.
The Issue I came by is that the publishing task is taking on average 90 minutes. The challenge I am facing (and probably some of you too) is how to accelearte the publishing task.
I have read some threads in this community talking about this problem and some good practices, so I want to share my own experience around this issue and a solution I found (not too elegant, but functional at the end)
As I mentioned, we have Nprinting 17.6 and QlikView 12.1 running together in a vMachine with 8vCPU and 32GB Ram.
The app for this report was connected to 2 Documents (Shop Floor and Supply) via Server. The first time I did this was directly to the documents and reloading the metadata took forever. After a few months and testing I learned that it is a good practice to have a separate document with only the objects being included in the Nprinting template. So I created new versions of our QV documents using Binary (Shop Floor Binary, and Supply Binary). The most notorious improvement with this change was reloading the Metadata.
I have 2 apps for the same report. The first app is called "HTML Report Live" and the second "HTML Report Test". The publishing task is performed to the live version that has server connections to the Binary reports. The test version has direct connections to the same documents. So my solution here was to change the connections in the live version to direct connections, and create triggers for reloading the metadata for both documents before publishing the report. This is taking overall 5 minutes total including the metadata for both documents and the HTML report publication. Big Improvement!!
Still I am not very happy with this solution, NPrinting doesn't let you program tasks in cascade as the QMC, so each trigger has to be scheduled in different hours.
Any thoughts around this issue and the solution I have so far?
Best regards to All, !
Martín.
In my experience:
- Nprinting and Qlikview need diferents machines. NPrinitng use the max resource availables in the machine. This affects the performance of qlikview server if it uses the same machine.
- From NPrinting machine create a UNC connection to the qvw file, is much faster compared to QVP. This is because it uses the resources (RAM, CPU) of the nprinting server instead of the qlikview server that will normally be with more requests in progress.
- I f you can add more vCPU to the machine this can increment notably the performance. Thing the follow: nprinting open a qvw instance of the file for each cpu and use this in parallel.
- For the triggers see https://community.qlik.com/thread/292037?sr=inbox&ru=187069 this is for Qlik Sense but work for Qlikview, basically you can call reload task from a qlivkiew document using the nprinting api and the qlik rest connector. So, you can make a qvw aonly for call the nprinting reload task and config this in qlikview for reload when you qvw i success
Gustavo
I agree with you on first and last of your bullet points but second and third i strongly disagree with.
Regarding second point i can agree that generating reports using local connection works faster BUT!!!
@Martin - what i can add to it to improve your performance is:
regards
Lech
Thanks Guys for your comments!
-Martin.
Hi Guys,
I followed your recomendations. Now I have diferent machines for each server and it is working well. Also I am using server conections.
Thanks.
-Martin