Subject Re: [firebird-support] Blob write to Embedded on Linux performance
Author Mike Ro
I am sorry to bump this, but has anyone else got experience of using blobs on Linux?
 

I am using Firebird embedded (2.5.2) on Linux (Ubuntu 14.04) via IBPP with a completely default firebird.conf.

My hardware is a Dell Optiplex 755, Intel Core 2 Duo @ 2.33GHz with 4Gb RAM and a 2Tb Western Digital WD20EARX-32P hard disk.

When I use IBPP to write a blob (actually a music MP3) to a simple test database (which contains about 12 tables with 6 records in each) it takes around 35 seconds to write a 10Mb file.

The bottleneck seems to be when IBPP is writing a segment:

(*gds.Call()->m_put_segment)(status.Self(), &mHandle, (unsigned short)size, (char*)buffer);

The blob type is zero and has a segment size of 4096, I have matched this so the segment is written 4096 bytes at a time. I have tried smaller and larger sizes with little change in performance.

I see similar performance inserting a blob using Flamerobin, but that is of course hardly surprising. Reading the blob is instantaneous in all cases.

My question is: Is this the sort of performance I should be expecting or is there something wrong?

TIA