FYI (This was an internal reply I made, but I believe anyone on the list would find it interesting).

Begin forwarded message:

Hi!

On Mar 16, 2009, at 1:29 AM, Jay Pipes wrote:

Frankly, libevent is being used entirely incorrectly in pool_of_threads
plugin...

Yep!

Though even in its current state if you are doing just primary key lookups it will outperform the threaded handler (spin up slap on the key test). The problem is that you need to be able to catch a IO event on a non-blocking port to make better use of it.

Though... the problem still exists that a port that continues to "block" will hold up any other transactions that will conflict. In the current state this is a bit worse then what it should be because we are not releasing to another sessions well enough (aka... we need to do this on IO event). Even fixing that though... this type of scheduler will only really work for cases were you have short transactions, or a large amount of read IO. In the end, libevent just gives us a scheduler for one particular type of IO.

Long term? Some sort of scheduler that can grow or shrink... or possibly something where we can really do priority in the queries (aka... connect into the optimizer and use estimated cost).

Cheers,
        -Brian

--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/                     <-- Me
http://tangent.org/                <-- Software
_______________________________________________________
You can't grep a dead tree.




_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to