Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

DiskSpeed, hdd/ssd benchmarking (unRAID 6+), version 2.10.10

Featured Replies

This Docker Application will let you view your storage controllers & the drives attached to them and perform Benchmarks on both. Controller Benchmarks helps to identify if the drives attached to it will potentially exceed the capacity of the controller if they were all fully being read from at the same time (such as during a Parity check). Drive Benchmarks lets you monitor the performance over time to look for desegregation or unexpected slow areas while getting a clean SMART report.

 

Installation

Via the Community Application: Search for "DiskSpeed"

Manual Installation

    (The Community Applications plugin is having issues currently, here's a work around for now)

    Save the attached "my-DiskSpeed.xml" file to your NAS under \\tower\flash\config\plugins\dockerMan\templates-user

    View the Docker tab in your unRAID Administrator , click on "Add Container"

    Under "Select a template", pick "my-DiskSpeed"

    The defaults should work as-is unless you have port 18888 already in use. If so, change the Web Port & WebUI settings to a new port number. The Docker will create a directory called "DiskSpeed" in your appdata directory to hold persistent data.

    Note: Privileged mode is required so that the application can see the controllers & drives on the host OS.

    This docker will use up to 512MB of RAM. RAM optimization will happen in a later BETA.

 

Running

View the Docker tab in your unRAID Administrator and click on the icon next to "DiskSpeed" and select WebUI.

 

Drive Images

As of this December 2022, the Hard Drive Database (HDDB) has 3,000+ drive models in 70+ brands. If you have one or more drives that do not have a predefined image in the HDDB, you have a couple options available - wait for me to add the image which will be displayed after you click "Rescan Controllers" or you can add the drive yourself by editing it and uploading a drive image for it. You can view drive images in the HDDB to see if there's an image that'll fit your drive and optionally upload it so others can benefit.

 

Controller & Drive Identification Issues

Some drives, notably SSD's, do not reveal the Vendor correctly or at all. If you view the Drive information and it has the same value for the vendor as the model or an incorrect or missing Vendor, please inform me so that I can manually add the drive to the database or add code to handle it. If you have a controller that is not detected, please notify me.

 

Benchmarking Drives

Disk Drives with platters are benchmarked by reading the drive at certain percentages for 15 seconds and averages the speed for each second except for the first 2 seconds which tends to trend high. Since drives can be accessed while testing, if a min/max read speed exceeds a threshold, the test is re-performed with an increasing threshold to account for drives with bad areas.

 

Solid State drives are benchmarked by writing large files to the device and then reading them back. In order to benchmark SSD's, they must be mounted in UNRAID and a mapping configured in the DiskSpeed Docker settings. You must restart the DiskSpeed app after mounting a device for it to be detected.

image.png.52a72733b7dde2d162708b304fc7fc73.png

 

For other Docker installations, an example is -v '/mnt':'/mnt/Host':'rw' if you have all your SSD's mounted under /mnt. You may need more than one volume parameter if they are mounted in different areas.

 

Contributing to the Hard Drive Database

If you have a drive that doesn't have information in the Hard Drive Database other than the model or you've performed benchmark tests, a button will be displayed at the bottom of the page labeled "Upload Drive & Benchmark Data to the Hard Drive Database". The HDDB will display information given up by the OS for the drives and the average speed graphs for comparison.

 

Application Errors

If you get an error message, please post the error here and the steps you took to cause it to happen. There will be a long string of java diagnostics after the error message (java stack) that you do not need to include, just the error message details.

If you can't get past the Scanning Hardware screen, change the URL from http://[ip]:[port]/ScanControllers.cfm to http://[ip]:[port]/isolated/CreateDebugInfo.cfm and hit enter.

 

Note: The unRAID diagnostic file doesn't provide any help. If submitting a diagnostic file, please use the link at the bottom of the controllers in the Diskspeed GUI.

 

Home Screen (click top label to return to this screen)

image.thumb.png.438c75b09b86db84378049cc842ba80b.png

 

 

 

Controller Information

ControllerInfo2.thumb.png.f76e947529cdd73cea31feb583f6eb41.png

 

 

 

Drive Information

image.png.e3664ba40e673b1033b7db7b14e542dd.png

 

image.png.d34b1bb34fb795e866e6ae43620e193a.png

 

While the system cache is bypassed when benchmarking, some devices have a built-in cache that ignores cache bypass commands. An initial high write speed that quickly levels out is a sign of such as shown below.

image.png.74488ada60c9ee52c55a826b0296be0f.png

 

Drive Editor

 

DriveEditor.png.d8715c6494f9c048d73f9baac7dc78d1.png

 

 

my-DiskSpeed.xml

Edited by jbartlett

  • Replies 1.1k
  • Views 387.2k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • jbartlett
    jbartlett

    When I tested this utility against my production server, I noticed that I had a drive going wonky on me. I couldn't even test it at first because it kept tripping the SpeedGap detection in which the m

  • jbartlett
    jbartlett

    I'm taking this application out of BETA status. Version 2.0 has been released.   Release 2.0 Added progress bars to the drive benchmarking Rewrote the Controller Benchmark to be

  • Right Proper SSD benchmarking has been added. To perform a benchmark, a configurable number of test files of a given size (defaults to 10 2GB files) are written to the drive and then read back. The ov

Posted Images

  • Author

When I tested this utility against my production server, I noticed that I had a drive going wonky on me. I couldn't even test it at first because it kept tripping the SpeedGap detection in which the minimum & maximum speed over 15 seconds was too great - a sign of disk activity or in my case, a drive giving very inconsistent read speeds. I had to add logic to disable the SpeedGap detection to even be able to fully test the drive.

 

In this case, the drives are all the same make & revision and their curve should be nearly identical but Disk 5 stands out.

 

baddrive.png.044505bc32bd13dee1ec79674beb365f.png

 

Viewing Drive 5 by itself, I can see it's curve is not normal. Spinners should have a steady decline over the entire range of the drive. I'll be retiring this drive from my main server and using it for platter heat map test where the entire drive is read and a heatmap of the read speeds given.

 

baddrive2.png.6a323cbce4da0f25d21e58264a236845.png

Edited by jbartlett

VERY NICE

 

I notice I've got several missing models/images though. I see that you show that "they are reported for my review". Does that mean you don't need any more info from me regarding them?

Also, i see that my Mushkin MKNSSDRE240GB-LT SSD seems have been improperly identified as a Toshiba drive.

 

SafariScreenSnapz088.jpg.26e94b134dad6d09097d13f8c82427db.jpg

 

I added the image manually from your database.

Edited by wgstarks

WD80EMAZ was missing from the database as far as I could see. I uploaded a cropped image I stole off the internet.

  • Author
3 hours ago, wgstarks said:

VERY NICE

 

I notice I've got several missing models/images though. I see that you show that "they are reported for my review". Does that mean you don't need any more info from me regarding them?

 

Correct. I have 16 drive models identified that aren't in my database.

  • Author
3 hours ago, wgstarks said:

Mushkin MKNSSDRE240GB-LT SSD seems have been improperly identified as a Toshiba

 

That seems to be the case for all Mushkin drives. I added logic to beta 2a (pushed) to change the Vendor to Mushkin if the model starts with MKN.

  • Author
1 hour ago, jonathanm said:

WD80EMAZ was missing from the database as far as I could see. I uploaded a cropped image I stole off the internet.

 

All of the images came from the same source ;) Though some vendors were nice enough to have presentation media to use.

