Slow performance during moderate/high IO

3

Windows XP machine suffering from slow performance during maintained IO, either network or disk. CPU & memory usage are both minimal, system+interrupts usage < 5% according Process Explorer. Memory usage < 20% (of 4GB). Maintained disk or network IO of ~150KB/s or above causes major slowdowns. Most noticeably apps (all apps) start extremely slowly (a small Hello World C app compiled with MinGW took 12 seconds to display the printf() message and exit.)

Is this normal? If not, what's going on? This isn't the maximum I/O possible either...I can easily reach something like 100MB/s for HDD and 5MB/s on network, but anything over ~150KB/s results in this behavior.

Dell Inspiron 1545, Intel P8600 Core2 Duo @2.4GHz, 4GB RAM, 500GB HDD

user73728

Posted 2011-10-16T21:49:16.657

Reputation:

1Could be nornal, that is, a symptom of saturated I/O bandwidth. You should provide hardware details. Intel and AMD rely on promoting CPU processing bandwidth to sell you new HW, while ignoring the I/O side of the coin. – sawdust – 2011-10-16T22:01:40.020

Answers

2

I suspect what you are seeing is normal Windows PC behavior regarding disk I/O. For possible confirmation I was able to compare two PCs running Windows 7 that have very similar Windows Experience Indexes (indicies?). The first PC is a Thinkpad laptop similar to yours with a P8600 @ 2.4 GHz and 2.5" SATA II 5400rpm drive. The other PC is a desktop with a Athlon 64 X2 dual core 3800+ and 3.5" SATA 7200rpm drive. I would start a local_disk-to-disk copy of a large (several gigabytes) file; while that file copy was in progress I would attempt to start up an application program. The typical delay for both PCs was on the order of 10 to 20 seconds (the delay probably could be correlated to app program size).

Since the desktop PC has two HDDs, I was also able to perform the file copy on one disk drive and then load an app from the other HDD; with two independent disk drives, the apps started in about 2 to 5 seconds.

You mention that this issue also occurs for "network I/O". Unless you perform a single-ended data transfer (e.g. network data to a bit bucket such as /dev/null in *nix), then you probably used a disk file as either the source or the destination to generate "network I/O". So disk I/O reveals itself as the common activity of "disk I/O", "network I/O" and slow startup of apps.

This could be a scheduling quirk in Window: a task that is I/O intensive (such as a file copy) might get scheduling priority when each individual read or write operation does complete (to sort of compensate for the idle time that the process was forced to wait, and to maintain I/O throughput). Another task/process started while this I/O intensive task is active could be at a I/O scheduling disadvantage. I have seen a similar quirk on another operating system: I was developing a database-copy utility on a multi-user system (not Unix). The utility slowed the system down for all other users while it executed, so I was accused of rigging the scheduler or job priorities to my advantage, but I had not.

sawdust

Posted 2011-10-16T21:49:16.657

Reputation: 14 697

0

Bandwidth is only half the story. If it is random I/O, then it could slow everything down to the point where I/Os start to queue up.

You should fire up Perfmon.exe and check the average disk queue length and average seconds per transfer counters.

surfasb

Posted 2011-10-16T21:49:16.657

Reputation: 21 453