- Webmail is on the same webserver, no IIS.
Webmail must be running on the same server as MDaemon. It is possible to install IIS on the MDaemon server and run webmail via IIS.
- I'm not familiar with the notion of unsubscribed folders, but personally I don't have any and I'm also subject to slowdowns. Where is this option?
In webmail go to Options / Folders, there is an option for Hide Unsubscribed folders. This allows users to choose which folders they see. If they have access to folders they do not need or want to see, then they go to Options / Folders, find them in the folder list, and unsubscribe from them. If they find they do need access to folders that they have unsubscribed from, they can go back to the same page and resubscribe to the folders.
- Unchecking Skip Initial mail check and collapse my nested folders doesn't bring any noticeable performance improvement.
You'll need to make these changes for all users.
I'd also like to have you raise the list refresh time to something higher than 1 minute.
You can force these options to be enabled for users by editing the \MDaemon\WorldClient\domains.ini file.
[Default:UserOverrides]
SkipInitialMailCheck=Yes
HideUnsubscribedFolders=Yes
AlwaysCollapseFolders=Yes
ListRefreshTime=3
Save the file, and resetart webmail.
Then have all of your users login to webmail and go to options \ folders. Unsubscribe from any folders (personal, shared, or public) that they do not need access to.
- What do you mean by "Is there a lot of content in MDaemon's public folder directory that is not available as public folders in MDaemon?"
We have seen customers in the past, simply rename a public folder on disk so that MDaemon no longer shows the folder or content. This makes MDaemon server no longer serves the content, but it still has an impact on reading from the public folders. If you are doing this, please move all of the folders that no longer need to be served to users out of the MDaemon\Public Folders\ directory.
Based on the details you've provided, I think you are reaching the maximum performance of your hard drives. All of the suggested changes above are intended to reduce disk I/O and improve performance. Without doing more testing, I can't tell for sure which drives can't keep up, but I would guess its the datastore with the RAID 5 setup.
If you'd like to try to further reduce the disk activity on the datastore, move the Logs to the same disk that the OS and MDaemon are on. Or add a seperate disk for logs.
If you'd like to do further testing, please setup performance monitor to monitor the disk queue lengths for all drives, reading and writing.
I'd also suggest using a tool from Microsoft called diskspd.exe.
https://learn.microsoft.com/en-us/azure-stack/hci/manage/diskspd-overview
Lastly, we have made some performance improvements for MDaemon 23.5.2 that may help. We are making improvements to further reduce disk i/o. We do not currently have an release date for 23.5.2, but it should be getting sent to the beta team in the near future.