DCC build options for performance and sizing

Gary Mills mills@cc.umanitoba.ca
Thu Jun 10 01:22:49 UTC 2010


On Wed, Jun 09, 2010 at 09:29:30AM -0500, Gary Mills wrote:
> On Wed, Jun 09, 2010 at 01:33:21PM +0000, Vernon Schryver wrote:
> > 
> > If the system has enough RAM to contain the hash table of dcc_db.hash
> > and the recent part of dcc_db, then the best tactic is the work-around
> > for Solaris's lack of mmap(MAP_NOSYNC).  That -around is to move
> > dcc_db.hash (but of course not dcc_db) to a memory mapped file system.
> > /tmp is often a RAM file system on Solaris systems, so adding -H/tmp
> > to DBCLEAN_ARGS in dcc_conf should be effective.
> 
> The servers do have sufficient memory.  I'll do some testing to see if
> `-H/var/run/dcc' solves the problem.

Well, that was dramatic.  On one of my production DCC servers, the I/O
bandwidth dropped from 50% utilized to zero.  For your amusement,
here's output from rwsnoop of the dtrace toolkit with timestamps in
microseconds, before the hash change:

    # ./rwsnoop -t -p 11980
    TIME             UID    PID CMD          D   BYTES FILE
    13285178914670     1  11980 dccd         W  245760 /space/dcc/dcc_db
    13285178915105     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285178915636     1  11980 dccd         W  749568 /space/dcc/dcc_db
    13285178918612     1  11980 dccd         W 2703360 /space/dcc/dcc_db
    13285178924113     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285178924169     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285178924202     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285178924236     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285178924449     1  11980 dccd         W  200704 /space/dcc/dcc_db
    13285178927335     1  11980 dccd         W 4018176 /space/dcc/dcc_db.hash
    13285178937755     1  11980 dccd         W 4038656 /space/dcc/dcc_db.hash
    13285178948125     1  11980 dccd         W 3948544 /space/dcc/dcc_db.hash
    13285178958337     1  11980 dccd         W 4050944 /space/dcc/dcc_db.hash
    13285178968792     1  11980 dccd         W 4014080 /space/dcc/dcc_db.hash
    13285178979401     1  11980 dccd         W 3923968 /space/dcc/dcc_db.hash
    13285178989598     1  11980 dccd         W 3964928 /space/dcc/dcc_db.hash
    13285178999905     1  11980 dccd         W 4059136 /space/dcc/dcc_db.hash
    13285179010429     1  11980 dccd         W 4042752 /space/dcc/dcc_db.hash
    13285179020824     1  11980 dccd         W 3739648 /space/dcc/dcc_db.hash
    13285179030680     1  11980 dccd         W 4030464 /space/dcc/dcc_db.hash
    13285179041155     1  11980 dccd         W 4009984 /space/dcc/dcc_db.hash
    13285179051553     1  11980 dccd         W 4001792 /space/dcc/dcc_db.hash
    13285179062346     1  11980 dccd         W 4005888 /space/dcc/dcc_db.hash

I believe that's all in the same second.  There was a brief pause
after that I/O.  Here's the same thing after the change:

    # ./rwsnoop -t -p 11980
    TIME             UID    PID CMD          D   BYTES FILE
    13285893376821     1  11980 dccd         W 1593344 /space/dcc/dcc_db
    13285893379536     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893379840     1  11980 dccd         W  167936 /space/dcc/dcc_db
    13285893380111     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380147     1  11980 dccd         W    8192 /space/dcc/dcc_db
    13285893380184     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380217     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380259     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380292     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380324     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380356     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380390     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380424     1  11980 dccd         W    4096 /space/dcc/dcc_db
    13285893380529     1  11980 dccd         W  143360 /space/dcc/dcc_db
    13285893380786     1  11980 dccd         W    4096 /space/dcc/dcc_db

-- 
-Gary Mills-        -Unix Group-        -Computer and Network Services-



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.