Performance

The performance of your Qlik NPrinting system will depend on a number of factors. When planning your deployment you must consider:

  • the size of your deployment
  • the number of Qlik NPrinting Engines needed
  • the type of connections you plan to use
  • the number CPU cores required for each Qlik NPrinting Engine
  • the amount of RAM required for Qlik NPrinting Engine computers

Performance guidelines

To size your installation, consider the following:

  • number of Qlik NPrinting Engines
  • number of CPU¬†cores for each Qlik NPrinting Engine
  • amount of RAM required for Qlik NPrinting Engine computers

Use this information to help you plan your system.

Number of Qlik NPrinting Engines

Increasing the number of Qlik NPrinting Engines associated with a Qlik NPrinting Server will result in a linear increase in performance. For example, if you move from an installation with two Qlik NPrinting Engines to an installation with four Qlik NPrinting Engines, the time to create and deliver the same set of reports is divided by two. The total amount of time necessary to deliver a set of reports can also depend on external factors, such as the performance of your SMTP server.

Number of CPU cores for each Qlik NPrinting Engine

The performance impact of the number of CPU cores depends on whether the reports are based on connections to QlikView or Qlik Sense.

When you create reports from Qlik Sense connections, performance increases linearly with the number of CPU cores added. For example, if you move from a four core CPU to an eight core CPU, the time to create the same set of reports is divided by two. The total amount of time necessary to deliver a set of reports also depends on external factors, such as the performance of your SMTP server. There is no upper limit to this relationship if your connections are exclusively to Qlik Sense apps.

When you create reports from QlikView connections, performance increases linearly with the number of CPU cores added until you reach twelve cores. If you exceed twelve CPU cores, the increase is no longer linear. The change in performance occurs because Qlik NPrinting Engine launches an instance of QV.exe for each CPU core and uses QlikView bookmarks to apply filters. QlikView bookmarks are written to a file, so for each CPU core there is an instance of QV.exe that needs to read and write to the same file. Conflicts while accessing the bookmark file can cause a noticeable decrease in performance when you exceed twelve QV.exe instances or twelve CPU cores. If you plan to connect only to QlikView documents, we recommend that you install Qlik NPrinting Engines on physical or virtual computers with a maximum of twelve cores. Connections to Qlik Sense apps are not impacted by this limitation.

Qlik NPrinting can create reports with data from QlikView and Qlik Sense connections at the same time. There are currently no performance test results available for this scenario.

RAM required for Qlik NPrinting Engine computers

The amount of RAM required for Qlik NPrinting Engine computers depends on the QlikView documents you use to create reports. On a Qlik NPrinting Engine, each instance of QV.exe opens a single QlikView document. For example, if your Qlik NPrinting Engine server has four CPU cores it means that it runs four QV.exe instances which in turn open four QlikView documents. You need enough RAM to adequately manage these four QlikView documents to ensure good performance.

Deployment examples

The following examples outline some basic architecture and hardware options for scaling an NPrinting deployment.

Single-engine (small)

This example is a minimum specification consisting of a single NPrinting server with web engine, scheduler and repository installed on the same server.

  • 1 NPrinting server
  • 4 CPU cores
  • 32 GB RAM

Single-engine (medium)

This example has more CPU cores but also consists of a single NPrinting server with web engine, scheduler and repository installed on the same server. As demand increases more CPU cores can help to improve performance.

  • 1 NPrinting server
  • 8 CPU cores
  • 32 GB RAM

Multi-engine (large)

As your needs increase to produce a larger number of reports, scalability becomes increasingly important. This example consists of a single NPrinting server but three NPrinting engines to improve performance and scalability.

  • 4 servers (1 NPrinting server, 3 NPrinting engines)
  • 12 CPU cores for each server
  • 32 GB RAM for each server

See: Multi-engine deployment example - Large volume deployment of Excel reports from QlikView

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?