Subject | RE: [firebird-support] BLOB |
---|---|
Author | Leyne, Sean |
Post date | 2014-10-10T14:02:52Z |
Carlos,
Does the rows/second rate reduce? Yes
Does the disk MB/second rate significantly increase? Yes
The problem can be attributed to the disk throughput limitations.
Blobs are large objects, so when they are being backed-up the speed is limited is the IO performance of the disk subsystem -- which would cause the rows/second rate to drop. Remember blobs larger than available free space on data pages are written to separate blob pages, which requires extra disk reads.
A 1MB blob in database with 8KB page size requires 128 reads (random IO operations) in order to load the entire blob, most 7200RPM HDD devices have 4KB random Read IO performance of only 150-175 IO/second.
Sean
> LSSBcfs> Our application uses BLOB fairly extensively and can reportIt is all in what you are measuring to define "slows down".
> LSSBcfs> that the GBAK disk write rate increases very significantly when
> LSSBcfs> tables with Blobs are being backed-up, orders of magnitude
> LSSBcfs> faster than tables with small rows (YMMV), so this suggests
> LSSBcfs> that SEGMENT SIZE does not have any effect on GBAK.
>
> Interesting, usually my experience is just the opposite: gbak usually slows
> down in tables with blobs.
Does the rows/second rate reduce? Yes
Does the disk MB/second rate significantly increase? Yes
The problem can be attributed to the disk throughput limitations.
Blobs are large objects, so when they are being backed-up the speed is limited is the IO performance of the disk subsystem -- which would cause the rows/second rate to drop. Remember blobs larger than available free space on data pages are written to separate blob pages, which requires extra disk reads.
A 1MB blob in database with 8KB page size requires 128 reads (random IO operations) in order to load the entire blob, most 7200RPM HDD devices have 4KB random Read IO performance of only 150-175 IO/second.
Sean