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-
_______________________________________________
DCC mailing list [email protected]
http://www.rhyolite.com/mailman/listinfo/dcc