Memcache for WCF / .NET / Etc

245 views
Skip to first unread message

Jeff MacDuff

unread,
Feb 11, 2012, 11:26:51 AM2/11/12
to dotnet...@googlegroups.com

I have been working with a really old windows port of Memcache for a long time, and recently also playing around with the server install of AppFrabric cache.

 

What are people running for your cache systems? Is there a more up to date version of windows memcache floating around?

 

Has anyone tried using Azure cache service from a colo envirorment ?

 

-Jeff

Chris Kinsman

unread,
Mar 8, 2012, 10:57:13 PM3/8/12
to dotnet...@googlegroups.com
At the point you are reaching out of your colo to hit the azure cache it seems like you would need to have an awfully expensive query that you are caching the results of that going out over the public Internet with uncertain latency rather than requesting. You typically want your cache very close so latency is as low as possible and transfer of a large chunk is at LAN speed instead of wan speed.

Was there a reason you shyed away from app fabric in your colo?

Chris

Jeff MacDuff

unread,
Mar 8, 2012, 11:27:59 PM3/8/12
to dotnet...@googlegroups.com
We typically see query from colo --> azure or AWS at the 100 - 150MS round trip overhead. This overhead is so low it makes it very attractive to use Azure or elasticache rather than buying a bunch of boxes just to host ram. I agree calling out of the DC is a risk, but we already call out other items like file storage and CDN support.

We tried Appfabric for a few months and it worked ok. It seemed a bit heavier than Memcache and the SQL requirement is a bit heavy IMO.


Jeff MacDuff
CTO & Co-Founder, Buddy
Email:   je...@buddy.com

Chris Kinsman

unread,
Mar 8, 2012, 11:29:45 PM3/8/12
to dotnet...@googlegroups.com, dotnet...@googlegroups.com
For a cache 100ms is very slow

I am going to have to look at app fabric again. In its velocity incarnation there was no sql dependency. That makes no sense for the cache.

How big a cache do you need ram wise?

Sent from my iPad

Jeff MacDuff

unread,
Mar 8, 2012, 11:48:12 PM3/8/12
to dotnet...@googlegroups.com
Without going into details, at the low end I wouldn't want anything lower the 60 gigs.

The app fabric (former velocity) has to use a sql store for the cluster configuration, this assumes you run it on more than one machine. There is also a file system capability but it doesn't work very well when we tried it. http://msdn.microsoft.com/en-us/library/ee790954.aspx .

If you used app fabric for hosting it might be more worth it, but just for the cache it seems heavy to me. If you find an easier way would love to hear it.

What sort of cache do you run?

Scott Porad

unread,
Mar 9, 2012, 12:28:43 AM3/9/12
to dotnet...@googlegroups.com
We've had fantastic results with the AppFabric cache in our colo.  We're able to get data from the cache in 20-50 micro seconds.

I wasn't actually the person who set it up, so I only know enough to be dangerous, but I'd be happy to connect you with the person who did if you'd like more information.

Scott
--
Scott Porad
sc...@cheezburger.com               
All your funny in one place at http://cheezburger.com

Chris Kinsman

unread,
Mar 9, 2012, 1:16:50 AM3/9/12
to dotnet...@googlegroups.com
60gb is tiny. That is a small machine if you don't care about eliminating single points of failure. Looks like xmlconfig on a file share is supported but it would have to be dfs if concerned over reliability. Hadn't heard it had issues that I will have to checkout.

Sent from my iPad

Tom Lianza

unread,
Mar 9, 2012, 2:12:06 AM3/9/12
to dotnet...@googlegroups.com
We use the community edition of Couchbase, which has an identical "on the wire" interface to Memcached, is very actively updated, and is Windows-friendly:


The fact that AppFabric does not have a simple LRU-based eviction scheme and will, unlike Memcached, reject inserts if it's "full" ( http://msdn.microsoft.com/en-us/library/ff921030.aspx ) is a very fundamental difference in behavior.

It makes things like key-based expiration (  http://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works ) much harder than they need to be.

I also experienced the filesystem capability for storing configuration didn't work well.. it was very flaky, so between that and the bizarre (to me) eviction policy we went with Memcached.

Tom

---
Tom Lianza
CTO, Venpop
Skype: tlianza

Jeff MacDuff

unread,
Mar 9, 2012, 11:23:55 AM3/9/12
to dotnet...@googlegroups.com

Ya couchbase the other solution we have tried.  We hit an issue early on but was able to get a fix after working with their support team in the forums. I have to say working with their team was great, very responsive.

 

Yes 60 gig is tiny, our current cache is 300gig but for our platform which is mostly real time we don’t need a huge cache.   

 

Scott: would love to get more info on the general topology, how you handle the node configuration, what power shell scripts you use for admin, etc.

 

Jeff MacDuff

CTO & Co-Founder, Buddy

Email:   je...@buddy.com

 

 

 

From: dotnet...@googlegroups.com [mailto:dotnet...@googlegroups.com] On Behalf Of Tom Lianza
Sent: Thursday, March 08, 2012 11:12 PM
To: dotnet...@googlegroups.com
Subject: Re: Memcache for WCF / .NET / Etc

 

We use the community edition of Couchbase, which has an identical "on the wire" interface to Memcached, is very actively updated, and is Windows-friendly:

Reply all
Reply to author
Forward
0 new messages