First of all, I would like to say that I'm very clear on FOP not being ready
for official production. I've read all the disclaimers in the archives. 

But if it please the court, I'd like to run some numbers by the experts here
just to get your quick opinions on whether these numbers seem about right
and if there's anything basic you think I could do to boost performace from
the FOP standpoint.

I'm not asking anybody to rack their brains, just get any feedback I can. My
PDF document is very basic, I can even eliminate images if necessary. I'd
love to hear that there's some low-hanging fruit I can pluck to double my
performance in a case like this. I'd be happy if I could get about the same
performace on the HP box that I'm currently getting with the NT box.

I'd also be more than happy to share my results and anything else I learn
along the way in this project. I'll be sure to share anything I find that
boosts performance. Right now I'm working on the machine level tweaks, next
comes app server, then finally FOP settings. Also I'd be willing to run any
tests if anyone wants to measure performance on an HP server or Weblogic.

To benchmark I used FOP to render a 200 page PDF document from an XSLT
transform on a static XML-file (no database connection is involved). The
XSLT transform takes very little time compared to the FOP renderer. I've
attached a smaller, but otherwise identical version of the PDF doc I'm using
to benchmark. I've tried a DomSource for input, a SaxSource, and the
XSLTInputHandler. The results are almost exactly the same in each case.

Below are the results I see. Initial heap size=max heap size in each case.
Each server is running the latest JDK 131 (w/Hotspot). (I have set all the
HP system variables (max_thread_proc, etc.) to Sun recommendations.)

Nt dev box (NT4-Worksatation, PIII-933mhz, 512MB ram):
Heap Size=64M, 1 report   =  251ms/page 
Heap Size=64M, 2 reports  =  750ms/page 
Heap Size=256M, 1 report  =  245ms/page
Heap Size=256M, 2 reports =  500/page

HP server (HP-Unix, 2x550 mhz, 2GB ram):
Heap Size=64M, 1 report =  545ms/page (frequent out of memory errors)
Heap Size=64M, 2 reports  =  didn't try
Heap Size=256M, 1 report  =  372ms/page
Heap Size=256M, 2 reports =  1700ms/page
Heap Size=512M, 1 report  =  350ms/page
Heap Size=512M, 2 reports =  1675ms/page

The only difference I can see for sure between the two boxes is that the NT
machine performs at least 10 times as much garbage collection. (Sometimes
several times per page, as opposed to once every 8-10 pages on the NT box.)
Garbage collection occurs a little more frequenly on the HP box when I lower
the heap size, but still not nearly as often as on the NT--at any heap size.
Also the HP box runs out of memory if I lower the heap size. I was hoping
this was due to some HP setting, but I'm starting to come to the conclusion
that it's just some difference in the hotspot implementations.

Thanks a lot for any input,  and I wan't joking about that fruit basket
before.

Matt Savino
Quest Diagnostics



 <<pvh.pdf>> 

pvh.pdf

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to