<HTML>
<HEAD>
<TITLE>Re: Largest production memcached install?</TITLE>
</HEAD>
<BODY>
<FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>Our db load averages tend to range from 0.25 to 4.5 or so, depending on which particular hosts you&#8217;re looking at. More of them at the lower end of that range than the upper end.<BR>
<BR>
When we need to do more major surgery to our memcached configuration, we do it at the lowest-usage time of day to minimize the impact on the site. Our cache is partitioned into different sections so we can take down part of it at a time (to upgrade to a new memcached build, say) without losing the whole cache.<BR>
<BR>
We consider memcached a critical part of our infrastructure. The benefit of memcached in a typical setup is to reduce the amount of database hardware you need to support an application; if you have enough database horsepower to run unimpaired with most of your memcached servers out of service, then there&#8217;s probably no point using memcached at all, since it without a doubt adds extra complexity to your application code. But if you go that route you&#8217;ll probably spend many times as much money and burden yourself with a great deal more administrative hassle (DB servers typically being more expensive and more work to keep running smoothly than memcached servers are.)<BR>
<BR>
-Steve<BR>
<BR>
<BR>
On 5/3/07 2:16 PM, &quot;Cal Heldenbrand&quot; &lt;cal@fbsdata.com&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>Steve,<BR>
<BR>
Just curious what are the OS load averages on your database servers? &nbsp;Have you expanded facebook to the point where losing most of the memcache servers would cause your entire application to grind to a halt?<BR>
<BR>
During my initial thoughts on integrating memcache into our product, I could see it eventually becoming a crutch and we wouldn't have enough database hardware to support the application anymore. &nbsp;I wonder if that's a good thing or a bad thing? <BR>
<BR>
Thanks!<BR>
<BR>
--Cal<BR>
<BR>
On 5/3/07, <B>Steve Grimm</B> &lt;sgrimm@facebook.com&gt; wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>We rebuild from the database. We have enough memcached servers that losing one has a relatively small effect on our cache hit rate. Not to say there's no effect -- our DB load spikes up for a little while when we lose a memcached server -- but we build out our infrastructure such that even at peak load, repopulating an empty memcached instance or two doesn't slow things down noticeably for the users. <BR>
<BR>
-Steve<BR>
<BR>
<BR>
<BR>
On 5/3/07 12:23 PM, &quot;Murty Chittivenkata&quot; &lt;murty@aol.net&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>Steve,<BR>
<BR>
are you replicating the hash data to hotspares or rebuilding in the event of failure from backend database?<BR>
<BR>
<BR>
Thanks<BR>
Murty<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'> <BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'><BR>
&nbsp;<BR>
We have a home-built management and monitoring system that keeps &nbsp;track of all our servers, both memcached and other custom backend stuff. Some &nbsp;of our other backend services are written memcached-style with fully &nbsp;interchangeable instances; for such services, the monitoring system knows how &nbsp;to take a hot spare and swap it into place when a live server has a failure. &nbsp;When one of our memcached servers dies, a replacement is always up and running &nbsp;in under a minute. <BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE></BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'><BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'><BR>
</SPAN></FONT>
</BODY>
</HTML>