Subject Re: [firebird-support] performance problem with blobs on linux but not on xp
Author Helen Borrie
At 03:33 PM 29/07/2004 +0000, you wrote:
>got a problem that i can not seem to find the answer to.
>firebird 1.5 (4306) is running nicely on my XPbox(local) and on my
>linuxBox (network). i have written an application in C# that uses the
>.net container for firebird.
>one of the tables has a blob as an attribute.
>##### linux via network #####
>if i insert a large file (40MB mp3) then it takes about 12 sec
>for the database to process the data, which is great.
>the problem arises, when i want to extract the blob using a standard
>"select attachmentData from attachment where ....".
>on the linux machine it takes 25 min. yes, MINUTES!!!
>##### XP locally #####
>insertion takes about 40sec.
>the retrieval only takes about 6 sec, the way it should be ;)
>anyone got any ideas ?
>even though the XPbox is 700MHz faster and hast 256MB more RAM
>than the linuBox, it is still about 3 times as slow. the insertion
>part shows it as well.
>have tried different settings in the config files on linux, but nothing.
>running the server version on both machines.
>the database was just set up, so hardly any data in it (1.4MB).

What about the 40 Mb blob?

If there *is* actually a 40 Mb blob stored in the database, and your page
size is the default 4Kb, that's a heck of a lot of page reads to retrieve
one blob. (At least in a new database, it's likely the pages are
contiguous...) Is there anything interesting about the filesystem?

There's not enough information here to even begin accounting for the
platform difference. Like, how much RAM is available? what's the retrieval
statement? How are you measuring retrieval time? (What's the application
code doing with the blob once it arrives?) What transport protocol is
being used? What Server model (Classic/SS)? What page size? cache size?