Will the docker still auto-update if I installed it manually? CA server still appears to be tits up. Not sure if that also effects updates.

2 minutes ago, wgstarks said:

Will the docker still auto-update if I installed it manually?

Yes

1 hour ago, jbartlett said:

 

That seems to be the case for all Mushkin drives. I added logic to beta 2a (pushed) to change the Vendor to Mushkin if the model starts with MKN.

After updating to beta 2a I see that changes that I made to the drive capacity display aren’t being saved. Would it be possible to save these changes across docker updates?

 

Also, the Mushkin is now detected correctly. Thanks.

Edited by wgstarks

  • Author

Beta 2b pushed

  • Change Vendor to Muskin if the model starts with "MKN" - Muskin drives identify as Toshiba.
  • Change Vendor to Crucial if the model starts with "MTFD" - drive Vendor not given
  • Change Vendor to OCZ if the vendor starts with "OCZ-"
  • Change Vendor to "Samsung" if model string starts with "Samsung" - some drives report as "Western Digital"
  • Added Model RegEx "CT[0-9]{3,}(B|M)[A-Z]?[0-9]{2,}SSD" to identify Crucial drives
  • Added Mushkin model cleanup
  • Added Plextor model cleanup

Not seeing the drives on my Areca controller.

ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller
Areca Technology Corp. 
RAID bus controller 

No drives detected

Current Link Speed: 2.5GT/s width x8 (2 GB/s max throughput)
Maximum Link Speed: 2.5GT/s width x8 (2 GB/s max throughput)
Bus: 32 bits @ 33MHz
Driver: arcmsr
Capabilities: storage pm msi pciexpress bus_master cap_list rom

