14

I have a laptop HDD which is around 8 years old. I feel that the hard disk is very slow, in many cases, I notice the "Active Time" in Windows Task Manager is 100% after logging in and when doing operations like opening an application. I did a benchmark, and here is the result.

enter image description here

The speed is fine for sequential read which is around 70MB/s, but when going to random R/W, it drops to less than 1MB/s. Is this normal? Or is it due to some component damage/wear and tear?

Hard drive specifications:

Western Digital WD5000LPVT 500GB SATA Hard Drive 
Capacity: 500GB.
Speed: 5,400RPM. 
Interface Types: SATA. 
Form Factor: 2.5inx7mm Fits
All laptops. Sector Size: 512 / 512e. 
Sustained Throughput: 147.
Electrical Interface: SATA 300 - 3.0Gbps. 
On-Board Cache: 8MB.

[EDIT]: Upload the CrystalDiskInfo result

enter image description here

Fragmentation (0%) enter image description here

Prefetch / Superfetch enter image description here

18
  • 11
    Don't guess "wear and tear", check disk SMART info and share results.
    – PTwr
    Oct 20, 2020 at 21:37
  • 21
    Yes it normal - in fact, terrible performance on random-access for HDDs is the reason why people spend money on SSDs Oct 20, 2020 at 23:55
  • 3
    @MatijaNalis Terrible performance compared to SSDs, sure. But 0.64 MiB/s is fishy even for a HDD. If this weren't a SATA drive, I would suspect a drop to PIO; as is, it's probably a hardware problem. Or seriously fragmented data.
    – Luaan
    Oct 21, 2020 at 9:40
  • 1
    @Mast I checked from Registry (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters), for both EnablePrefetcher and EnableSuperfetch has value of 3.
    – rcs
    Oct 21, 2020 at 12:05
  • 7
    @Luaan "But 0.64 MiB/s is fishy even for a HDD." - No, it's entirely expected. "Or seriously fragmented data." What fragmentation? The benchmark the OP ran does random 4KiB reads. Every block is read from a new random position, straight from disk. What data is on the disk (and how fragmented it is) is irrelevant to the test. And yes, those random reads bring out the worst in spinning disks, hence the abysmal results.
    – marcelm
    Oct 22, 2020 at 0:05

3 Answers 3

50

That is perfectly normal for random I/O performance on a 5400 rpm disk. A 5400 rpm disk can manage about 90 IOPS because the required sector will only go under the head 90 times per second (5400 times per minute).

So with 4KB blocks, that is 4KB * 90 = 360KB/s.

This is broadly in line with what you are seeing.

19
  • 4
    So it's possible that up/downloading data to the Internet can actually be faster than a local HDD? That's pretty annoying. Oct 21, 2020 at 8:51
  • 8
    For random I/O in 4KB chunks downloading to the internet will typically be even slower. 90 IOPS is ~ 11ms per operation. Ping time to an internet storage server is typically going to be 2-3x higher than that on a broadband connection. Oct 21, 2020 at 8:57
  • 4
    @user253751 you do at queue depth 1. Oct 21, 2020 at 10:27
  • 17
    @user253751 The equivalent of a random block write is a random request to a server, and that means latency of the round-trip between the client and the server (at best, if a connection is already established, and it takes a single round-trip for the request). It will take at least as much time as a ping. You wouldn't have to wait for the round-trip if it were part of a stream (a longer download), which is the equivalent of the sequential performance on a disk.
    – jcaron
    Oct 21, 2020 at 12:02
  • 6
    A 5400 rpm disk can manage about 90 IOPS That seems optimistic. You need to account for seek time, too. IME a 5400 rpm disk will be more likely to be able to do 50-60 IOPS given truly random IO. Oct 21, 2020 at 14:27
20

Your HDD is WD5000LPVT, a 2.5" 500GB 5400rpm model.

Looking at UserBenchmark your results are not abnormal. Random read results should be between 0.1-0.5 MB/s, yours are pretty good. UserBenchmark random writes are 0.76-2.3 MB/s, yours ~0.85 is on the low side but not out of range.

These values seem to be normal for this disk model. HDDs usually have terrible random access results, especially 5400rpm ones.

13

A hard disk drive is made of platters that turn at the specified speed, and read-write heads which move along the radius of the platter.

To read a random block on the disk, two things need to happen:

  • The head needs to be moved to the right "track" along the radius of the platter (seek time).

  • The platter needs to rotate until the right "sector" or block is under the read/write head (rotational latency).

Average random seek times are usually somewhere between 9 and 15 ms, depending on the disk. For this specific disk, it's 12 ms.

Average random rotational latency is directly dependent on drive rotation speed. Disks come in a variety of speeds, from 5400 RPM (revolutions per minute), which is quite standard for the smaller consumer 2.5" disks, up to 15000 RPM for high-end enterprise-grade disks.

At 5400 RPM (which means 90 revolutions per second), it takes on average 5.6 ms for the right block to be under the read-write head.

That means that on average, reading a random block will take 17.6 ms (not counting command processing and the data transfer itself, but that's usually peanuts in comparison).

Which in turn means a bit under 57 reads per second. With 4K blocks as used by the benchmark, that's 228 KB/s, or 0.228 MB/s. So the results of the benchmark are actually slightly better than theory!

That's for the RND4K Q1T1 read test (bottom left of your first screenshot), which is the ultimate random read test, with each read waiting for its results before getting to the next one.

The Q32T1 test leverages queuing: multiple read commands (up to 32) are sent to the drive before waiting for the results (and as soon as a result comes back, a new read is requested, maintaining a queue of 32 pending reads).

This enables the drive to reorder the reads so they're less random. For instance, the seek time is shorter when going from track 1 to track 2 than from the first to the last, so ordering the reads on increasing tracks saves time. It also helps if several blocks are read from the same track (no seeking, and you can read the first block coming under the read/write head).

The write tests are usually flawed, because disks will cache writes and say "yes yes I got it" even if it's not been written to disk yet, so they're a lot more difficult to judge accurately.

So:

  • Your disk seems to operate within specs
  • Your disk, like all consumer-grade laptop HDDs, is slow. No surprise here.
  • If you want better seek (random) performance, nothing beats an SSD.
1
  • 1
    Point # 3 I feel is the true answer to this post. Time to buy an SSD. :-)
    – dustbuster
    Oct 23, 2020 at 19:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .