Capacity planning for a document generation service with Aspose Words Java

Hello Team,


We are designing a document generation service based on Aspose Words for Java. Basically, the service is supposed to generate reports in PDF based on templates in Docx format. We have the following major Non-functional requirements:

Maximum size of Document to be generated : 1000 pages (including tables, images etc.)
Expected number of concurrent transactions - 15
Expected Response Time : 5 seconds

Could you please suggest the infrastructure setup required to meet the above requirement? Specifically we are looking for the below aspects.

  1. Recommended Heap Size
  2. Recommended number of CPU cores

Thanks in advance for the suggestions.

Regards,
Manu

Hi Manu,


Thanks for your interest in Aspose.Words for Java. Unfortunately we have no benchmarks available for performance/memory tests yet. Generally, the processing time and memory usage fully depend on your documents and their complexity.

Aspose.Words needs few times more memory than document size to build model of the document (DOM) in memory. For example if your document’s size is 1 MB, Aspose.Words needs 10-20 MB of RAM to build its DOM in memory. Multiplier depends on format because some formats are more compact than others. For example DOCX format is more compact than DOC and RTF, and DOC is more compact than RTF.

Also, when it comes to rendering a document to fixed page formats (e.g. PDF), Aspose.Words needs to build two model in the memory – one for document and the other for rendered document. Aspose.Words utilizes more memory when you render a document than when you simply save a document in flow formats (e.g DOCX). Roughly during rendering, Aspose.Words layouts 10 pages per second; so, the extra amount of time Aspose.Words takes to format a document into pages depends on the number of pages your Word document has. Hope, this helps.

Best regards,