MARK CALLAGHAN wrote:
On Thu, Sep 24, 2009 at 9:11 AM, Jay Pipes <[email protected]> wrote:
Hi Mark!
Is there a reason you are using the pool_of_threads scheduler in Drizzle?
Is this a requirement on your end? We've found that the pool_of_threads
scheduler has serious performance problems and we recommend using the
default multi_thread scheduler. In addition, to get an apples-to-apples
comparison, I would advise using multi_thread, as MySQL < 6.0 does not have
a pool of threads scheduler anyway.
I wasn't using pool-of-threads. It took me a while today to figure out
how to use pool-of-threads today. It turns out that the results I
reported were for multi-thread. SHOW VARIABLES doesn't report the
value for scheduler, so I was uncertain about which scheduler was
used. This lists the number of seconds for 16 concurrent sessions to
each run 1M statements:
129 -- 5.1.38 + innodb plugin 1.0.4 + latin1
139 -- 5.1.38 + innodb plugin 1.0.4 + utf8
130 -- 5.1.38 + innodb builtin + latin1
162 -- drizzle + innodb plugin 1.03 + utf8
Times for pool-of-threads are much worse. I won't report them here as
I don't think this workload is a good fit for pool-of-threads.
OK, thx.
In addition, you will see serious performance bottlenecks if TCMalloc is
installed on your benchmark server. MySQL's memory allocation procedures
simply do not like TCMalloc.
Or you used a slow & old version of tcmalloc as Domas has suggested on
your blog.
http://jpipes.com/index.php?/archives/296-Drizzle-Performance-Regression-Solved-TCMalloc-vs.-No-TCMalloc.html
No, I retested with the most current version and saw no difference at
all -- there was performance degradation using tcmalloc over no-tcmalloc.
I did not use tcmalloc in this case. At my previous employer,
performance with tcmalloc was always much better than without. At my
current employer I use a different version of Linux and tcmalloc
doesn't improve things. I have yet to see it make things worse.
OK, no prob.
We're always looking for more information on improving our performance
numbers, of course, but, like we found before with the Sun application
performance group, while the results show Drizzle has some performance
degradation over MySQL 5.1, nobody can tell us why that is the case, and
when we run OProfile or DTrace comparing MySQL and Drizzle, there is
virtually *zero* difference in the percentage of time spent on various
things...it's truly baffling, especially considering both profilers show
us having much fewer global contention points... :(
In addition, as you know, we've been focusing on getting better
scalability on much higher concurrency levels than you are testing with.
Sure, we are trying to increase the overall performance, but the focus
is on getting scalability for 1000s of concurrent connections. Does
Facebook really have an average concurrency level of 16?
-jay
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp