Focal Point Banner
Community Center Education Summit Technical Support User Groups
Let's Get Social!

Facebook Twitter LinkedIn YouTube
Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [Sharing] Large or multiple Compound Reports with NOBREAK, poor performance
Go
New
Search
Notify
Tools
Reply
  
[Sharing] Large or multiple Compound Reports with NOBREAK, poor performance
 Login/Join
 
Expert
posted
I've been having problems with a set of PDF statements, and have tried many different solutions to try and get the performance a little quicker.

Background
The statements are made up of several components that in most cases need to follow the previous component, i.e. a NOBREAK.

This particular statement run will produce 2,500 statements.

Problem
As mentioned in a previous post, I tried a compound layout to do the whole thing, and found an issue at component 10,001.

So I changed the process to only have small compound layouts. This started out great,
the first 100 or so statements were produced every 3 seconds, but as the processing moved on, the performance degradation increased until I had to kill the report after almost 24 hours and about 1500 statements.

I changed things around and made sure that all hold files going into the statement build were FOCUS files, as there was a big loop creating each statement one at a time.

This improved things marginally.

Next, changed the process to use the old COMPOUND OPEN/NOBREAK/CLOSE. This started very quick, but again the same degradation happened, and after a couple of hundred statements the degradation was worse than using the COMPOUND LAYOUT command.

Here is a graph of the performance of the 1500 statements.



Solution
Working on the idea that the old COMPOUND OPEN/NOBREAK/CLOSE is initially quicker, and that the current agent has some sort of issue with multiple or large compound documents that have NOBREAK functionality in it, I decided to try creating each statement in a new agent. This is done with a REMOTE DEST LOOPBACK, and some code.

The process goes...

  • Write all hold files used in the statement created as FOCUS files. No need to use FILEDEF to allocate the files.
  • Write out the required code to a temporary fex TMP_FEX
  • Get the agents temp location with TEMPPATH
  • Add REMOTE DEST LOOPBACK
  • Add -REMOTE BEGIN
  • Add APP MAP TMP_PATH to the temp path
  • Add APP PATH TMP_PATH + any others needed.
  • Add EX TMP_FEX required variable list
  • Add -REMOTE END
  • Add REMOTE FIN LOOPBACK to end this agent, otherwise the next call will use the same agent.


Here is a graph of the performance with the new code for all 2500 statements.



And the comparison.



All 2500 were created within 3 hours.

This message has been edited. Last edited by: Waz,


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6292 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Reply With QuoteReport This Post
  Powered by Social Strata  
 

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [Sharing] Large or multiple Compound Reports with NOBREAK, poor performance

Copyright © 1996-2018 Information Builders, leaders in enterprise business intelligence.