[K12OSN] Are fast disks really that important and why?
Les Mikesell
les at futuresource.com
Thu May 31 20:13:56 UTC 2007
john wrote:
> However a unix guru I work with responded to me:
>
> "But--at least in all the UNIXen I ever worked on--you can and do implement
> this in software. And not in hardware."
I don't think the current Linux implementations do a very good job of
re-ordering seeks if it even tries at all. However, it does buffer to
whatever extent that it can. Writes are always buffered unless there is
no RAM left (and the flush to disk might be done in sector order so you
would get some re-ordering there). Reads are held in the disk buffer
until the space is needed for something else, so additional RAM can make
a huge difference when multiple users frequently access the same things.
The difference with SCSI is that the controller can re-order queued
commands after the CPU sends them so a read request for something
between two pending requests might be serviced as the head goes past its
location. My recommendation is to max out the RAM you can put in the
box first, then if you have money left go for the faster drive set.
> To prove his point we did the following:
>
> We tested our installation in a lab with 30 thin clients attached to a
> single commodity workstation running ubuntu/ltsp4.2 with 2G ram, 3Ghz
> processor. We used vmstat to monitor CPU,memory usage and disk i/o.
> We found that disk I/O was relatively light after application startup
> and that slow downs began to happen as processes queued up behind the
> CPU waiting for their time slice to be handled. In short client speed
> fell off as the CPU got busier, and not because of busy disks.
>
> Were we looking at this in the wrong way? Was there a better way to
> determine Disk IO?
>
> I am leaning toward getting a fast array, but I would like to
> understand this better before I do.
Iostat will show i/o per-device but neither will give a good measure of
the time that seeks are wasting which is the real problem. If you
had a
matching load on a SCSI and IDE machine you might be also able to see a
difference in the system interrupts and context switch columns of vmstat
as the CPU has to do a lot more to drive an IDE controller (like issue a
seek and wait for completion before starting the data transfer) and each
of those operations involves an interrupt and context switch.
--
Les Mikesell
lesmikesell at gmail.com
More information about the K12OSN
mailing list