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


Recommended Posts

  • 2 weeks later...

> In order to benchmark SSD's, they must be mounted in UNRAID and a mapping configured in the DiskSpeed Docker settings.

 

Can someone explain *HOW* (not just "what") I need to do, step-by-step?  Click-by-click, how do I "mount", how do I "map", how do I "configure"?

Link to comment

I am trying to benchmark one of my HDDs from my array and I get a blank page. 

 

Also, in the browser console I can see this error

 

Benchmark.cfm:166  Uncaught TypeError: Cannot read properties of null (reading 'style')
    at CheckForFinished (Benchmark.cfm:166:42)
    at Benchmark.cfm:173:1

 

My HDD is a WD WD40EFPX

 

Any reason why this is happening? 

 

I tried with an old HDD that is not part of the array and it worked fine.

 

I am using Version: 2.10.7.5

 

Thanks!

 

image.thumb.png.3a7c1e0c4702f957620294ba53129a1c.png

 

image.png.4bf3b276b2df3bd05d9f5c3339eb8d97.png

 

image.thumb.png.40b4817418e824ce2bdbb1a38f1cce11.png

Edited by StancuFlorin
Link to comment

I'm a bit confused - does this tool benchmark drives, or can it benchmark arrays such as raidz1 arrays? It shows my drives that are in a raidz1 setup correctly, but my goal here would be to test the array itself (and with data on the array drives, I don't think I want to be doing anything with an individual drive, right?)

 

Edit: I see another comment mentioning this is for single drives only. Will ZFS pools be added at a later date?

Edited by rampantandroid
Link to comment
On 3/17/2024 at 10:43 AM, StancuFlorin said:

I am trying to benchmark one of my HDDs from my array and I get a blank page. 

 

Also, in the browser console I can see this error

 

Benchmark.cfm:166  Uncaught TypeError: Cannot read properties of null (reading 'style')
    at CheckForFinished (Benchmark.cfm:166:42)
    at Benchmark.cfm:173:1

 

My HDD is a WD WD40EFPX

 

Any reason why this is happening? 

 

I tried with an old HDD that is not part of the array and it worked fine.

 

I am using Version: 2.10.7.5

 

Thanks!

 

image.thumb.png.40b4817418e824ce2bdbb1a38f1cce11.png

 

Can you create a Debug file from the DiskSpeed main page (link at the bottom) and PM me it to me?

  • Thanks 1
Link to comment
Posted (edited)
On 3/17/2024 at 8:33 PM, rampantandroid said:

I'm a bit confused - does this tool benchmark drives, or can it benchmark arrays such as raidz1 arrays? It shows my drives that are in a raidz1 setup correctly, but my goal here would be to test the array itself (and with data on the array drives, I don't think I want to be doing anything with an individual drive, right?)

 

Edit: I see another comment mentioning this is for single drives only. Will ZFS pools be added at a later date?

 

Yes, multi-device testing will be available in a future update. RAID support is already added, other types will be as well such as ZFS pools.

Edited by jbartlett
  • Like 1
Link to comment
On 3/22/2024 at 6:57 PM, jbartlett said:

 

Can you create a Debug file from the DiskSpeed main page (link at the bottom) and PM me it to me?

 

I have sent you the debug file.

 

I also have an update.

 

When I started a full benchmark on all disk, on my main unRAID server, the WD Red Plus disks are not taken into the benchmark.

 

On my backup unRAID server, where I don't have any WD Red Plus drivers, the benchmark takes all the disks.

 

I suppose it has something to do with these disks.

 

Also, testing the controller seems to see all disk (including the WD Red Plus ones).

 

backup unraid server.PNG

main unraid disks.PNG

main unraid server.PNG

main-controller-banch.PNG

Edited by StancuFlorin
  • Thanks 1
Link to comment
  • jbartlett changed the title to DiskSpeed, hdd/ssd benchmarking (unRAID 6+), version 2.10.8

Version 2.10.8

  • Allow non-solid state drives in a pool or single drive UNRAID arrays with single parity to be benchmarked
  • Add title (on hover) to drive labels in case they're too long to display
  • Correct benchmark graph from not displaying on some systems with SSD drives
  • Add error trap in case the process that opens up all permissions on generated files gets in a race condition and can't run because it's already running
  • Add missing Mount Drive FAQ images
  • Handle extended Unicode characters in drive info
  • Add an error trap around fetching a drives partition information to catch timeouts
  • Prevent the warning on benchmarking a container with only 4 CPU's visible to Docker from stopping the benchmark process

This version should correct the white benchmark screen.😃

  • Thanks 1
Link to comment
56 minutes ago, tower defense said:

None of my drives are seen since I updated to an HBA

I emailed you a debug log back in Nov or so

I was really hoping this update would fix things, but no luck
 

 

Can you email/dm me a new debug file? I've enhanced the logging since the previous one to include more detail for me to look at.

  • Thanks 1
Link to comment

Keep getting this error after it list my drives.

 

