Expand my Community achievements bar.

SOLVED

AEM Forms output Service

Avatar

Level 2

Hi All,

 

I am trying to create pdf using AEM forms output service. Can the output service handle multiple request for pdf generation at the same time.

 

Thanks

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

@Aditya-Singh 

Subsequent requests will be queued until one of the 8 XMLForm service processes is released back to the pool. The incoming requests will bounce back/timeout in case none of the threads are available to process the request after a particular time period.

View solution in original post

5 Replies

Avatar

Employee Advisor

@Aditya-Singh 

You can use Watched Folders with output service to merge data with the template in batch mode.

Here is an article with a similar use-case implementation for output service - 

https://experienceleague.adobe.com/docs/experience-manager-learn/forms/document-services/watched-fol... 

 

 

 

Avatar

Level 2

Hi ,

 

Actually, A third party is hitting our servlet and posting an XML as an input stream which we are using to generate PDF at the run time . I just wanted to confirm in a distributed system if we are hitting multiple request for the PDF generation then is there any performance issue and will the parallel processing of PDF possible . Any other problem can we get in the near future for the generation of PDF.

 

Thanks,

 

Avatar

Employee Advisor

@Aditya-Singh 

There are multiple tweaks that you can do to boost the performance of the set-up, given the implementation. 

This document[0] provides a basic guideline for performance tuning with AEM Forms instance.

These document services (Output service included) use XMLForm processes under the hood, so you may want to tune this value (the current default value for PoolMax is 4). The actual value to set depends on the hardware configuration and the expected usage in your environment.

For optimal use, the lower limit of PoolMax should not less than the number of available CPUs. Generally, the upper limit should be set to twice the number of CPUs cores on your server.

So if the number of cores on the system is 4, then you can set the value of XMLForm service processes to 8 max. This will ensure eight parallel processes are spawned to cater to the incoming requests. You can set this value under xmlform.bmc.name config on the configuration manager with a Maximum number of processes to launch value.

 

[0] - https://experienceleague.adobe.com/docs/experience-manager-64/forms/install-aem-forms/configure-aem-... 

 

Avatar

Level 2

Hi @Pulkit_Jain_ ,

 

if we have 4 cores and we have set the configuration as 8 and suppose we are hitting more than 8 request (10,11,12...) then what will happen to the 9th and subsequent request will they wait in the queue or bounce .

Thanks.

Avatar

Correct answer by
Employee Advisor

@Aditya-Singh 

Subsequent requests will be queued until one of the 8 XMLForm service processes is released back to the pool. The incoming requests will bounce back/timeout in case none of the threads are available to process the request after a particular time period.