May 8, 20233 yr Hi ! My cache SSD is stuck at 0% Trimming when I try to bench it using this tool. Anything special I can try ? Edited May 8, 20233 yr by vizi0n
May 9, 20233 yr Author 35 minutes ago, vizi0n said: Hi ! My cache SSD is stuck at 0% Trimming when I try to bench it using this tool. Anything special I can try ? Click on the period (just to the right of it) at the end of "hide or show it" line when benchmarking to display the hidden iframes that are doing the actual work. If there was an error during the trim process, it will show up there. Copy-n-paste that error here (note you don't need the java stack trace if displayed)
May 9, 20233 yr @jbartlett thanks for the hint. Here is the output of the debug log from the dot Most likely that my controller does not support TRIM SSD Run Slot: 1 19:30:31 Performing random seek tests 19:30:41 Performing sequential seek tests 19:30:53 Performing drive latency tests Random Seek: 49697 SequentialSeek: 5018 DriveLatency: 1633261 Lucee 5.3.10.120 Error (application) Message Error invoking external process Detail fstrim: /mnt/UNRAID/cache: FITRIM ioctl failed: Remote I/O error Stacktrace The Error Occurred in /var/www/BenchmarkDriveController.cfm: line 234 232: 233: <CFFILE action="write" file="#OutDir#/trim.sh" mode="766" output="fstrim #MountPoint#" addnewline="NO"> 234: <CFEXECUTE name="#OutDir#/trim.sh" timeout="3060" /> 235: <CFSET WriteSpeedList=""> 236: <CFSET TotalTestFiles=0> Edited May 9, 20233 yr by vizi0n
May 10, 20233 yr Author On 5/8/2023 at 6:21 PM, vizi0n said: Here is the output of the debug log from the dot Most likely that my controller does not support TRIM Thank you. I added an error trap around the trim process to catch this, it'll go out in the next release.
May 13, 20233 yr On 5/4/2023 at 1:44 AM, jbartlett said: Click on the period (just to the right of it) at the end of "hide or show it" line when benchmarking to display the hidden iframes that are doing the actual work. If there was an error during the trim process, it will show up there. apologies for the delay... This is what I have got,... itàs been like this for more than half an hour...
May 14, 20233 yr Author 8 hours ago, Marcco said: apologies for the delay... This is what I have got,... itàs been like this for more than half an hour... It errored, probably your nvme drive doesn't support the trim function. If you click on that hidden link I mentioned, it would show the error message (same as in a recent previous post in this thread). I added a fix which will be on the next release. I'm working on adding more than 4 write threads but it seems to barf at 8 threads but works on others - trying to figure out why.
May 14, 20233 yr 12 hours ago, jbartlett said: It errored, probably your nvme drive doesn't support the trim function. If you click on that hidden link I mentioned, it would show the error message (same as in a recent previous post in this thread). I added a fix which will be on the next release. I'm working on adding more than 4 write threads but it seems to barf at 8 threads but works on others - trying to figure out why. I wish I could but I have clicked all around without finding the link you mentioned
May 15, 20233 yr Author On 5/14/2023 at 10:09 AM, Marcco said: I wish I could but I have clicked all around without finding the link you mentioned Hover just to the right of the period where marked here, the cursor will still have the text selection icon, if you see the arrow cursor, you're too far over.
May 27, 20233 yr I'm also having this problem where nothing loads at benchmark page, I tried with version 2.10 and it also had this, but when I used the oldest image 2.9.4 everything worked just fine. If I ispect the page this is the error: Also when I downgraded from 2.10.5 to 2.10 this error showed up on the right side of the interface (but I didn't delete the appdata folder, so this might be the cause to the error). Lucee 5.3.10.97 Error (expression) Messageinvalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [4] patternlistgetat(list:string, position:number, [delimiters:string, [includeEmptyFields:boolean]]):string StacktraceThe Error Occurred in /var/www/DispBenchmarkGraphs.cfm: line 6 4: <CFSET SSDsExist=ListGetAt(SeriesData,2,"|")> 5: <CFSET MaxSSDSpeed=ListGetAt(SeriesData,3,"|")> 6: <CFSET SSDScript=ListGetAt(SeriesData,4,"|")> 7: <CFSET SeriesData=ListDeleteAt(SeriesData,1,"|")> 8: <CFSET SeriesData=ListDeleteAt(SeriesData,1,"|")> called from /var/www/DispOverview.cfm: line 76 74: </CFOUTPUT> 75: 76: <CFINCLUDE TEMPLATE="DispBenchmarkGraphs.cfm"> 77: 78: <CFOUTPUT> Java Stacktracelucee.runtime.exp.FunctionException: invalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [4] Spoiler at lucee.runtime.functions.list.ListGetAt.call(ListGetAt.java:46) at lucee.runtime.functions.list.ListGetAt.call(ListGetAt.java:40) at dispbenchmarkgraphs_cfm$cf.call(/DispBenchmarkGraphs.cfm:6) 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:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 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(Thread.java:829)
May 29, 20233 yr Assembled a new server and got 4 - 1TB NVMEs in a Asus Hyper M.2 card. All cards are mounted as individual cache pools. I added the path for SSDs but get this for the app-cache nvme. I can benchmark the other 3. Identified mount point /mnt/UNRAID/app-cache does not have 5GB available space. Also..the graph values and speeds don't make sense. Edited May 29, 20233 yr by Fuggin
May 29, 20233 yr On 5/14/2023 at 6:09 AM, jbartlett said: It errored, probably your nvme drive doesn't support the trim function. If you click on that hidden link I mentioned, it would show the error message (same as in a recent previous post in this thread). I added a fix which will be on the next release. I'm working on adding more than 4 write threads but it seems to barf at 8 threads but works on others - trying to figure out why. Same error here when trying to bench a SSD drive Here you have log ouput: SSD Run Slot: 1 11:49:45 Performing random seek tests 11:49:55 Performing sequential seek tests 11:50:07 Performing drive latency tests Random Seek: 61641 SequentialSeek: 8264 DriveLatency: 1826272 Lucee 5.3.10.120 Error (application) Message Error invoking external process Detail fstrim: /mnt/UNRAID/disk2: the discard operation is not supported Stacktrace The Error Occurred in /var/www/BenchmarkDriveController.cfm: line 234 232: 233: <CFFILE action="write" file="#OutDir#/trim.sh" mode="766" output="fstrim #MountPoint#" addnewline="NO"> 234: <CFEXECUTE name="#OutDir#/trim.sh" timeout="3060" /> 235: <CFSET WriteSpeedList=""> 236: <CFSET TotalTestFiles=0> Java Stacktrace lucee.runtime.exp.ApplicationException: Error invoking external process at lucee.runtime.tag.Execute.doEndTag(Execute.java:266) at benchmarkdrivecontroller_cfm$cf.call(/BenchmarkDriveController.cfm:234) 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:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 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(Thread.java:829) Timestamp 5/29/23 11:50:17 AM PDT Thanks for your great work!
May 30, 20233 yr Hey sir, great work on this app, super cool to use! Quick bug on the recent SSD benchmark. Once completed and viewing from the index page, I'm getting an incorrect unit label for the Y-axis on the left side. I believe it should be GB/Sec not MB/Sec. Take care!
June 4, 20233 yr Is there anyway you could add an option to benchmark SSDs when the CPU core count is below 4? All my unRAID systems run on old dual core CPUs. It would be nice to be able to benchmark the SSD I have in each one. That is used for a cache drive.
June 7, 20233 yr I have used the suggested /mnt but my two cache pools /mnt/cache & /mnt/ssd both still show the docker mount error. Well one of the 2 from each pool says part of a pool and the other says docker isn't mounted.
June 13, 20233 yr Does anyone know how to get this working for a ZFS filesystem? I believe the reason this test does not work for me is because I am using a ZFS file system for my cache pool and single drive ZFS for the array. I really want to benchmark the speeds of my drives, with and without compression turned on to compare speed, CPU load, and power consumption. I'm not sure if compression turned on will even make a difference for the way these tests run but for now this feels like the simplest way to benchmark the effects of compression being enabled. Would be very grateful to get some feedback on how this might be possible. Thank you
June 13, 20233 yr I've got NVME drives as a cache pool and I would like to benchmark them. I get the error: Quote * This drive is part of a multi-drive pool or array. You will need to restart the DiskSpeed docker after making changes to mounted drives for changes to take effect. However I can't find any info on what changes I need to make?
June 20, 20233 yr Author Sorry for the lack of responses, I haven't had time recently to visit. I'll respond soon in regards to them. For those who are having the trim issues, please update your Docker to reflect version 2.10.6.
June 27, 20233 yr I'm also having the issue where the page appears blank during benchmark. I've tried locating the iFrames just to the right of the period but there is nothing there. When you right click to inspect and go to the console tab I get this: Uncaught TypeError: document.getElementById(...) is null This is version 2.10.6. Thank you!
July 5, 20233 yr On 6/27/2023 at 3:34 PM, HodgePodge said: I'm also having the issue where the page appears blank during benchmark. I've tried locating the iFrames just to the right of the period but there is nothing there. When you right click to inspect and go to the console tab I get this: Uncaught TypeError: document.getElementById(...) is null This is version 2.10.6. Thank you! I benched all my drives the other day and went to do one today and getting blank screen. This is the logfile from starting the container to trying to scan to stopping it. https://atomicrhino.net/obin/?7b5f256908be0e6f#A9iCkjyjeonX9cT4Q9joBNEmY8o8LaeS3mvxzQBT1JFW On 6/7/2023 at 4:01 PM, joshrp5 said: I have used the suggested /mnt but my two cache pools /mnt/cache & /mnt/ssd both still show the docker mount error. Well one of the 2 from each pool says part of a pool and the other says docker isn't mounted. Also had the same issue (when it was working.) >WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL) Seems to be this. https://stackoverflow.com/questions/50251798/what-is-an-illegal-reflective-access Did it perhaps break between the unhraid v12 updates? Edited July 5, 20233 yr by sunwind
July 10, 20233 yr 2.10.6 Some drives don't appear to bench. Stats plugin doesn't show activity, but drive is online, smart green etc. and hdparm works. /dev/sdf: Timing cached reads: 14826 MB in 1.99 seconds = 7443.88 MB/sec Timing buffered disk reads: 500 MB in 3.01 seconds = 166.26 MB/sec root@BlackTower:/mnt/disk5# sudo hdparm -Tt /dev/sdm /dev/sdm: Timing cached reads: 18884 MB in 1.99 seconds = 9490.98 MB/sec Timing buffered disk reads: 552 MB in 3.00 seconds = 183.74 MB/sec But on those drives the Diskspeed webgui sits there. WD40EFZX drives Clicking Abort just also sits there. /sdh works as expected. All drives are data drives in the array. Nothing in logs. Over 30 mins old and last log entries: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 10-Jul-2023 18:00:42.061 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8888"] 10-Jul-2023 18:00:42.075 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [14279] milliseconds Also rescanned controller, devs hadn't changed. Edited July 10, 20233 yr by RealActorRob Add'l data.
July 11, 20233 yr I just realized that diskspeed does not test write-speed on HDD's. This led me to believe that the WD50NPZZ (WD disk sold from intenso) is a good disk for use in unraid because its read-speed are at about 75-150MB/s. I now realized, it's write speed slows down to <5MB/s after a very brief amount of constant writes to it. Hence it's more or less completely useless. For comparison: the ST5000LM000 (seagate) has constant write speeds of about 40MB/s for the same files. >8x times as fast. Everything was tested inside the array. Edited July 11, 20233 yr by madejackson
July 13, 20232 yr @jbartlett i have 4 cores cpu (i5 4440) so i cant run benchmark on ssd ? i was able to run in past , but now it show warning and no benchmark for ssd ... Edited July 13, 20232 yr by Masterwishx
July 14, 20232 yr new build and just got word of DiskSpeed,,, - great tool, so thanks a lot Good readings on HBA and mobo-attached SSD's, but the nvme on the gigabyte z690 gamingX is not giving me any diskspeed ;( The drive is cashe-drive, xfs, used for docker/appdata please advice next step - have seen other in this post getting good data from their nvme - so guess there is an obvious config I'm missing? - or something I should check/post for further investigation? Edited July 14, 20232 yr by ArveVM missing info on usage/disk format
July 23, 20232 yr Looks like the .12 upgrade is blocking access to NVMe drives. I can benchmark any drive in the array, but none of the 3 NVMe drives I have in my cache & download pools. Here is the error from the log file: WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
July 23, 20232 yr 3 minutes ago, Cold Ass Honkey said: Looks like the .12 upgrade is blocking access to NVMe drives. I can benchmark any drive in the array, but none of the 3 NVMe drives I have in my cache & download pools. Here is the error from the log file: WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Did you follow the instructions in the FAQ?
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.