Can disk read speed significantly decreased as disk is full?

1

1

So I have a 2TB HDD, and it usually takes less than a fraction of a second to get the data I need, after some jobs it gets full, it takes 1-2 seconds to get the data I need. How much does the fullness of the disk play a role in this decrease of speed? I would say my CPU is slightly busier, but if all else is equal RAM/Cache, can this decrease of speed all because the disk is full? I couldn't find any articles on this, so I'd appreciate a properly cited answer.

I also heard the disk temperature also plays a role, but I feel like these are small factors, so what's the main factor that decreased read/seek time by 10X?

Chris

Posted 2014-12-18T03:39:09.140

Reputation: 31

There's a real question there, though the wording made it look like a learning material rec. – Journeyman Geek – 2014-12-18T05:11:03.230

An answer probably hinges on this mysterious "data I need". (You didn't bother to mention the OS or type of filesystem.) If this "data I need" is recently written (while the disk is nearly full), then (at least for NTFS) the data is very likely to be badly fragmented, and consequently take longer to retrieve. – sawdust – 2014-12-18T05:38:01.433

Answers

1

There's a few things I can think of, but its multiple factors rather than one, and some of these are easily tested.

Firstly Its probably a good idea to replace your observations with hard data - you may want to add something that tests drive speeds like HDtune or crystal disk info.

As for factors affecting disk speeds

Fragmentation: A less full disk has more space to store files contiguously, and/or to reshuffle them to be less fragmented. MS's drive defragmentation tool traditionally refused to work if you had less than 20% free space. Doing a defragmentation is essentially free, and in worst case situations the effect of a defragmentation may seem magical (and got me fat tips on service jobs ;))

Paging, or lack thereof: Really only an issue if you are paging a lot (so you're low on ram anyway) and you are using this specific disk to page. Paging makes a bad situation worse if you're constantly writing small files to a already slow drive. With a full drive, you might end up seeking more than you have to. Contrariwise, a less busy system with tons of ram may be able to use caching for apparent speedups.

Drive platters are round:

enter image description here

Did I suggest using something to test your drive speed? This is why. Not all parts of a HDD transfer data at the same rate. Notice the downward trend in speed and the burst rate. The 'fastest' part of the drive is about one and half times as fast as the 'slowest' part (And I'm pretty sure the fastest is the inside track, but I usually get this wrong). Notice the burst speed - which is when the drive's internal cache is used.

Hard drives use CAV (which means they spin at the same speed no matter where on the drive you are). You have shorter internal tracks longer external tracks, and as I understand it if the internal tracks are in use its faster. A fuller drive is probably going to be spinning and tracking more, adding to latency.

So yes, it really could, and it should be trivial to test.

Journeyman Geek

Posted 2014-12-18T03:39:09.140

Reputation: 119 122