[ccache] Using ccache with memcached

Wilson Snyder wsnyder at wsnyder.org
Thu Nov 25 05:08:56 MST 2010


>> If you already are, are you really doing enough writes to
>> swamp a NFS cache server?  It probably requires hundreds of
>> compiling clients; since we have over a hundred here and
>> don't see a bottleneck - with a single well performing NFS
>> server.
>
>In our case we're talking about 25 shared builds coming from like 15 
>machines.
>Can you disclose what the specs are on that machine?

We have about 100 machines, with about 400 cores - a mix of
older 2 socket up to modern 12 core systems.  Compiles are
~~10% of the work load.  The NFS server with CCACHE_DIR has
6 RAID-5 disks; it does other things too, not just ccache.
We decided to bond 4 ethernet ports into the NFS server as
we saw occasional bottlenecks exceeding 1GbE out of that
server.

I should have also mentioned that there's also a ccache
patch set I've inherited that allows two level caching
(local disk, then to the remote disk), that would further
improve performance, but we're not currently using it.

>> Memcached would provide a nice benefit of providing
>> tolerance for machines going down, and somewhat better
>> latency, but perhaps the above ideas with the existing
>> version can deliver enough performance for you.
>>
>
>I think the idea I like most about this is the simplicity and less 
>overhead. We're talking about plain tcp sockets without configuration 
>needed.

Managing CIFS/NFS isn't a big deal mostly because most IT
departments already know how to manage CIFS/NFS.  Also, I'd
be a little surprised if your site doesn't have shared CIFS
drives already.

>I see that memcached is limited to 1 mb data per key. Naturally this 
>causes some troubles as many files would either not be cached or you'd 
>need to split it up to more keys.

Good point, forgot about that.

-Wilson


More information about the ccache mailing list