Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Strategy to optimize speed of GeneratePDFService?

BjornEricsson1
Level 3
Level 3

I'm working on a process that use GeneratePDFService to convert MS Office file types to PDF/A. I have seen delays around 4-5sec for a 450kb PPT file. I have ruled out excessive network delays since I can see the corresponding spike in Task Manager. Is that normal where the server is Win2008 R2 with 6GB RAM on Xeon E5-2699 2.20GHz? What can I do with to optimize this in the process or in AEM Forms (JBoss)?

1 Reply
lesutton1
Level 3
Level 3

Converting office documents is a very CPU intensive operation, adding another CPU may definitely help the process but 4-5 seconds is not unheard of. However, when you perform the conversions, are you timing the 1st conversion or are subsequent conversions the same as the 1st (since office has to be opened on the first conversion)? Also, can you multi-thread more than one PPT at the same time with the same output time. ie: it takes 4-5 seconds for 1,but does it take 4-5 seconds to process 2 or 3 files at the same time.

Mayank_Gandhi
Community Advisor
Community Advisor

There are many variables that come into picture when you look at your process performance ; it may be what are the other current processes running on the server , concurrency[0] , CPU core ,although you may have 6Gb but how much is the server allotted with.

Your PPT may contain numerous image, formatting ,graphs ,charts which might take time. 

[0] http://help.adobe.com/en_US/livecycle/11.0/AdminHelp/WS92d06802c76abadb-5145d5d12905ce07e7-7e87.2.ht...

As Lee said, it will be interesting to see how the consecutive request responds to the conversion .

BjornEricsson1
Level 3
Level 3

The machine I have mentioned is only for development. I will initially only send one request at a time and if that one can not go under 4 sec, then how will multiple concurrent ones do? Will beefing upp the HW help timing of single requests or only help so that multiple concurrent request don't get even worse timing?

lesutton1
Level 3
Level 3

The reason I asked about experimenting with multithreading is because I've frequently noticed that when looking at CPU usage, while doing the conversion it may not be maxed out. So, when running tests, you may be able to process more than one file at the same time and actually come out with the same processing time. So, while 4 seconds may be long for a single file, you may be able to process 2 files in those 4 seconds.