On 10/19/07, <b class="gmail_sendername">Jason Gross</b> <<a href="mailto:jphgross@gmail.com">jphgross@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am evaluating memcached for our web farm and wanted to poll this<br>list for some experience in designing, deploying and maintaining it.<br>Specifically I want to analyze the overhead from a development /<br>resource and maintenance standpoint so that I can properly plan this
<br>effort. Would anyone on this list be willing to share their<br>experience with deploying memcached?</blockquote><div><br>I can answer some of your questions - my sysadmin has been nagging me for a year to look at memcached, and just last Friday I finally looked at it. A week later, we're going live with it on a high traffic site.
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">1. Are there tools that exist to help analyze which queries should be<br>cached?
</blockquote><div><br>I'm not aware of any tools for this.. I'd start with the slowest or most common queries, remember the 80/20 rule, and in general, keep <a href="http://en.wikipedia.org/wiki/Amdahl%27s_law">Amdahl's Law
</a> in mind. <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2. What exists to monitoring and analyze for cache performance on a
<br>daily basis?</blockquote><div><br>Memcached keeps some internal stats (see the "stats" protocol command), and you can keep your own stats as well.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
3. What level of effort was required to integrate memcached into the<br>application?</blockquote><div><br>Within 2 hours, we had our app running off memcached, including downloading and building the memcached server. Most of my time was then spent refactoring the code to support various cache settings, testing the Java memcached clients, load testing, etc.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">4. What was the support overhead from a time and expertise standpoint<br>to maintain this?
</blockquote><div><br>Others who have run memcached can probably comment more (facebook has 200+ dedicated memcached servers, apparently). I expect the maintenance/admin time to be low, since memcached is so simple. It may be higher at the start, as we learn how to tweak it, etc.
<br></div></div><br><br>Overall, I'm really excited that we're finally going to use memcached. The worst part is, the only reason we didn't use it a year ago is because we mistakenly thought that it didn't support multiple GET keys in one request. It definitely supports that now, and I read an article from 2004 that implies that it supported it then.
<br><br>-Chris<br><br><br>