Kevin Lewis wrote:
> One of our community testers has noticed that changing
> innodb_log_files_in_group from 2 to 6 gives dbt2 ~8%
> gain with 10 warehouses and 32 connections.
> It gives a hint that there is an optimization opportunity
> on a single serial log for Falcon which has lots of
> syncWrite contention, from SerialLog::flush,
> SRLUpdateIndex::append, and SRLUpdateRecords::append.
> >Ann Harrison noted;
> >One important aspect of the Serial Log is that it is
> >*serial* - events are logged in the order they occur.
> >It may be possible to maintain that property while
> > writing to two different files in parallel, but it
> > will certainly complicate managing the log.
> >We need to find another way to reduce contention.
Here's a starter.
Rather than building serial log messages directly, build them in a
separate stream, then get the serial log lock, copy the crud in, and get
out. It's less efficient, but should reduce the time holding an
exclusive lock on the serial log, increasing concurrency.
Prototyping with SRLUpdateRecords and SRLUpdateRecords should be easy
and give a good whether the idea is worth pursuing.
President, NimbusDB, Inc.