here are the suggestions from the MySQL folks, what additional tests
should I do.
I'd like to see some tests submitted that map out when not to use a
particular database engine, so if you have a test that you know a
particular database chokes on let me know (bonus credibility if you
include tests that your own database has trouble with :)
David Lang
---------- Forwarded message ---------- Date: Thu, 01 Dec 2005 16:14:25
David,
The choice of benchmark depends on what kind of application would you
like to see performance for.
Than someone speaks about one or other database to be faster than other
in general, it makes me smile. That would be the same as tell one car
would be able to win all competitions starting from Formula-1 and ending
with off-road racing.
There are certain well known cases when MySQL will be faster - for
example in memory storage engine is hard to beat in point selects, or
bulk inserts in MyISAM (no transactional overhead).
There are certain known cases when MySQL would not perform well - it is
easy to build the query using subqueries which would be horribly slow on
MySQL but decent on postgresql... but well writing application for
MySQL you would not write such query.
I think most database agnostic way would be to select the "workload"
from user point of view and have it implemented the most efficient way
for database in question - for example you may find TPC-C
implementations by different vendors are a lot different.
For my own interests, I would like to at least cover the following bases:
32 bit vs 64 bit vs 64 bit kernel + 32 bit user-space; data warehouse type
tests (data >> memory); and web prefs test (active data RAM)
You may grab Dell DVD store:
http://linux.dell.com/dvdstore/
for Web benchmark. It does not have PostgreSQL build in but there some
implementations available in the Internet
DBT2 by OSDL is other good candidate - it does support postgreSQL and
MySQL natively.
If you want some raw performance number such as number selects/sec you
may use SysBench - http://sysbench.sourceforge.net
For DataWarehouse workloads you could grab TPC-H or DBT3
implementation by OSDL - We run this successfully with MySQL
You also could take a look at http://benchw.sourceforge.net/