On Thu, 2005-08-25 at 18:30 -0700, Matt Roper wrote:
> Hi, I'm doing some research on user-level thread scheduling and was
> hoping to use MySQL as one of my test applications to measure the impact
> of various thread scheduling strategies. I'm now looking for a suitable
> benchmark suite to measure how MySQL performs with various schedulers in
> place. A few things that I've already looked at:
>
> * The benchmark provided in the sql-bench/ directory of the MySQL
> distribution appears to be entirely sequential and doesn't measure
> the performance of MySQL with a large number of concurrent users, so
> it isn't really suitable for evaluating thread schedulers.
Yes.
> * Supersmack (which appears to no longer have a website???) looks like
> a great tool for measuring the performance of MySQL under a large
> load, but the provided example smack files only perform simple
> queries/updates against a simple schema. It seems like Supersmack
> would be an excellent tool if I could find or write some smack files
> that used schemas/query barrels/datasets that were more
> representative of real-world applications.
>
> The reason I'm so interested in a benchmark that makes use of a more
> complex schema, query set, and data set is because my work deals with
> application-specific thread schedulers. In the case of MySQL, I'd like
> to examine, for example, how performance is affected when the thread
> scheduler takes into account things like the number of table locks that
> a handler thread holds. If I use a simple benchmark that performs
> simple queries/updates against a single table, it makes scheduling based
> on attributes such as lock count a lot less interesting.
>
> Could anyone suggest a benchmark suite that might fit my needs? I
> suppose I could use Supersmack and try to create smack files that
> mimic the workloads and query sets of websites like Slashdot or
> LiveJournal that make their code available, but it would be nice if I
> could find something that people already use for these types of
> benchmarks.
I would also take a look at SysBench and DBT2. SysBench has decent
number of queries which you can mix into transactions. DBT2 is the TPC-C
implementation so it should be real world like benchmark.
Please let us know as you have some results.
--
Peter Zaitsev, Senior Performance Engineer
MySQL AB, www.mysql.com