Lucee 5.3.12.1 Error (expression)
Message	key [PARTITIONS] doesn't exist
Stacktrace	The Error Occurred in
/var/www/BuildQuickRef.cfm: line 24
22: <!--- Build RAID Members --->
23: <CFIF StructKeyExists(HW[Key].Ports[PortNo],"Partitions")>
24: <CFLOOP index="i" from="1" to="#ArrayLen(HW[Key].Ports[PortNo].Partitions.Partitions)#">
25: <CFSET UUID=Trim(HW[Key].Ports[PortNo].Partitions.Partitions[i].UUID)>
26: <CFSET MountPoint="">

called from /var/www/ScanControllers.cfm: line 2383
2381: </CFIF>
2382:
2383: <CFINCLUDE TEMPLATE="BuildQuickRef.cfm">
2384: <CFSET json=SerializeJSON(Ref)>
2385: <CFFILE action="write" file="#PersistDir#/storageref.json" output="#json#" addnewline="NO" mode="666">

called from /var/www/ScanControllers.cfm: line 2294
2292: </CFIF>
2293: </CFIF>
2294: </CFLOOP>
2295: <CFIF IsStruct(OldHW)>
2296: <!--- Restore other variables --->

 

Link to comment
On 4/10/2024 at 3:13 PM, ProphetSe7en said:

Keep getting this error after it list my drives.

 

Lucee 5.3.12.1 Error (expression)
Message	key [PARTITIONS] doesn't exist

 

Please update your DiskSpeed docker container. I added logic to catch this rare issue.

Link to comment

I'm running the April 14 update and I get the following on startup:

Lucee 5.3.12.1 Error (expression)
Message	key [CONFIG] doesn't exist
Stacktrace	The Error Occurred in
/var/www/DispBenchmarkGraphs.cfm: line 62
60: <CFSET Key=Ref.DriveID[tmpDriveID].Key>
61: <CFSET PortNo=Ref.DriveID[tmpDriveID].PortNo>
62: <CFSET BenchmarksDir="#PersistDir#/driveinfo/#HW[Key].Ports[PortNo].Config.SaveDir#/benchmark">
63: <CFSET MaxBenchDate=CreateDate(1970,1,1)>
64: <CFSET UseBenchDir="">

called from /var/www/DispOverview.cfm: line 76
74: </CFOUTPUT>
75:
76: <CFINCLUDE TEMPLATE="DispBenchmarkGraphs.cfm">
77:
78: <CFOUTPUT>

Java Stacktrace	lucee.runtime.exp.ExpressionException: key [CONFIG] doesn't exist
  at lucee.runtime.type.util.StructSupport.invalidKey(StructSupport.java:67)
  at lucee.runtime.type.StructImpl.get(StructImpl.java:149)
  at lucee.runtime.util.VariableUtilImpl.get(VariableUtilImpl.java:278)
  at lucee.runtime.util.VariableUtilImpl.getCollection(VariableUtilImpl.java:272)
  at lucee.runtime.PageContextImpl.getCollection(PageContextImpl.java:1547)
  at dispbenchmarkgraphs_cfm$cf.call(/DispBenchmarkGraphs.cfm:62)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1056)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:948)
  at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:929)
  at dispoverview_cfm$cf.call(/DispOverview.cfm:76)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1056)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:948)
  at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:65)
  at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:45)
  at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2493)
  at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2478)
  at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2449)
  at lucee.runtime.engine.Request.exe(Request.java:45)
  at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1216)
  at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1162)
  at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
  at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
  at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
  at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:768)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
  at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
  at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
  at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
  at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
  at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
  at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.base/java.lang.Thread.run(Unknown Source)

 

Link to comment
On 4/18/2024 at 6:45 AM, idean said:

I'm running the April 14 update and I get the following on startup:

Lucee 5.3.12.1 Error (expression)
Message	key [CONFIG] doesn't exist
Stacktrace	The Error Occurred in
/var/www/DispBenchmarkGraphs.cfm: line 62

 

This shouldn't happen, the CONFIG structure should exist for every drive. Can you try doing a "force update" on the Docker tab for DiskSpeed and relaunch, you should see it say "Scanning hardware" before displaying the normal page.

 

If it still fails, please use this URL and update it to reflect your UNRAID's IP to create a debug file and PM it to me.

http://[IP]:18888/isolated/CreateDebugInfo.cfm

Link to comment
On 4/19/2024 at 1:42 PM, jbartlett said:

 

This shouldn't happen, the CONFIG structure should exist for every drive. Can you try doing a "force update" on the Docker tab for DiskSpeed and relaunch, you should see it say "Scanning hardware" before displaying the normal page.

 

If it still fails, please use this URL and update it to reflect your UNRAID's IP to create a debug file and PM it to me.

http://[IP]:18888/isolated/CreateDebugInfo.cfm

Force update seems to have cleared it up. I guess I should have tried that first.

Link to comment
23 hours ago, idean said:

Force update seems to have cleared it up. I guess I should have tried that first.

 

Somehow, your config files were corrupted and the quickest way to force a rescan of your hardware when you can't even view the page is to update the docker. I have logic that detects that and forces a hardware scan.

 

I'll see about adding logic to catch this in the future. Thank you for reporting it.

Link to comment

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.