in reply to Re: PerlMonks Caching
in thread PerlMonks Caching

At least, we still use a/the version table to cache versions of nodes, but we also have other caches for long-running queries or queries that only need to change their results rarely (Best Nodes, Chatterbox contents rendered as HTML, ...). For these, it might make sense to store/retrieve them from a cache separate to the database.

I'm a tiny bit reluctant to introduce another separate component to the site, and I have no experience with how the memcached clients behave if no server is available. But as I found that memcached is available for Win32 and has a pure Perl implementation, I'll look into using it, as it could shift some load away from MySQL.

Replies are listed 'Best First'.
Re^3: PerlMonks Caching
by tinita (Parson) on Apr 21, 2010 at 09:56 UTC
    and I have no experience with how the memcached clients behave if no server is available

    no problem. if there is no memcached node available, then you use the database. the frontend module will just return undef for the lookup.

    Why hesitate? I've been always wondering why the biggest international perl forum (I know) is such a slow website. I thought, there must be a lot of experienced web developers hanging around. Introducing memcached sure is another component, but it's a cache - if there is nothing in the cache, it returns undef and you create what you need from the database. where's the problem?

      Ah, but I wonder about how long the client libraries will take to return undef as they timeout if there is no server available, and how they behave if the server gets stuck somehow, accepting connections but not returning results.

        I don't understand the problem. Do you think somehow that a memcached client is not robust enough to handle something like that? A database server also can have problems. The clients usually handle it. memcached server and clients are really ready for production. xing uses memcached a lot. facebook uses it afaik. why do you think there could be a connection problem? did somebody tell you about problems?
        I was told that if one of the memcached nodes in a cluster "vanishes" - for whatever reason - the client realizes it and reorganizes its distribution of keys then. it can't get worse than now, I'd say.