Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 4 of 4 total |
Large BLOB updating performance |
Tue, May 26 2009 8:53 PM | Permanent Link |
David Michael | I'm using Delphi 2007 and EDB 2 Build #11. Unicode. Large Files.
I've noticed a ballooning performance problem when I update a blob field with a large stream. I use TEDBBlobStream and write directly to the blob stream. If the stream exceeds ~2 MB, the time required for EDB to finish a "Post" begins to get noticeably longer. At ~12 MB, the time required for the "Post" to finish takes about 1 minute (which is about 2X as long as it takes for 10MB, which is 2X as long as it takes for 8MB). Writing the same stream straight to disk takes less than a second. And stepping through the code, nothing gets laggy until I hit the "TEDBTable.Post" call. Is there some configuration setting I've missed? I expect a bit of delay saving a 12MB blob, but not that much. The table has an integer ID field and 3 BLOB fields. The other blobs will seldom get more than a few KB total. Would the interaction of small and large blobs cause this? Thanks. -David |
Wed, May 27 2009 2:25 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | David
Have you tried experimenting with different blobblocksizes. If you have wildly varying sizes of blobs for the different columns you're going to have to balance disk space against performance. Roy Lambert [Team Elevate] |
Wed, May 27 2009 3:03 PM | Permanent Link |
David Michael | Roy Lambert wrote:
Have you tried experimenting with different blobblocksizes. If you have wildly varying sizes of blobs for the different columns you're going to have to balance disk space against performance. Ah, good. Something simple I overlooked. =) I set the blob block size for the table to 8192 and suddenly everything is peachy. I'll play with a few other sizes (smaller and bigger) and see what seems the best fit. Thanks! -David |
Thu, May 28 2009 4:07 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | David,
<< I set the blob block size for the table to 8192 and suddenly everything is peachy. I'll play with a few other sizes (smaller and bigger) and see what seems the best fit. >> Coming in late here, but yes, the BLOB block size makes a huge difference in performance, and the default size of 512 bytes is sufficient for most text, but not for very large BLOBs. 8k is a good choice, but if all of the BLOBs in the table are very large (MB or higher), then it might pay to go up to 16k. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Tuesday, April 30, 2024 at 03:55 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |