Hi Tim,
On 12/04/2011, at 8:36 AM, Tim Soderstrom wrote:
On Apr 11, 2011, at 3:32 PM, Patrick Crews wrote:
We removed PBXT, CSV, blackhole, filesystem_engine, and maybe
archive...lack of interest and support
Monty mentioned the reason for PBXT. I would be sad to see ARCHIVE
go since it's INSERT performance is so fast - even if it's use-case
is rather tiny (I use it for a few things). To be fair, I haven't
benchmarked ARCHIVE's INSERT performance in some time and have never
compared it to INSERT performance of other engines under Drizzle.
The insert performance of ARCHIVE is a nonsense, and always has been.
You can verify this for yourself by
a) noting that you max out the CPU, not the disk I/O. From this you
can conclude that the overhead is in the parser and other handling,
not the reduction in disk I/O that Archive delivers.
b) achieving similar performance with other engines, by properly
optimising the path between the app and the db: multi-row inserts,
proper buffer settings. Doing this, in MySQL I was able to get >340k
row inserts/sec on a single thread on MyISAM. InnoDB was lower, in the
80-120k row/sec range but that could've used a bit more tuning.
With the MyISAM example noted above, I was again maxing out the CPU
not the IO, thus I could even start a second insert thread on the same
table (which introduces contention on MyISAM!) and get even more
performance out of the box, before saturating the IO path.
In short, ARCHIVE "solved" a problem (resolving I/O saturation by
using extra CPU power) that didn't exist in the first place.
Multi-row inserts rock, and tuning is important as is understand how
the server works.
There may be a valid case for a new bulk-load system in MySQL and/or
Drizzle. However that's only relevant for bulk stuff not for sustained
inserts. I tend to batch the latter so the multi-row inserts can be
used again.
I also found that PBXT has very good sustained insert performance,
whereas InnoDB degrades since after initial time it has to do more I/
O. That's not news really as this attribute is clear from PBXT's
design. So if you need very high sustained insert performance, you
actually want PBXT.
Cheers,
Arjen.
--
Arjen Lentz, Exec.Director @ Open Query (http://openquery.com)
Remote expertise & maintenance for MySQL/MariaDB server environments.
Follow us at http://openquery.com/blog/ & http://twitter.com/openquery
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp