How to implement -Bp in Appserver Environment

ProressDBA

New Member
Hi All,

Have anyone implemented private buffer parameter (-Bp) in an appserver environment? If so kindly share with me please as I "feel" all buffers are eaten up during month-end process. We would like to designate one user exclusively to work on reports and leave rest using or OLTP application. Our application is webspeed based and we use Progress 10.1b on linux.

Thanks in advance.
 
Set it to some value that you're comfortable with and let it rip. You can do that via the session startup parameters for the process that is running the reports or you can do it via a "wrapper" .p that tweaks _myConnection._myConn-numSeqBuffers.

Also, if anyone reading this is running v9... do not implement -Bp. There are bugs and your db will eventually crash.

Are you sure that you don't just need to increase -B to some reasonable value?

You might also want to consider what your month end reports are actually doing and whether or not efforts could be profitably directed at improving their efficiency. IMHO there are usually enormous opportunities for code improvement when people start considering -Bp.
 
Hi,

I face the same issue too. During clien/ server days if I had to use private buffer I use -bp in the .pf of my PC. Now with browser as user interface where can I add client parameters. If the machine that hosts appserver ubroker.properties is modified to accomodate new changes, how shall I make sure only my PC is using private buffers.

TIA
 
If you really, really want to you could provide -Bp as a startup parameter to the AppSever / WebSpeed agent. But you should be aware that this is static setting which might only make sense for runtime clients for which you know that will read large amounts of data which will destroy the benefit of the database's buffer pool for most of the other users. As soon as you update that data they will no longer be in your private buffers.

It makes much more sense, IMHO, using private buffers on porpuse when there's a real benefit instead of just giving each client it's private buffers by default. For example when you know that there's code in your programs which do such bad things to the buffer pool of the database, allocate the private buffers immediately before that code gets executed and realase it immediately after. You just need to set the _MyConn-numSeqBuffers field of the _MyConnection virtual system table.

Regards, RealHeavyDude.
 
Back
Top