Performance
Server and client
The performance depends on the complexity of the template and the hardware of the respective system on which the execution takes place.
An important difference in performance is the parallelization of multiple document creation. Connect as a protocol does not support parallelization, i.e. a batch of multiple documents is processed sequentially. However, the Document Creation Server can handle multiple Connect calls simultaneously.
In the following, the two options – batch and parallelization for individual processing – were examined for their behavior when the number of documents and the number of parallel requests varied. The aim of these measurements is to illustrate how these parameters influence the average processing time per document.
For the measurements the OneOffixx Connect Client (Windows) was used to simulate the calls. For the hardware, the following components were used: 4x virtual XEON 5120 @ 2.20GHz, 8.0GB RAM.
The templates used contained the most common case of a template configuration to recreate an example as close to everyday life as possible: document parameters, Recipient Dialog and Scripts.
Procedure
For a few documents in the batch or a few parallel requests, the measurement was repeated several times due to the low values (total processing time of less than ten seconds) and the resulting, strong percentage deviation, and the approximate mean value was used. For larger test series, the measurement was performed once. The percentage deviation is less significant due to the increased range of values (total processing time of more than five minutes). Specifically, the time difference between the first call and the last response was measured – connection setup, transmission time, etc. are included.
To calculate the time per document, the total processing time was divided by the number of documents generated. For the number of documents, each document was counted individually. So a batch call with 20 documents was counted as 20 documents.
Measurement
The measurements may contain minor deviations that occurred due to the establishment of the connection with the server, accesses to the database and similar network-related procedures in the processing process. By using the mean value for smaller test series, these deviations were largely compensated for. For larger test series, this deviation was ignored.
What was not explicitly measured was a combination of both options – parallel requests in batch processing. However, based on the two series of measurements performed, an assumption can be made about the behavior in the above-mentioned situation: If parallel processing is applied in addition to batch processing, the total processing time will decrease.
Evaluation
Performance for single document processing with parallel requests
In individual processing, parallelization of requests has a strong effect on processing time. Almost half the processing time can be saved per document. However, the number of parallel requests no longer affects the processing speed as the number increases – with five parallel requests, the time saved is about the same as with 100 parallel requests.
Performance for batch processing
In batch processing, the number of elements in the batch has almost no influence on the processing speed. This can be explained by the sequential processing.
Conclusion
It is noticeable that the average processing time for batch processing is somewhat longer than for individual processing. This is due to the fact that in batch processing, the documents have to be merged into one document each time. This takes additional time.
If a large number of unrelated documents are to be generated via the Document Creation Server, it is recommended to do this via individual documents and parallel requests:
- Time saving by parallelizing the requests.
- Individual documents as the result of each call. Via the batch, each individual document could be stored in a specific location using the SaveAs command, but the result of each document cannot be evaluated individually (see Batch processing).
A reduction in processing speed via the Document Creation Server is therefore possible precisely when requests are processed in parallel. On the client side, parallelization cannot be implemented and therefore no increase in processing performance is possible.