On Thu, 1 Jul 2010, Vladimir Vuksan wrote:
> I believe the FUD you are referring to was following presentation at Velocity > > Hidden Scalability Gotchas in Memcached and Friends > > http://en.oreilly.com/velocity2010/public/schedule/detail/13046 > > There is a link to the PDF of slides so you can see what they talked about. > Here is the short link to it > > http://j.mp/cgIsE9 > > It was an example of applying a model to a set of controlled measurements and > not necessarily picking on memcached. One of the findings was that contention > has increased between versions 1.2.8 and 1.4.5 > from about 2.5% to 9.8%. Another is that memcached didn't perform well beyond > 6 threads which they attributed to locks. At Sun they coded some patches > where they replaced the single lock with multiple > locks and you can view performance on slide 25. > > The measurements do show that memcached performs extremely well ie. 300k ops > on a single instance however memcached was not able to take advantage of > additional threads. > > Key takeaway from this talk was not that memcached doesn't scale but that it > can perform even better. I don't want to turn this into a flamebait trollfest, but I've always been seriously annoyed by this benchmark that those Sun/Oracle folks keep doing. So I'm going to toss out some flamebait and pray that it doesn't turn this thread much longer. First, "Hidden scalability gotchas" - for the love of fuck, nobody gets hit by that. Especially nobody attending velocity. I'm not even sure facebook bothered to scale that lock. Given the title, the overtly academic content, and the lack of serious discussion as to the application of such knowledge, we end up with stupid threads like this. Imagine how many people are just walking away with that poor idea of "holy shit I should use REDIS^WCassandra^Wetc because memcached doesn't scale!" - without anyone to inform them that redis isn't even multithreaded and cassandra apparently sucks at scaling down. Google is absolutely loaded with people benchmarking various shit vs memcached and declaring that "memcached is slower", despite the issue being in the *client software* or even the benchmark itself. People can't understand the difference! Please don't confuse them more! There are *many* more interesting topics with scalability gotchas, like the memory reallocation problem that we're working on. That one *actually affects people*, is mitigated through education, and will be solved through code. Other NoSQL "solutions" are absolutely riddled with usability bugs that have nothing to do with how many non-fsync'd writes you can push through a cluster per second. What separates academic wank from truly useful topics is whether or not you can take the subject (given the context applied to it) and actually do anything with it. There're dozens of real problems to pick on us about - I sorely wish people would stop hyperfocusing on the ones that don't matter. Sorry if I've picked on your favorite memcached alternative; I don't really care for a rebuttal, I'm sure everyone's working on fixing their problems :P -Dormando