Subject Large Blob Insertion
Author Brian Dunstan

I am inserting blobs of about 2.5 MB an finding it VERY slow, in the
vicinity of 3 minutes per blob. The funny thing is it seems to be the client
that is slowing the process.

When I post the blob the client cpu utilization goes to about 100% for about
3 minutes while the network remains largely inactive (I have separate client
and server computers).

It appears that most of the time is being spent in a procedure called
IB_ReallocMem in unit IB_Parse. Each time through it is increasing a memory
allocation by 4095 bytes all the way up to 11,629,632 bytes which is over
2,800 iterations (nearly 4 times the size of the blob). After that is done
then the network and the server get busy and after a further delay the post
is complete.

I have played around with various blob segment sizes and not found any
dramatic differences. I am currently testing with the maximum of 32,767

Another funny thing is that IB Monitor is reporting a segment size of 65535.

I am using a IBO 3.6Cf and IB 6.01. The components I am using are:
TIBODatabase, TIBOQuery with RequestLive, TDataSource and a TwwDBRichEdit. I
am using the TwwDBRichEdit to insert a OLE BMP object into a RTF document.

My workstation is Win 2000 SP1 with 256 MB and my server is NT 4 SP 6.

Am I doing something obviously wrong here, or is there some parameter I
should be tweaking to get dramatically better performance?

Are there any native IBO controls that will allow my users to edit RTF and
insert OLE objects into them with reasonable performance.

Thanks in advance for your thoughts.