Jump to content
jbartlett

DiskSpeed, hard drive benchmarking (unRAID 6+), version 2.4

380 posts in this topic Last Reply

Recommended Posts

3 hours ago, doron said:

Hi @jbartlett- has there been progress on this issue? I'm seeing the same issue ("usr/bin/lspci: option requires an argument -- 's') so I thought I'd ask.

Thanks!

I need more information from you. I put in the same version of the card as yours but did not get the same drive breakout paths on the OS. Please describe everything between your motherboard and the hard drive.

Share this post


Link to post
5 hours ago, jbartlett said:

 

I didn't know there was a 24 port controller. I have the timeout set to five minutes to try to nip any rogue processes in the bud but at 24 drives testing for 15 seconds each, it would take at least six minutes to do a complete pass.

 

I've updated the default timeout to ten minutes. I just pushed version 2.3 - please update the Docker and try again.

Hi Jbartlett,

 

Thanks for working on the update.

Unfortunately i updated to latest container and still getting the it showing version 2.2 in top left corner and still getting the same error.

Even tried completely deleting docker image and all local files and reinstalling just incase it was cached wrong somehow and still not getting version 2.3 or removal of the error.

 

Does it take a while for docker to propigate or is there something i need to do to force it to 2.3 (such as a beta branch or something)?

 

Also just FYI SAS controllers (with expanders) can be connected to upto 256 drives!

However that would be quite a large timeout value ;)

 

Just my thoughts on the issue as well for a future more robust fix.

Would it be possible to change this value to be set as a variable not a constant to e.g "30seconds * #numofdrives" to fix any compatibility issues with different configs ?

 

Alternatively a more reasonable general limit if that isnt possible would be the equivilent time needed for 32 drives as Unraids main array limit is 30 drives and a standard config usualy also includes 2 cache drives so 30+2 = 32 drives maximum on a "normal" unraid system.

This would equate to a runtime of about 8 min's at your 15seconds per drive statement, so perhaps a 10 min timeout would be appropriate for this scenario?

 

(Unraid techincaly does support 54 drives, 30 array, 24 cache. But that would be an extremely edge case and most likely never occur as the controller bandwidth bottlenecking would be something crazy if 30 array and 24 cache drives where being hit at once by users and all where on the same controller)

 

Thanks for your help so far mate.

 

Regards,

Patrick

Share this post


Link to post
6 hours ago, jbartlett said:

I need more information from you. I put in the same version of the card as yours but did not get the same drive breakout paths on the OS. Please describe everything between your motherboard and the hard drive.

 

Thanks for taking the time! (Just to avoid confusion, this particular issue was first reported by @electron286 , I was asking about progress since I bumped into same issue).

 

At any rate, I found the problem, at least in my case. My setup includes a floppy drive, which is a platform-connected device. Seems like ScanControllers.cfm device tree parsing is slightly confused by this.

What you get in ls -l /sys/block for this device looks like this:

fd0 -> ../devices/platform/floppy.0/block/fd0

Once instructed to ignore such devices, the scanning process completes happily and everything starts to work flawlessly.

 

Below is a proposed patch to ScanControllers.cfm. 

Again, thanks for building and maintaining this fantastic tool over the years!

 

--- ScanControllers.cfm.orig    2019-08-07 06:57:04.000000000 +0300
+++ ScanControllers.cfm 2019-10-09 10:49:20.150512121 +0300
@@ -388,7 +388,7 @@
 <CFFILE action="write" file="#PersistDir#/ls_sysblock.txt" output="#BlockDevices#" addnewline="NO" mode="666">
 <CFLOOP index="i" from="2" to="#ListLen(BlockDevices,Chr(10))#">
        <CFSET CurrLine=ListGetAt(BlockDevices,i,Chr(10))>
-       <CFIF FindNoCase("virtual",CurrLine) EQ 0>
+       <CFIF FindNoCase("virtual",CurrLine) EQ 0 AND FindNoCase("platform",CurrLine) EQ 0>
                <CFSET DrivePath="/sys/" & ListDeleteAt(ListLast(CurrLine,">"),1,"/")>
                <CFSET CurrDrive=Duplicate(Drive)>
                <CFSET CurrDrive.DevicePath=DrivePath>

 

 

Share this post


Link to post
9 hours ago, patchrules2000 said:

