Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I was wondering if the specs of my QlikSense server can affect the performance of NPrinting. I have 2 servers one for QlikSense one for NPrinting both servers have 8 CPU Cores and 32GB of Ram.
The QlikServer server spends most of it's time with 70-80% Ram usage and less than 10% CPU usage (When NPrinting Reports are not running). This then goes over 90% on both when reports are running. The NPrinting Server has on average 50% usage on both when reports are running.
This led me to my question of is my QlikSense Server affecting the performance of my NPrinting Server.The NPrinting server produces over 600 reports daily at different intervals (Runs 3 times producing around 200 reports each time). Do my specs suit this use case?
Thanks.
"Yes" is the answer. The NPrinting report or task execution has 3 phases and the first phase 'content resolution' is when NPrinting interacts with Qlik Sense to extra the data and images it needs to assemble the report. Referring to my screenshot below, you can see under admin/task executions that you can click prior task executions and then look at the timestamps of each of the 3 phases of execution. The content resolution phase is where qlik sense is influencing the performance of your report. What NPrinting does asynchronously behind the scenes is analagous to an end user interacting with the same Qlik Sense app in the Qlik Sense web client and downloading/export data and images from the app. If the app renders slowly and/or the download/export is slow, it could be because of a number of performance impacting factors such as data model design, data volume, App object design, expression complexity, or in some cases the the server(s) is underpowered. For general 'app performance' I recommend following best practices to optimize the app first, and then when you have it ideally optimized, scale out the architecture vertically or horizontally depending on the need. If you don't optimize the app first by following a long list of best practices, you may find yourself throwing money at the problem by needlessly scaling the architecture. Hope this helps.
Hi @EnKy23
@JonnyPoole gave you all information required. I will add to it one thing - I always say that NPrinting development is 90-95% of Qlik Sense development which includes:
Lastly reagarding your server spec - I normally observe howare CPU and RAM utilized on both servers in peak times. Typically you would need more CPU / RAM power on Qlik Sense side as that server does heavy lifting job. What you have for NPrinting I consider as a "Large/Powerful" NPrinting server.
cheers
"Yes" is the answer. The NPrinting report or task execution has 3 phases and the first phase 'content resolution' is when NPrinting interacts with Qlik Sense to extra the data and images it needs to assemble the report. Referring to my screenshot below, you can see under admin/task executions that you can click prior task executions and then look at the timestamps of each of the 3 phases of execution. The content resolution phase is where qlik sense is influencing the performance of your report. What NPrinting does asynchronously behind the scenes is analagous to an end user interacting with the same Qlik Sense app in the Qlik Sense web client and downloading/export data and images from the app. If the app renders slowly and/or the download/export is slow, it could be because of a number of performance impacting factors such as data model design, data volume, App object design, expression complexity, or in some cases the the server(s) is underpowered. For general 'app performance' I recommend following best practices to optimize the app first, and then when you have it ideally optimized, scale out the architecture vertically or horizontally depending on the need. If you don't optimize the app first by following a long list of best practices, you may find yourself throwing money at the problem by needlessly scaling the architecture. Hope this helps.
The app is very bulky (it deals with millions of rows of data and has many tables which are within containers), is there a way to check if the app follows best practices?
I suggest deploying the 'App Metadata Analyzer'. It will highlight the 'heaviest' tables and fields in your data model and allow you to make the decision to remove them or make them less granular. For example a timestamp field is made far less heavier but flooring and removing the time component of the timestamp (IE: floor([TimestampField]). https://help.qlik.com/en-US/sense-admin/November2023/Subsystems/DeployAdministerQSE/Content/Sense_De...
I highly recommend Rob Wunderlich's QSDA Pro utility to assess optimizations of Qlik apps too https://easyqlik.com/qsda/download/ .
Hi @EnKy23
@JonnyPoole gave you all information required. I will add to it one thing - I always say that NPrinting development is 90-95% of Qlik Sense development which includes:
Lastly reagarding your server spec - I normally observe howare CPU and RAM utilized on both servers in peak times. Typically you would need more CPU / RAM power on Qlik Sense side as that server does heavy lifting job. What you have for NPrinting I consider as a "Large/Powerful" NPrinting server.
cheers
Hi,
I would like to add to the great suggestions by @JonnyPoole and @Lech_Miszkiewicz that also the structure of the template impacts on the performances. I suggest you to limit the number of Pages and/or Levels in particular nested levels because each distinct value of a Leve and PAge is a filter that need to be applied, sent to Qlik Sense and wait for the results.
Best Regards,
Ruggero