0

I can't find enough data about pdf generation performance. I'm planning to create some system and one of its features is to generate PDFs. Mostly simple ones that have about 3-5 pages only with text and tables, occasionally some logo. What's bothering me is the requirement to support high user traffic (about 2500 requests per second).

Do you know any tools (preferably in java) that are fast and reliable to serve that bunch of users as fast as possible ? How long will it take to serve this amount of people on a single, average machine? I would appreciate any info about experience on this topic.

Radek Busz
  • 313
  • 4
  • 12
  • See http://stefan.fenz.at/creating-pdfs-on-android-an-evaluation/ for an overview of libraries on Android. All these libraries also work on Java. – Bruno Lowagie Jul 10 '14 at 15:08
  • Also read http://stackoverflow.com/questions/24568386/set-baseurl-of-an-existing-pdf-document where somebody says that iTextSharp (the C# version of iText) is approx 10 times faster than Adobe's PDF library. – Bruno Lowagie Jul 10 '14 at 15:10
  • Although they say that the Adobe library got a serious overhaul some 5 or so years ago, making it considerably faster. But I did hear about the slowness of the Adobe library before that time (where compared to another library, there was a factor 60 or so). – Max Wyss Jul 12 '14 at 09:48

1 Answers1

1

You almost certainly have to execute some tests with your typical workload on your typical machine. This is probably the only way you can evaluate whether any tools will be able to do what you need.

2500 requests per second is a non-trivial requirement so you are right to be concerned. If that 2500/sec is a sustained load and each request has to produce the 3-5 page pdf you simply might not be able to keep up on a "single average machine". It's not only processing power you'll have to consider, but memory and IO performance.

From experience iText is fast and Docmosis has some built-in facilities to distribute load to other hosts. I've seen both working stably under load. Be careful with memory management when you have that many documents on the fly - if you fall behind you might "blow up" no matter what document engine you use.

Paul Jowett
  • 6,513
  • 2
  • 24
  • 19