Highlighted

Strategy to optimize speed of GeneratePDFService?

BjornEricsson1

20-03-2017

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)?

Replies

Highlighted

lesutton1

20-03-2017

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.

Highlighted

Mayank_Gandhi

Employee

20-03-2017

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 .

Highlighted

BjornEricsson1

22-03-2017

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?

Highlighted

lesutton1

22-03-2017

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.