chubbypanda25 Posted March 4 Share Posted March 4 3 hours ago, jbartlett said: Please try again. I was performing some database maintenance. Thank you for the update! Working again for me as well! 😁 Quote Link to comment
Hacky Posted March 6 Share Posted March 6 On 3/4/2024 at 9:03 PM, jbartlett said: Please try again. I was performing some database maintenance. Thank you! It works now! Quote Link to comment
ksw10292 Posted March 17 Share Posted March 17 > 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"? Quote Link to comment
StancuFlorin Posted March 17 Share Posted March 17 (edited) 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! Edited March 17 by StancuFlorin Quote Link to comment
rampantandroid Posted March 18 Share Posted March 18 (edited) 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 March 18 by rampantandroid Quote Link to comment
jbartlett Posted March 22 Author Share Posted March 22 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! Can you create a Debug file from the DiskSpeed main page (link at the bottom) and PM me it to me? 1 Quote Link to comment
jbartlett Posted March 22 Author Share Posted March 22 (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 March 22 by jbartlett 1 Quote Link to comment
StancuFlorin Posted March 23 Share Posted March 23 (edited) 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). Edited March 23 by StancuFlorin 1 Quote Link to comment
jbartlett Posted April 4 Author Share Posted April 4 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.😃 1 Quote Link to comment
tower defense Posted April 4 Share Posted April 4 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 Quote Link to comment
jbartlett Posted April 4 Author Share Posted April 4 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. 1 Quote Link to comment
tower defense Posted April 4 Share Posted April 4 6 hours ago, jbartlett said: 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. Email sent Thanks 1 Quote Link to comment
Masterwishx Posted April 8 Share Posted April 8 @jbartlett have strange benchmark result for Samsung 870 Evo 1TB : should be about 500+ Mb/s Quote Link to comment
ProphetSe7en Posted April 10 Share Posted April 10 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 ---> Quote Link to comment
jbartlett Posted April 15 Author Share Posted April 15 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. Quote Link to comment
ProphetSe7en Posted April 17 Share Posted April 17 (edited) On 4/15/2024 at 3:43 AM, jbartlett said: Please update your DiskSpeed docker container. I added logic to catch this rare issue. Working now. Thank you 🙂 Edited April 17 by ProphetSe7en 1 Quote Link to comment
idean Posted April 18 Share Posted April 18 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) Quote Link to comment
jbartlett Posted April 19 Author Share Posted April 19 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 Quote Link to comment
idean Posted April 21 Share Posted April 21 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. Quote Link to comment
jbartlett Posted April 22 Author Share Posted April 22 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. Quote Link to comment
ChatNoir Posted May 14 Share Posted May 14 1 minute ago, Paul68kdmd said: Hello, I’m currently running 2.10.8.1 on Synology ds1522+ All 5 drives (SHR1, 1 parity, btrfs) are benchmarkable, while I haven’t been able to find a way to bench mark my nvme drive. My question is, how can I put DiskSpeed in a raid mode instead of ahci? Thank you, This forum is for the Unraid NAS OS, not sure any information here can be translated to Synology. Quote Link to comment
jbartlett Posted May 17 Author Share Posted May 17 On 5/14/2024 at 12:22 AM, ChatNoir said: This forum is for the Unraid NAS OS, not sure any information here can be translated to Synology. While optimized to run under Unraid, it does try to support other OS's. 1 Quote Link to comment
jbartlett Posted May 17 Author Share Posted May 17 (edited) Version 2.10.9 beta is available, you can try it by editing your docker to specify repository "jbartlett777/diskspeed:2.10.9". You will see the following information after updating and launching the application. I'm confident that it'll be fine but I only have two servers to test with. New Feature: Drive S.M.A.R.T. Data Collection Soon, the drive health history data from BackBlaze will be displayed on this applications companion site, the Hard Drive Database. This data reveals reliability trends of hard drives used by BackBlaze such as how often a particular model fails each year. I would like to contribute to this data analysis effort by tracking the SMART data by users of the DiskSpeed application. If you chose to Opt In to this, the SMART data will be collected every time your hardware is scanned by DiskSpeed and anonymously uploaded to the HDDB server. Any subsequent upload of a drives SMART data will overwrite the previous so only the most recent is stored. Each drive is identified by a SHA1 hash of it's vendor, model, revision, & serial number. You may change your choice to either Opt In or Out on the Hardware Scan screen. Upon Opting Out, you also have the choice to remove your SMART records from the HDDB server. Preview of SMART submission Drive ID: d76ade9264e2b7ca0f90c1a28e29eae30b1feb29c { "nvme":0, "ssd":0, "model":"WDC WD6002FFWX-68TZ4N0", "rev":"83.H0A83", "bytes":6001175126016, "smart":[ { "id":1, "name":"Raw_Read_Error_Rate", "normalized":100, "value":0, "string":"0" }, { "id":2, "name":"Throughput_Performance", "normalized":137, "value":104, "string":"104" }, { "id":3, "name":"Spin_Up_Time", "normalized":152, "value":21506818423, "string":"375 (Average 488)" }, { "id":4, "name":"Start_Stop_Count", "normalized":100, "value":731, "string":"731" }, {"sniped for brevity in this post"}, { "id":199, "name":"UDMA_CRC_Error_Count", "normalized":200, "value":0, "string":"0" } ] } Edited May 17 by jbartlett Quote Link to comment
jbartlett Posted May 19 Author Share Posted May 19 Version 2.10.9 push to all Update Lucee to the version 6 branch Update Vendor identification Add opt-in/out data collection of SMART data Add detection for invalid hardware configuration file, rescan hardware to recreate if true Add timeout to fetching Vendor & HDDB info during hardware scan process Quote Link to comment
spazoid Posted May 20 Share Posted May 20 Latest update broke the app for me - getting this error: Scanning Hardware 09:55:03 Spinning up hard drives 09:55:03 Scanning system storage 09:55:04 Scanning USB Bus 09:55:04 Scanning hard drives 09:55:06 Scanning storage controllers 09:55:06 Scanning USB hubs & devices 09:55:06 Scanning motherboard resources 09:55:06 Fetching known drive vendors from the Hard Drive Database Lucee 6.0.1.83 Error (expression) Message Can't cast Complex Object Type Struct to String Detail Use Built-In-Function "serialize(Struct):String" to create a String from Struct Stacktrace The Error Occurred in /var/www/ScanControllers.cfm: line 1851 1849: } else { 1850: if (ListFindNoCase("ADATA,Apacer,Corsair,KINGSTON,Netac,Patriot,PNY,Reletech,Sabrent,Seagate,XPG,ZHITAI",ListFirst(DriveData[i].Model," "))) DriveData.Vendor=ListFirst(DriveData[i].Model," "); 1851: if (ListFindNoCase("Western Digital",ListFirst(DriveData[i].Model," ") & " " & ListGetAt(DriveData,2," "))) DriveData.Vendor=ListFirst(DriveData[i].Model," ") & " " & ListGetAt(DriveData,2," "); 1852: if (ListFirst(DriveData[i].Model," ") EQ "WD") DriveData[i].Vendor="Western Digital"; 1853: if (ListFirst(DriveData[i].Model," ") EQ "TEAM") DriveData[i].Vendor="Team Group"; called from /var/www/ScanControllers.cfm: line 1819 1817: if (Left(DriveData[i].Model,9) EQ "GIGABYTE ") {DriveData[i].Vendor="GIGABYTE";DriveData[i].Model=Mid(DriveData[i].Model,10,999);} 1818: } 1819: if (Left(DriveData[i].Vendor,9) EQ "GIGABYTE ") {DriveData[i].Vendor="GIGABYTE";DriveData[i].Model=Mid(DriveData[i].Model,10,999);} 1820: if (Left(DriveData[i].Vendor,8) EQ "Sabrent ") {DriveData[i].Vendor="Sabrent";DriveData[i].Model=Mid(DriveData[i].Model,9,999);} 1821: called from /var/www/ScanControllers.cfm: line 1633 1631: <cfdump var=#cfhttp#> 1632: </CFIF> 1633: </CFIF> 1634: <!--- Match the vendor case to what we have in the database ---> 1635: <CFLOOP index="Key" list="#StructKeyList(HW)#"> Java Stacktrace lucee.runtime.exp.ExpressionException: Can't cast Complex Object Type Struct to String at lucee.runtime.type.util.StructSupport.castToString(StructSupport.java:204) at lucee.runtime.op.Caster.toString(Caster.java:2105) at scancontrollers_cfm$cf.call_000152_000153(/ScanControllers.cfm:1851) at scancontrollers_cfm$cf.call_000152(/ScanControllers.cfm:1819) at scancontrollers_cfm$cf.call(/ScanControllers.cfm:1633) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1059) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:951) 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:2715) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2701) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2672) at lucee.runtime.engine.Request.exe(Request.java:45) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1259) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1205) 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:200) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:169) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) 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:670) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:761) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) 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:928) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1786) 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:63) at java.base/java.lang.Thread.run(Unknown Source) I tried force updating the container, but it did not resolve it. Any ideas? Quote Link to comment
Recommended Posts
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.