Thanks for working on the update.

Unfortunately i updated to latest container and still getting the it showing version 2.2 in top left corner and still getting the same error.

Even tried completely deleting docker image and all local files and reinstalling just incase it was cached wrong somehow and still not getting version 2.3 or removal of the error.

I pushed an update after pulling up BeyondCompare to do a code sync but didn't actually sync the code. That'll teach me to try to work on bugs after being up for nearly 24 hours after a whirlwind vacation of New York City & Long Island! Try again, I show 2.3 on my main rig.

 

Instead of just increasing the timeout to accommodate your rig, I just bumped it up to 9999 seconds for the controller benchmark (2.78 hours).

Share this post


Link to post
5 hours ago, jbartlett said:

I pushed an update after pulling up BeyondCompare to do a code sync but didn't actually sync the code. That'll teach me to try to work on bugs after being up for nearly 24 hours after a whirlwind vacation of New York City & Long Island! Try again, I show 2.3 on my main rig.

 

Instead of just increasing the timeout to accommodate your rig, I just bumped it up to 9999 seconds for the controller benchmark (2.78 hours).

Haha, Happens to the best of us :)

 

Update worked a treat! thanks for your help.

 

I can now rest easy at night knowing im getting full throughput from my drives, all 4.85GB/s of it!!!!

 

Also good to know i have some theoretical headroom of about 3GB/s for future expansion through expanders if i ever find a case to support that many drives.

Thank you for supporting such a useful tool.

 

image.thumb.png.037ee50884eef27bb34c1cfcf4af9962.png

 

Share this post


Link to post

Hi,

 

I install your pluggin yesterday and I got a error messages from the ScanControllers.cfm script file with the lspci command syntax.

 

I'm new in this forum, but how can I send you the bug description?

 

I dont want to flood this Forum, but there is a screenshot of the experienced error.

 

I'm avaliable to help if required.

 

image.png.09b0aea285a4c39b523f5eb6353eb417.png

Share this post


Link to post
5 hours ago, seaquest75 said:

Hi,

 

I install your pluggin yesterday and I got a error messages from the ScanControllers.cfm script file with the lspci command syntax.

 

I'm new in this forum, but how can I send you the bug description?

 

I dont want to flood this Forum, but there is a screenshot of the experienced error.

 

I'm avaliable to help if required.

This issue may be resolved in a patch another user submitted to me. I'll post an update shortly.

Share this post


Link to post

No problem.

 

If I can test or be a Beta tester, I'm willing.  Just le me know

 

Thank you :)

Edited by seaquest75

Share this post


Link to post

Version 2.4: Added changes submitted by @doron which should help those who got the "-s option" error by ignoring "platform" devices

  • Display the correct throughput value when both the controller LnkSta & LnkCap are the same (current & max link speed)
  • Reference table for PCIe controller link speed max throughput updated to add x32
  • Omit "platform" devices such as floppy drives from the scan
  • Ignore "Logical/Physical Sector size" returned from hdparm as it does not properly handle SAS drives. Will implement a better fix later when I get a SAS drive

Share this post


Link to post

Just installed but the interface won't load

 

i see this in the error log - 

 

2019-11-03 22:28:05.741 loaded security
2019-11-03 22:28:05.741 loaded lib
03-Nov-2019 22:28:05.886 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8888"]
03-Nov-2019 22:28:05.949 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
03-Nov-2019 22:28:05.950 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3768 ms
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000014bb28b8b000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 12288 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/tomcat/hs_err_pid1.log

 

Share this post


Link to post
On 11/3/2019 at 2:40 PM, gareth_iowc said:

Just installed but the interface won't load

How much total memory do you have and how much free when you tried to launch?

Share this post


Link to post

So im having a weird issue where the drive img's load for a split second and then disappear. This happeneds everytime i open the docker, or refresh the page?

Share this post


Link to post
On 11/16/2019 at 6:13 PM, powderwt said:

So im having a weird issue where the drive img's load for a split second and then disappear. This happeneds everytime i open the docker, or refresh the page?

Browser & browser version?

Share this post


Link to post

I have also a weird problem here...

Using unraid v6.8.0-rc6 and got this (see picture) when i check my 8TB-Parity drive...

The red marked number increases slowly but nothing else happens...

DiskSpeed.jpg

Edited by Zonediver

Share this post


