Test Your Storage Drive’s Read Speed

One of the most frequent things you’ll do is read data from disk, so why not test your storage drive’s read speed? In this article, we’ll use an application we’ve used before. This shouldn’t be a very complicated article.

We store data on drives, or disks if you prefer. Most of us don’t use disks as our main storage devices. We do use disks for backups or storing large amounts of data, but we largely use SSDs these days. Some of us even use NVMe M.2 SSDs to store our data. The latter is currently the quickest you’re likely to encounter as a consumer.

The old spinning platters we used (though we’ve used lots of forms of magnetic storage) are typically referred to as HDDs (Hard Disk Drives). The SSDs (Solid State Drives) have no moving parts and are much faster. The NVMe M.2 SSDs are faster still.

If you’re suffering from some bottleneck, you might want to diagnose that. You might just be curious. It is also possible that you just purchased new hardware and want to see if the storage device reaches the advertised speed.

The tool we’ll be using is hdparm. This works fine with USB thumb drives, HDDs, regular SSDs, and even NVMe SSDs. It’s a complex application with a lot of options. I’ve covered some features before.

How To: Show Your Hard Drive Specifications In The Terminal

So then, let’s learn about this hdparm…

hdparm:

It should be noted that this hdparm application should be installed by default. It should also be mentioned that hdparm is a terminal-based application. You can verify that hdparm is installed with the following command:

If you then check the man page (with man hdparm) you’ll see that hdparm is described quite nicely like this:

hdparm – get/set SATA/IDE device parameters

If hdparm is not installed, you can surely find it in your package manager. 

As you can see, hdparm is the right tool for the job assuming you want to test your storage drive’s read speed. It’s also the right tool for a bunch of other jobs, but we’ll just be covering the read speed today.

Test Your Storage Drive’s Read Speed:

As I mentioned above, this hdparm application is something you use in your terminal. I suspect my regular readers will have guessed that. If you’re new to the terminal, more often than not you can open your default terminal by pressing CTRL + ALT + T.

With your terminal open, let’s identify your storage drives with this command:

You’re interested in the bits that start with /dev/<drive_ID> as those are the drives you’ll be able to test. 

NOTE: You should run these tests several times and average them, and you should do so while the system is otherwise idle. That will give you the peak results.

We’re interested in two flags, as they represent two tests. The -t flag tests the read cached. The -T flag tests the drive’s buffered read timings. You’ll often find the first test is fairly similar throughout the different drives and that the cached test shows the most differences. If those two terms, cached and buffered, confuse you, here’s a link about the differences between cache and buffer as far as the hdparm application goes.

You’ll need elevated permissions for this, so the command looks like this:

Or, as an example for many of you, the command might look like this:

That command will test both the cached read speed and the buffered read speed. These tests are important because you’re using a smart operating system that puts things into the cache and buffer that are likely to be read from the drive. So, the command listed will test both. You can split them up of course.

I decided to get you some examples:

Some Quick Read Speed Tests:

This is the internal SSD on a desktop:

Next is a USB 2.0 device plugged into that desktop:

Then we have an external HDD plugged into a USB 2.0 port on that desktop:

For comparison, this is an NVMe M.2 SSD:

As you can see, the internal SSD is quite fast. The thumb drive is the next quickest. This is followed by the external drive that’s just a spinning platter drive. 

Then, of course, you can see that the NVMe M.2 SSD is so much faster. That’s not even the fastest SSD out there. There are faster NVMe M.2 SSDs that don’t cost a lot of money. The prices have come down these days. You can even get a PCIe card that lets you mount an NVMe M.2 SSD if your motherboard doesn’t already support it.

Closure:

Should you want to get some drive benchmarks, you can certainly use hdparm to test your storage drive’s read speed. This isn’t something complicated and most anyone can figure it out. All you need to do is follow the directions carefully and in order. I do try to explain things as I go along.

There’s a lot more to the hdparm application. I encourage you to check the man page. There are probably another half-dozen articles that can be written about hdparm, so you’ll likely see this application again in the future. I doubt I’ll do another one too soon, as I like to space things out and not get too repetitive. 

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

How To: Test Your Drive Speed In The Linux Terminal

Today’s article is going to just be a nice and easy article, one that shows you how to test your drive speed in the Linux terminal. It’s easier than you might think and even easy enough that a new Linux user can figure this one out.

Why would you want to do this? Why would you want to test your drive speed in the Linux terminal?

Well, while there are surely GUI ways to accomplish this, you might want to verify that you’re getting the disk speed you paid for. You might also just want to know your drive’s speeds or perhaps you want to post your drive speed on a forum for bragging rights? These terminal commands will also be pretty much universal, across all distros.

It doesn’t matter why you want to test your drive speed, it just matters that you can test it – and that you’ll now know how. And, you know what they say? Knowledge is power!

So, what will we be doing?

Well, we’ll be using the Linux terminal to check how fast we can read and write data to your drives, no matter if they’re spinning platter hard disk drives or solid state drives. The commands will be the same for all drive types and are fairly easy to learn.

So, with all that said and done, let’s get into the article…

Test Your Drive Speed In The Linux Terminal:

Of course, this article will require an open terminal. On Linux-Tips we do a lot in the terminal. It’s fun and fairly universal. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

With your terminal open, you’ll want to run the following command to identify the drive you want want to test. That’s nice and easy, just run:

You’re looking for something like /dev/sda1 or something like /dev/nvme0n1p1 and the lsblk command might help you narrow down which drive it is you want to test.

Once you have identified the drive you want to speed test, you can begin testing. You can first try testing the write speed, that is how fast you can write data to the drive. To do that, you’re command would look like:

For example, if you had ‘sda1‘, your command would look like:

That will tell you how quickly you can write data to your drive, a pretty handy number to know. However, that’s only half of the equation…

You might also want to know how fast you can read data to the drive, the other half of the equation. The command to find the read speed is pretty similar to the command to read the write speed – and that command would look a little something like this:

Or, again, if you want an example of how to test the speed at which you can read data from your drive, an example command would look a little like this:

Note the difference between the commands. In the latter command, we’re writing data from the disk (reading it) and sending it to the bit bucket. With the write command, we’re going the opposite direction. In one case you’re writing from /dev/null and in another case you’re writing to /dev/null. Pretty easy, huh?

Closure:

There it is! This is actually the 301st article written for Linux-Tips.US! This time around we learned how to test your drive speed in the Linux terminal. I told you that it wasn’t too complicated and I stand by it. If you just follow the directions, you’ll learn how to test your drive speed and have another tool in your toolbox.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.