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