Re: Daisy Chain vs. FW 800-to-400 Cable
- From: dempson@xxxxxxxxxxxxx (David Empson)
- Date: Sun, 7 Sep 2008 22:55:08 +1200
Nick Naym <nicknaym@[remove_this].gmail.com> wrote:
Well, based on your tutorial, I'd vote for a variation of #2: When FireWire
400 and FireWire 800 devices are mixed on a FireWire 400 bus, all transfer
rates revert to the original FireWire 400 speed; when on a FireWire 800 bus,
all transfer rates *beyond the first FireWire 400 device* revert to the
FireWire 400 speed."
BTW: I set up the Seaquest, and am currently having TM create a backup on it
(it's going *extremely* slow). I did daisy-chain the LaCie off of the
Seaquest, mostly (for now) just to see if it would work. Not surprisingly,
it does.
I'd like to somehow determine what effect, if any, the LaCie has on the TM
backup speed. Based on what you explained, it should have no effect. But
I've been running TM for about an hour now, and less than 2 GB has been
copied. Given that I'm not *actively* doing anything else, I'm wondering if
just the presence of the LaCie is somehow "loading down" the FW bus.
(Although, having just ejected the LaCie a few minutes ago, and not noticing
a change, I guess not.)
You can at least use System Profiler to check that the "Current Speed"
is reported at 800 Mb/sec for the drive in the Icy Cube enclosure.
Time Machine is known to be somewhat sluggish (especially when copying
lots of small files), so I wouldn't put the slow speed down to the
presence of the LaCie.
In any event, I'd still like to get a handle on the speeds, and in your
previous post you stated:
My test consisted of copying a large file from the hard drive (using the
'dd' command line tool and directing output to /dev/null, so it isn't
influenced by the speed of the computer's internal drive). dd reports
the transfer rate, which is a handy way of doing an accurate
measurement.
Since I've yet to delve into OS X's Unix underpinnings, can you explain this
in a way that a non-command-line-tool user might understand? ;)
Benchmarking software would be an easier way to achieve this. I just
didn't have any handy and happen to know how to use 'dd' for some tasks,
so I did that instead. I wouldn't recommend this as the best method, and
it is somewhat complex to describe, but here goes.
To summarise what I did:
I have a existing clone backup on one of my external drives. I had a
look through that to find a file which is at least a few hundred
megabytes (a real single file, not a package or folder). The one I
happened to pick was an old Virtual PC virtual disk image, which was
about 260 MB.
In Terminal, I then used the following sequence to execute the command
to copy the file.
1. Type in the following (don't press return yet)
dd of=/dev/null bs=1m if=
2. Drag the icon for the big file on the external drive into the
Terminal window. This appends the path to the file to the command. In my
case, I had the following:
dd of=/dev/null bs=1m if=/Volumes/DAE\ Backup/Documents/Virtual\
PC/Windows\ 95\ \(260MB\)
The "of" and "if" arguments specify the output file and input file. The
"bs" specifies the block size - this is saying to read the data in
blocks of 1 MB, rather than the default 512 bytes (which would have too
much overhead and not be a reliable test of the peak throughput).
3. Confirm that there is no space after "if=" and before the path. If
there is, navigate back to that point in the command line and edit it to
delete the extra space. The easiest way to do with with most shells is
to press Ctrl-A (which goes back to the start of the line) then use the
right arrow key to get to the correct position, then press the Delete
key to get rid of the space.
4. Press return.
dd will read the file from the external drive, copying it nowhere
(/dev/null is a virtual device which throws away all data written to it,
so it has no impact on I/O throughput compared to copying to another
hard drive). When it finishes, dd shows something like this:
300+1 records in
300+1 records out
315334656 bytes transferred in 5.237962 secs (60201784 bytes/sec)
The figure at the end is the interesting one. If it exceeds about
48000000 bytes/sec then your Firewire bus is running faster than FW400
can possibly achieve. (I've never seen a FW400 bus doing better than
about 45 MB/s.)
You need to wait until the external drive is relatively idle, otherwise
the speed of the transfer will be reduced by other activity going on at
the same time.
It also helps to read a file which is physically located near the start
of the drive, as that portion of the drive has the highest transfer
rate. This could be tricky if you don't know which order files were
copied on there.
I'm sure there are more advanced ways you could run this test without
running into the caching issue or needing a large file, e.g. reading a
large chunk blocks from the start of the partition, ignoring the file
system completely. This will require some extra steps to identify the
appropriate device name, and requires the use of 'sudo' to get root
privileges.
There is one catch with this test: repeating it may produce a
meaningless result, because if you have lots of free memory, Mac OS X
will cache the data when it reads it. This means a repeat of the dd
command will run significantly faster (I got a 1.6 GB/sec transfer
rate).
I found that waiting tens of seconds or ejecting and reconnecting the
drive was sufficient to flush the cache. There is probably a command to
do it quickly but nothing came up from a quick browse.
It is also somewhat tricky to use this method to test the write speed of
a single drive in isolation. You want a source which can supply lots of
data without performance limitations, and write a specified amount of
data to a new file. Ideally the target drive should be mostly empty so
the write can go near the beginning for maximum speed.
As I said, using benchmarking software would be much easier.
--
David Empson
dempson@xxxxxxxxxxxxx
.
- Follow-Ups:
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: Nick Naym
- Re: Daisy Chain vs. FW 800-to-400 Cable
- References:
- Daisy Chain vs. FW 800-to-400 Cable
- From: Nick Naym
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: David Empson
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: Nick Naym
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: David Empson
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: Nick Naym
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: David Empson
- Re: Daisy Chain vs. FW 800-to-400 Cable
- From: Nick Naym
- Daisy Chain vs. FW 800-to-400 Cable
- Prev by Date: Re: Old G5 or new iMac?
- Next by Date: Re: Jerry Seinfeld's Ad Revisited...
- Previous by thread: Re: Daisy Chain vs. FW 800-to-400 Cable
- Next by thread: Re: Daisy Chain vs. FW 800-to-400 Cable
- Index(es):
Relevant Pages
|