Hi
@anodos, hi
@Nicolas_Studiokgb
I'm super excited about this thread as we are plagued by the same problems.
I did some semi-systematic testing also trying the custom build.
I started testing with a share that is in real-world use. Halfway through I realized that as it is a mixed AFP*/SMB share the parameters that are automatically set (eg. fruit:metadata = netatalk) are quite different from a freshly created SMB default.
Here is a WiP document with the results:
8horses Cloud
cloud.8horses.ch
Findings:
Alternate data streams = on. Having them off leads to problems and performance degradation
Apple Extensions = off - seems to always improve performance. Most dramatically on mixed SMB/AFP shares, only slightly on SMB only shares
Is there any clear disadvantage of keeping them off?
Directory listing was always near instant in the systematic tests regardless of settings. This might have to do with the data just having been copied and the metadata being in ARC
Deleting the directories - Apple extensions = off helped mostly on the mixed AFP/SMB share and gave a slight improvement on fresh SMB only share
.DS stores = off - seems to improve performance very slightly
fruit:streamname_optimization = true - no clear improvement but also no deterioration (maybe not tested systematically enough)
Installing Custom Build & setting ixnas:dirent_optimization = true - seems to not directly improve performance.
But gets rid of the problem of single cores going to 100% and locking up the connection between Mac and server!!
Other non-systematic tests with existing directories:
Custom Build installed & setting ixnas:dirent_optimization = true
Listing of directories with many files (~150K) that are not in ARC is still taking very long:
33 minutes in Finder, 18 minutes in Terminal
Here again I didn't see the problem of the smbd process going to 100% anymore and the connection between Mac and server didn't lock up and lead to spinning wheel.
Listing of a similar directory served from a
Mac over SMB takes only
5 minutes
Best practice / conclusions:
Apple extensions = off
Alternate data streams = on!!
Try to avoid having mixed AFP/SMB shares
Write .DS stores to network shares = off (
"defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE")
Listing directories that are on a TrueNAS server still takes around
6 times longer than listing similar directories that are served from a Mac.
From my memory the crappy QNAP server that we had before was also fast with listing directories over SMB.
IMO this should be the main area of research. If slow directory listing could be brought to similar performance like with Mac servers and others TrueNAS would be the perfect system for professional media workflows.
*AFP we have another problem when first accessing directories with many files (loading them into the media pool) with Davinci Resolve, the server disconnects with some symlink error in the logs. Workaround is to connect over slow but reliable AFP for those operations.