Just get up, glad to see so many feedbacks:) On Thu, Jul 30, 2009 at 12:40 AM, MARK CALLAGHAN <[email protected]> wrote:
> On Wed, Jul 29, 2009 at 3:11 AM, Biping MENG<[email protected]> wrote: > > > Currently the size of pool of threads is fixed to 8 by default > > (sysbenches on more than 8 cores platforms should produce nearly the same > > results as 8 cores platform does; from 9th on, cores idle for most of the > > time). But I think it really should be easy to set when starting drizzled > > (like providing a option, say, --pool-size=XXX ), for the size has a > quite > > tight relationship with the number of CPU cores available which varies on > > different machines. Thoughts? > > Earlier threads about your work mentioned rescheduling threads on any > event that requires a long wait (IO, row lock, ...). Is that part of > your patch? The problem you mentioned is just one of the most serious causes of poor performance. This requires nonblocking I/O in the Protocol implementation. Besides, we are planning on a stateful execution engine with which we always know what are these sessions doing at any time, and of course then it'll be easy to determine whether to yield or not! It's a great plan, and needs further work on the giant execution code. However, currently this work is not included by this patch. > For example, how does Drizzle with this patch behave when > the pool size is 8 and 8 sessions block in InnoDB on the auto > increment lock for a table? It performs the same way as the original pool of threads plugin does. And as far as I know, it depends! If you are curious about how the scheduler behave, check out the libevent_needs_immediate_processing(Session*) function in file plugin/pool_of_threads :). > > > -- > Mark Callaghan > [email protected] > -- Cheers. Biping MENG
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

