On Mon, Mar 16, 2009 at 12:38 PM, Jay Pipes <[email protected]> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> MARK CALLAGHAN wrote:
>> On Mon, Mar 16, 2009 at 10:57 AM, Brian Aker <[email protected]> wrote:
>>> 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.
>>
>> Jay,
>>
>> Can you give more details on the case where pool-of-threads makes
>> anything faster? I have no problem making sysbench throughput 2X
>> slower when pool-of-threads is used with MySQL 6.0.
>> http://bugs.mysql.com/bug.php?id=42288
>
> I didn't say that; krow did.  I've never seen pool-of-threads perform
> better than the multi-thread scheduler for anything and most times it
> can't even make it past 16 threads in benchmarks.
>
> I hacked up a new scheduler yesterday which uses a scoreboard system and
> am waiting for krow to merge my latest changes into trunk so I can
> benchmark it.  I'll keep the list updated on that.
>
>> Did drizzle make significant changes to this when porting it?
>
> No. it's almost identical to 6.0.
>
> Cheers,
> Jay

That is good for me then. We backported it as is from 6.0 to 5.0.37.
We have the same problems to solve.

>
>>>> 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
>>>
>>
>>
>>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkm+qp0ACgkQ2upbWsB4UtHStgCfbv5IznOltpwuwPS5p2IlbxwS
> Qh8An3aGPcarFR5uVZ5y26oervY8YF90
> =HPbK
> -----END PGP SIGNATURE-----
>



-- 
Mark Callaghan
[email protected]

_______________________________________________
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