ps. just noticed it misidentifying the model number. I have Areca ARC-1231ML

Edited by interwebtech

  • Author
5 minutes ago, interwebtech said:

just noticed it misidentifying the model number. I have Areca ARC-1231ML

 

I won't be able to correct these. It's displaying what the OS is reporting. Likely the PCI ID database for the the controller is wrong in the master PCI ID list.

1 hour ago, wgstarks said:

After updating to beta 2a I see that changes that I made to the drive capacity display aren’t being saved. Would it be possible to save these changes across docker updates?

 

Also, the Mushkin is now detected correctly. Thanks.

 

15 minutes ago, jbartlett said:

 

Beta 2b pushed

 

Same issue with display customizations not being saved across docker updates.

Pretty minor issue though.

  • Author
1 minute ago, wgstarks said:

Same issue with display customizations not being saved across docker updates.

 

Check your Docker setup to see if Local Storage is defined and the directory location contains files. This is a sign that it's not saving data to the appdata share and the changes are being stored in the Docker container itself which is lost whenever you update the application via Docker Update.

38 minutes ago, jbartlett said:

 

You mean the drive editor? I haven't made any changes to the code behind it. Try clicking the "Rescan Controllers"  button to see if that helps.

Rescanning Controllers seems to be the cause of the problem.

 

It looks like edits to the drives are saved in storage.json and whenever I rescan controllers storage.json gets overwritten (actually it’s renamed to oldstorage.json) so any edits that were made to it are lost.

 

This is just what I’m seeing on my system. Maybe this isn’t proper behavior?

Installed

ooYPseY.png

 

this is what I have.

 

and this is what is "found" even after re-scans.

cAXAgiE.png

 

Missing a few drives there. (3 total)

 

1 3tb WD

1 2TB WD

1 5TB Seagate

 

any advice?

  • Author
29 minutes ago, wgstarks said:

Rescanning Controllers seems to be the cause of the problem.

 

It looks like edits to the drives are saved in storage.json and whenever I rescan controllers storage.json gets overwritten (actually it’s renamed to oldstorage.json) so any edits that were made to it are lost.

 

This is just what I’m seeing on my system. Maybe this isn’t proper behavior?

 

Nope, sure isn't proper behavior. The storage.json file is recreated every time the system is scanned and oldstorage.json is created if I need to preserve any data but it should be saving the drive configuration in a save directory under <appdata>/DiskSpeed/Instances/local/driveinfo for the drive in a file named "config.json" which doesn't seem to be always created. I'll look into it.

  • Author
20 minutes ago, Nyghthawk said:

Missing a few drives there. (3 total)

 

Do you have a 3rd controller that the three missing drives are attached to? If so, what is it?

Not that I am aware of. 

 

14 SATA connectors on the Motherboard is all I have. I think its split up in 10 and then 4

 

1 minute ago, jbartlett said:

 

Do you have a 3rd controller that the three missing drives are attached to? If so, what is it?

 

Edited by Nyghthawk

I have a similar issue in that one of my drives is not shown but the other 5 are. Also on the right is says 1 new drive detected (SDF) which is also the one not shown.

 

image.thumb.png.73a5e7b9c2819fd83405138ccdb79b12.png

5 minutes ago, jbartlett said:

 

Nope, sure isn't proper behavior. The storage.json file is recreated every time the system is scanned and oldstorage.json is created if I need to preserve any data but it should be saving the drive configuration in a save directory under <appdata>/DiskSpeed/Instances/local/driveinfo for the drive in a file named "config.json" which doesn't seem to be always created. I'll look into it.

I’m getting <appdata>/DiskSpeed/Instances/local/<diskID>/driveinfo/config.json but looks like no edits are written to this file.

  • Author
33 minutes ago, Nyghthawk said:

14 SATA connectors on the Motherboard is all I have. I think its split up in 10 and then 4

 

27 minutes ago, MMW said:

I have a similar issue in that one of my drives is not shown but the other 5 are. Also on the right is says 1 new drive detected (SDF) which is also the one not shown.

 

Onboard SATA controllers aren't being detected. I'll add code to pack up the saved data files so I can see exactly what you see and troubleshoot.

  • Author

Beta 2c pushed

  • Added additional Mushkin model cleanup
  • Added Port Number for the drives on the Home Screen
  • Added troubleshooting debug file logic
  • Keep drive edits after rescanning the controllers

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.