9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@9fans.net
Subject: Re: [9fans] du and find
Date: Sat,  2 Jan 2010 12:05:03 -0500	[thread overview]
Message-ID: <d48b7c1578c9210127690d7e4820161d@brasstown.quanstro.net> (raw)
In-Reply-To: <<20100102052943.GA9871@machine>>

> On Fri, Jan 01, 2010 at 09:02:28PM -0500, erik quanstrom wrote:
> > > you've got a fast system.
> > > in at least one system i use, du -a of /sys/src takes about 25s.
> >
> > i have a humble 2y.o. single-core 35w celeron as a fileserver.
> >
> Speed of `du' depends on I/O, not CPU.

really?  have you tested this?  i've always found the
two to be related.

first, most fileservers have an in-memory block cache.
unless your active set is really big, most directories should
be in the in-memory cache.

when in memory cache, the time it takes to acquire
block cache locks and copy data dominates.  for
fossil+venti this factor is multiplied by 2 plus 2 trips
through the kernel.  so for memory-cached blocks,
fileserver speed is entirely dependent on network+
cpu.  the proportion of memory cache is of course
proportional to one's cache sizes.

sure, you can take this to extremes where the size of
the memory cache is so small, that the memory cache
doesn't matter, or the speed of the network is so slow
(find /n/sources) that nothing other than disk io or
network speed matters.

second, each directory read requires a number of 9p messages.
in the current system, each incurs the full rtt penality.
so the network latency is a really big factor in du
performance.

you can test to see how the du speed is related to
network performance very easily if you have the right
sort of network card.  just adjust the interrupt coalesing
values.  (Tidv/Tadv in ether82563, or
echo coal $µs>/net/ether$n/clone for etherm10g)

and the cool thing is that especially for tcp, i've
found cpu speed and network latency to be pretty
imporant.

- erik



       reply	other threads:[~2010-01-02 17:05 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <<20100102052943.GA9871@machine>
2010-01-02 17:05 ` erik quanstrom [this message]
2010-01-02 18:18   ` anonymous
     [not found] <<df49a7371001021043p2a990207od65457a068b7828@mail.gmail.com>
2010-01-02 19:47 ` erik quanstrom
2010-01-02 23:21   ` Bakul Shah
2010-01-03  1:49     ` erik quanstrom
2010-01-03  2:31       ` Bakul Shah
2010-01-03  2:40         ` erik quanstrom
2010-01-06 20:44           ` Akshat Kumar
     [not found] <<df49a7371001011744o6687fd59l451d690ea56edea5@mail.gmail.com>
2010-01-02  2:02 ` erik quanstrom
2010-01-02  5:29   ` anonymous
2010-01-02 18:43   ` roger peppe
2010-01-03  2:28     ` Anthony Sorace
     [not found] <<df49a7371001011234r3aaaf961n8ce253a6681e74b1@mail.gmail.com>
2010-01-02  0:51 ` erik quanstrom
2010-01-02  1:44   ` roger peppe
     [not found] <<af7cc2a5be1668a4f2cb708f5bd96f67@yyc.orthanc.ca>
2009-12-29  1:22 ` erik quanstrom
2009-12-29  0:41 erik quanstrom
2009-12-29  1:03 ` Lyndon Nerenberg (VE6BBM/VE7TFX)
2010-01-01 20:34 ` roger peppe
     [not found] <<68eb39920912281531jd0e4661j56adfc589a370dfc@mail.gmail.com>
2009-12-28 23:35 ` erik quanstrom
2009-12-28 23:39   ` Don Bailey
2009-12-29  1:00     ` anonymous
2009-12-29  1:13       ` Don Bailey
     [not found] <<20091228230510.GA25423@machine>
2009-12-28 23:25 ` erik quanstrom
2009-12-28 23:31   ` Don Bailey
2009-12-28 23:50     ` Lyndon Nerenberg (VE6BBM/VE7TFX)
  -- strict thread matches above, loose matches on Subject: below --
2009-12-28 23:05 anonymous
2009-12-28 23:09 ` lucio
2009-12-28 23:14 ` Steve Simon
2009-12-29 17:59 ` Tim Newsham
2009-12-29 18:28   ` Don Bailey
2009-12-29 20:16   ` Rob Pike
2009-12-30  7:44     ` anonymous
2010-05-03 12:13   ` Mathieu Lonjaret
2010-05-03 12:18     ` Akshat Kumar
2010-05-03 12:26       ` Mathieu Lonjaret
2010-05-03 12:49         ` tlaronde
2010-05-03 13:10         ` Ethan Grammatikidis
2010-05-03 13:41           ` Steve Simon
2010-05-03 15:18             ` Ethan Grammatikidis
2010-05-03 15:29               ` jake
2010-05-03 15:46                 ` Ethan Grammatikidis
2010-05-03 15:37               ` Steve Simon
2010-05-03 13:17       ` Rudolf Sykora
2010-05-03 14:53         ` erik quanstrom
2010-05-03 18:34           ` Jorden M
2010-05-04 10:01             ` Ethan Grammatikidis
2010-05-04 10:29               ` Robert Raschke
2010-05-04 15:38               ` Jorden M
2010-05-04 16:56                 ` Gabriel Díaz
2010-05-04 18:39                   ` Karljurgen Feuerherm
2010-05-03 14:03     ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d48b7c1578c9210127690d7e4820161d@brasstown.quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).