Link to post
9 hours ago, Zonediver said:

I have also a weird problem here...

Using unraid v6.8.0-rc6 and got this (see picture) when i check my 8TB-Parity drive...

The red marked number increases slowly but nothing else happens...

Kick off a benchmark from the main screen, select your parity drive and at least one other drive. There needs to be at least two drives being benchmarked for the following to be displayed: "Click on a drive label to hide or show it."

 

The period at the end of a line is a hidden hyperlink which unhides the iframes that is doing the actual work. That will give additional detail as to what's going on.

Share this post


Link to post
1 hour ago, jbartlett said:

Kick off a benchmark from the main screen, select your parity drive and at least one other drive. There needs to be at least two drives being benchmarked for the following to be displayed: "Click on a drive label to hide or show it."

 

The period at the end of a line is a hidden hyperlink which unhides the iframes that is doing the actual work. That will give additional detail as to what's going on.

Thanks for your reply - i did what you said but there was something wrong - i got a Java-Error...

I restarted the docker and now its working again 👍

Share this post


Link to post
4 hours ago, Zonediver said:

Thanks for your reply - i did what you said but there was something wrong - i got a Java-Error...

I restarted the docker and now its working again 👍

If you get the Java error again, please post a screen shot of it.

 

How much RAM does the system have/free?

Edited by jbartlett

Share this post


Link to post
5 hours ago, jbartlett said:

If you get the Java error again, please post a screen shot of it.

 

How much RAM does the system have/free?

Will do that but this was the first time i saw this error since i use your docker.

The sys has 24GB RAM and 2-4GB used - rest is cache.

Share this post


Link to post
8 hours ago, Zonediver said:

Will do that but this was the first time i saw this error since i use your docker.

The sys has 24GB RAM and 2-4GB used - rest is cache.

Well, it's not a matter of low memory. Do you start the docker when you want to run a test or is it basically always on?

Share this post


Link to post
28 minutes ago, jbartlett said:

Well, it's not a matter of low memory. Do you start the docker when you want to run a test or is it basically always on?

Its always on cause it doesn't need much RAM. Next time (if it fails again) i make a screenshot and restart the docker again 😉

Edited by Zonediver

Share this post


Link to post
16 minutes ago, Zonediver said:

Its always on cause it doesn't need much RAM. Next time (if it fails again) i make a screenshot and restart the docker again 😉

I'm wondering if Java's memory "junk removal" isn't happening properly. I can add code to force that if it is. My backup NAS always has the docker running too, I'll kick off a full benchmark & a controller benchmark once or twice a day to see if I can duplicate.

Share this post


Link to post
34 minutes ago, jbartlett said:

I'm wondering if Java's memory "junk removal" isn't happening properly. I can add code to force that if it is. My backup NAS always has the docker running too, I'll kick off a full benchmark & a controller benchmark once or twice a day to see if I can duplicate.

Yep - sounds good - let me know if it helps 👍

Share this post


Link to post

Hello,

 

for sure an "noob"-problem :) I tried to install Diskspeed-Docker via Apps but when I want to access Diskspeed-WebUI-Page I get "Error: Connection failed". Privileged mode is on. What I do wrong? Thanks for helping.

 

czoskoi5.jpg

 

 

 

 

diskspeed-log.txt

Edited by unMaxe

Share this post


Link to post
9 hours ago, unMaxe said:

Hello,

 

for sure an "noob"-problem :) I tried to install Diskspeed-Docker via Apps but when I want to access Diskspeed-WebUI-Page I get "Error: Connection failed". Privileged mode is on. What I do wrong? Thanks for helping.

Did you manually change the default port number to 54777 from 18888? If not, try port 18888.

 

Did you launch the UI via clicking on the icon and selecting "WebUI"?

 

image.png.a2db7b8ab621381f47fd4101e6762317.png

Share this post


Link to post
On 11/23/2019 at 9:32 PM, jbartlett said:

Did you manually change the default port number to 54777 from 18888? If not, try port 18888.

 

Did you launch the UI via clicking on the icon and selecting "WebUI"?

 

image.png.a2db7b8ab621381f47fd4101e6762317.png

Yes, i tried to install docker with a custom port like below, now i reinstalled with default port works now (only edit port at docker settings dont worked). 

But now it will run fine.

Share this post


Link to post

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.