Performance considerations
In order to get the most out of PlanetPress Connect, it is important to determine how best to maximize performance. The following guidelines will be helpful in extracting
the best performance from PlanetPress Connect and they give a rough indication when it would be useful to start looking into hardware
upgrades or extra PlanetPress Connect Performance Packs.
Performance analysis details
Connect's output speed is limited to a certain number of output items (web pages, emails, or printed pages) per minute. What the maximum total output speed will be is determined by your licence and any additional Performance Packs you might have (see Speed quota: PPM and speed units).
To get an indication of the actual Print output speed, output a Print template to a PDF, PS file, using one single Weaver engine and the maximum number of speed units per job (see Weaver engine scheduling). Next, open the log file of the Weaver engine. By default, the log files are located in this folder: C:\Users\[username]\Connect\logs\WeaverEngine, where [username] needs to be replaced with your own Windows username. Search the log file for "PPM" (pages per minute). Repeat this a few times to determine the average output speed. Likewise, the output speed for an Email or Web template can be found by running it with one Merge engine and maximum speed units; in the Merge engine's log file, search for "PPM".
If your jobs are not running at the licensed speed, there may be several ways to improve performance, as described below. Make sure to address all issues mentioned in this topic before deciding that you need to invest. Note however that it is not guaranteed that the licensed speed can be achieved with any job. Creating output for templates with very complex scripts or complex graphics resources will take a certain amount of time, even on high-end hardware.
Improving performance beyond what can possibly be reached by using the methods described below requires purchasing either a Performance Pack or upgrading to PreS Connect (see Performance Packs). For advice please contact your local sales office (see Objectif Lune's Contact page).
Engine configuration
As explained in another topic (Connect: a peek under the hood) the Connect Server cooperates with different engines to handle specific tasks.
A engine extracts data from a data file. A Merge engine merges the template and the data to create Email and Web 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.
Configuring these engines to match both the hardware configuration and the typical usage situation is probably the most effective way to improve Connect's performance. Particularly launching a higher number of Merge engines can have a great, immediate impact on performance. When first installed, PlanetPress Connect is configured to use 2 Merge engines. An engine will run mostly single-threaded. To benefit from modern multi-core systems it is recommended to run more engines in parallel. The number of engines is one of the "Scheduling Preferences" that let the Connect Server manage its workload in such a way that the highest possible output speed is achieved. For an explanation and guidelines, see Engine configuration. See Scheduling preferences for an overview of the dialogs.
Connect Server and Designer each have their own distinct scheduling preferences. Use the Connect Server Configuration tool to change Connect Server's settings.
Template optimization
When you find that the speed per Merge engine - the Content Creation speed - is low, optimizing a template can make a huge difference. Here are some ways to optimize a template:
- Use efficient .
Using very precise selectors in scripts will be much
faster than using a text selector, especially on large documents. See Use an ID as selector.
- Optimize your scripts. Custom scripts with non-optimized loops and unnecessary manipulations can slow down Content Creation. Use the Designer's test facilities to find out which scripts can be improved (see Testing scripts and Optimizing scripts).
- Only run the necessary scripts. Normally the Designer will run all scripts for each and every record and . You can save time in the process of Content Creation by organizing scripts in folders and setting their execution scope or even disabling them (see Managing scripts). Note that loading a JavaScript library
is generally
very fast and is only done once for the record set.
- Use a fast network and internet connection or avoid loading external or internet resources. Using images, JavaScript or CSS resources located on a slow network or on a slow internet connection
will obviously lead to a loss of speed. While we do our best for
caching, a document with 5,000 records which queries a page
that takes 1 second to return a different image each time will,
naturally, slow output generation down by up to 83 minutes.
- Make sure to use optimized graphic resources. For instance, avoid using images with transparency where no transparency is needed.
Hardware configuration
When
processing speed is important, the following is suggested before looking into Performance Packs to enhance
performance (and after addressing the other issues mentioned in this topic).
- Antivirus exclusions. Sometimes, virus scanners, other security software or indexing services can interfere. It can help to disable those kinds of tools for the areas where Connect stores intermediate files. You could exclude the entire
C:\Users\<connectuser>\Connect folder. See also: Antivirus Exclusions.
- Use a high-performance, low-latency hard drive. Connect benefits from fast I/O. This is especially true for DataMapper engines (see DataMapper engine). Preferably use a Solid State Drive (SSD) or similar for storage.
- Use at least 8+ GB High-Quality RAM. Check memory usage while the Print command is being executed to see if you need more than the minimum of 8GB. Assuming that the Connect Server and the Connect database need 1GB each, and that each engine needs 1GB as well, you can roughly estimate how much memory is needed.
- Consider using a physical machine instead of a virtual machine.
When running on a Virtual Machine, the machine may report that it has sufficient hardware (cores) available, but in a virtual environment you need to make sure that this hardware is not being shared with lots of other virtual machines.
- Consider using hardware with more physical cores. PlanetPress Connect doesn't limit the number of Merge engines that is used for a Print job, so if the number of physical cores is low, it makes sense to see if that can be increased. When running on a virtual machine, this is usually easy. When running on a physical machine, it means that you may have to switch hardware.
- For both virtual and non-virtual environments, make sure the machine is not busy with all kinds of other processes.
|
|