memcached and streaming

dormando dormando at rydia.net
Mon Feb 4 08:04:15 UTC 2008


Dustin Sallings wrote:
> 
> On Feb 3, 2008, at 23:05, dormando wrote:
> 
>>> ...And binary protocol got rid of mget, because everyone is supposed
>>> to go streaming ;).
>>
>> ... we'd need to use it to refactor the binary tree to not write single
>> packets for mget. This is one of my major concerns for the binary tree
>> as-is, but I've had no time to really figure it out. While cork/nopush
>> should give us the desired effect of coalescing packets, we'll still
>> save significant performance (especially on the BSD's) if we can combine
>> the syscalls down some.
> 
> 
>     I'm using all the iov stuff assuming it will do the right thing. 
> What it does not do, however, is explicitly state that the server should
> stop and then start transmitting.
> 
>     Basically, the reception of the first silent get should cork, and
> the next command that isn't silent should uncork.
> 

Yup. Ah shit, I should just cram through that this week. I'll ping back
with some updates.

So I think the plan is to toss out some -rc's on wednesday. 1.2.5-rc and
1.3.0-rc, with the two diverging a little bit until we can confirm the
streaming performance of the binary tree is acceptable.

Then the two can be quickly merged and Dustin and Tomash given medals of
honor and purple hearts for the amount of pain it's all gone through.

-Dormando


More information about the memcached mailing list