Engine configuration

The Designer cooperates with different engines to handle specific tasks. A Merge engine merges the template and the data to create Email output, or to create an intermediary file for Printed output. The intermediary file is in turn used by a Weaver engine to prepare the Print output. (For more information see: Connect: a peek under the hood).

Settings for these engines are made in the Scheduling Preferences (Window > Preferences > Scheduling). This topic explains the principles behind these settings and provides guidelines for configuring the engines in such a way as to achieve the highest possible output speeds.

Other ways to enhance performance are explained in another topic: Performance Considerations.

Speed quota: ppm and speed units

The highest possible output speed depends first and foremost on your licence.
With no Performance Pack, PrintShop Mail Connect can generate output at 250 ppm (pages, and/or emails, per minute) for Subscription licence, or 1000ppm for Perpetual licence. Additional Performance Packs increase this quota.

The number of engines that are allowed to operate in parallel to create the same type of output are referred to as speed units. PrintShop Mail Connect provides 1 speed unit (with both licence types).
It is important to note that only output operations are limited by this quota.

  • The Weaver engine always requires a speed unit to run.
  • A Merge engine only requires a speed unit when creating Email output.
  • The Datamapper engine doesn't need a speed unit.

Merge engines involved in a Print operation don't need a speed unit in order to run. It is therefor possible to launch multiple Merge engines, which in most situations increases PrintShop Mail Connect's performance.

Number of Merge engines

When first installed, PrintShop Mail Connect is configured to use 1 Merge engine. A Merge engine will run mostly single-threaded. To benefit from modern multi-core systems it is recommended that several Merge engines run in parallel.

As a rule of thumb, you will want to run as many Merge engines as the system has cores. The print statistics message dialog shows both the number of Merge engines and cores. However, modern hardware typically has both full cores and hyper-threading or logical cores. Both are counted as cores in this dialog, but the logical cores should not be counted as a full core when determining how many Merge engines to use. As a guide, count logical cores for only 25%-50% of a full core.
For example: on an Intel i7 CPU that comes with 4 cores and 4 additional hyper-threading cores, Windows Task Manager will show 4 cores and 8 logical processors on its performance tab. On a CPU like this, 5 or 6 Merge engines can be configured to run in parallel.

It is advised that you do not configure more engines than can be backed by actual processing power . This adds overhead while not adding processing power.

To configure the number of Merge engines:

  1. Select Window > Preferences... from the menu; under Scheduling, select Scheduling - Merge engine.
  2. Set Local engines launched to a number appropriate for your system.
  3. Initially, you can set Parallel engines per job to the same number as the Local engines launched, for both medium and large jobs (see Job size limits, below).
  4. Always set Maximum concurrent engines per type to the same number as the Local engines launched, for both medium and large jobs.
  5. Click OK or Apply.
Since PrintShopMail Connect can only handle one job at a time, it isn't useful to make any 'engine reservations'. Reserved engines cannot be used by jobs of another type. All Merge engines should be "floating".

Job size limits

Job size is a relative concept. In a small service company a job may be considered large when it counts 1,000 records, whereas in an insurance company the same job may be seen as small.
PrintShop Mail Connectlets you define job sizes by setting the maximum number of records in a small job, and the minimum number of records in a large job. Jobs that are neither small nor large are medium sized. (Note that the term 'records' refers to top-level records only. Detail records are not considered.) These job size limits could have an impact on performance.

  • Small jobs always get just one engine. Do not set the limit for small jobs too high; small jobs should be easily handled by one engine.
  • The number of engines used for medium and large jobs is configurable.

Which job size limits are ideal in your setup can't be said beforehand. It requires testing to find the minimum and maximum number of records in jobs that benefit from running with more than one Merge engine. Take into account that jobs with fewer records could actually be medium or large if each individual record outputs 10,000 pages.

  • To set the job size limits, select Window > Preferences... from the menu; then go to Scheduling.
  • Under Scheduling - Merge engine you can set the number of Parellel engines per job for medium and large jobs.
Example

Testing may reveal that jobs between 50 and 250 records benefit from running with 2 Merge engines, but that running those jobs with more Merge engines doesn't result in higher output speeds or even takes a bit longer.
In this case, the maximum number of records in a small job should be set to 50; the minimum number of records in a large job could be set to 250. Subsequently, the Parallel engines per job setting could be set to 2 for medium jobs, and for large jobs it should be set to the maximum number of Merge engines available.

Memory per engine

As explained above, PrintShop Mail Connect can be configured to use multiple Merge engines. By default, each Merge engine, as well as the Datamapper engine and Weaver engine, is set to use 640MB of RAM. To make optimum use of the machine's capabilities it might be useful to increase the amount of memory that an engine can use.

  • For complex templates with a lot of pages per document, there is a chance that the Merge engines will run better with more memory.
  • For jobs with heavy graphics, jobs that use Cut & Stack impositioning and jobs that use particular variables that entail page buffering (see Content variables), the maximum memory usage of the Weaver engine can be relevant.

The Maximum memory per engine setting is found in the scheduling preferences of each engine type; see Merge engine scheduling and Weaver engine scheduling.