RHEL

Intelligent memcached and APC interaction across a cluster

Anyone experienced with high-performance, scalable PHP development is familiar with APC and memcached. But used alone, they each have serious limitations:

APC

  • Advantages
    • Low latency
    • No need to serialize/unserialize items
    • Scales perfectly with more web servers
  • Disadvantages
    • No enforced consistency across multiple web servers
    • Cache is not shared; each web server must generate each item

memcached

  • Advantages
    • Consistent across multiple web servers
    • Cache is shared across all web servers; items only need to be generated once
  • Disadvantages
    • High latency
    • Requires serializing/unserializing items
    • Easily shards data across multiple web servers, but is still a big, shared cache

Combining the two

Traditionally, application developers simply think about consistency needs. If consistency is unnecessary (or the scope of the application is one web server), APC is great. Otherwise, memcached is the choice. There is, however, a third, hybrid option: use memcached as a coordination system for invalidation with APC as the main item cache. This functions as a loose L1/L2 cache structure. To borrow terminology from multimaster replication systems, memcached stores “tombstone” records.

David's Epic Presentation Megapost

Bazaar 1.14 RPMs for RHEL 5 and CentOS 5

Fresh packages, 64-bit only (again). I can make 32-bit ones if anyone would like some. I’d say that this is the most exciting release yet.

Bazaar 1.13 RPMs for RHEL 5 and CentOS 5


Fresh packages, 64-bit only this time. I can make 32-bit ones if anyone would like some.

Bazaar 1.11 and BzrTools 1.11.0 RPMs for Red Hat Enterprise Linux 5 and CentOS 5

These RPMs are now obsolete. Please check this blog for the latest ones.

The EPEL RPMs for Bazaar and BzrTools are quite out of date, so I rolled some experimental packages based on the Fedora 10 spec files.