memcached for win32, new java api

Gregory Block gblock at ctoforaday.com
Mon Nov 29 14:23:52 PST 2004


On 29 Nov 2004, at 17:20, Evan Martin wrote:
> I randomly stumbled across this:
>   http://www.ctoforaday.com/archives/000039.html
> which indicates they've almost got memcached building on win32 (why? 
> not
> sure...), as well as a "more adventurous" Java client that uses
> connection pools, worker threads, etc. for better performance.

Oh, yes.  I did quite a bit of work on it.  Then it got utterly stomped 
on, performance-wise, by the work done by meetup.

Mind you, I'm not using it as-is; the Meetup client has one of the same 
problems I had in the beginning, which is with the assumption that 
get-multi will only be used in a single-threaded manner.

However, the easiest way I've found of managing this is to actually 
just go ahead and create an object pool of memcached clients, and grab 
one out of the pool every time I need one in order to supply myself 
with the level of parallelism required.

For the most part, this works without a hitch.

> However, August 6th is the last time it's mentioned, so I'm CC'ing this
> mail to the memcached list to some guesses at the author that that blog
> post in hopes of attracting interest from lurkers on this list and
> getting him inspired to distribute/integrate his work.  :)


I did indeed to a truckload of work to get everything up and running 
under win32.  When used under cygwin, I was getting scary CPU lockups 
and random blue-screens out of the two folks using NT boxes at the 
time.

I've done a lot of work to get it to where it is, but quite frankly, it 
was just as easy to have one of those people instead point their dev 
servers at one of the other developers' unix boxen when testing their 
software; the live service is all based on linux anyways, and so we 
weren't looking for a solution we needed in production.

If someone wants to bear the mantle of managing that nightmare (I had 
to compile that blasted thing under VirtualPC on my mac.  Don't ask.) 
I'll very happily pass the torch.

The problem, as always, is libevent; it just isn't kept abreast with 
the libevent development; when I asked about a specific problem I was 
having with the author, he even handed me a patch - so it's clearly a 
known problem, it's just not well maintained on win32.

A bigger question would be to find out whether cygwin's behavior has 
improved, and whether those lockups have been solved.  If they have, 
cygwin is almost guaranteed to be a better environment, if for no other 
reason than not requiring the Win32 compiler suite.  :)



More information about the memcached mailing list