On Fri, 8 May 2020, Joseph Tam wrote:
It depends on what you consider reasonable.
Whoops. Editing error. What I wanted to send.
On Fri, 8 May 2020, asai@globalchangemusic.org wrote:
So, generally speaking, you don't want to have inboxes that just sync all day long, due to massive amounts of small files in the inbox.
I don't know enough about what is involved when your client tries to sync to comment on your particular situation. If the exchange of information involves only delta changes (e.g. list datum that have been added/removed since the last sync), and if this information is readily available in Dovecot's caches, then this operation might be optimized to take minimal time.
If however, it involves exchanging entire lists of many messages IDs, or worse, involves Dovecot accessing each message, it will result in large amounts of time spent in I/O (network, disk or both). With Maildir (many small message in a folder), this causes seeking all over the disk. Some filesystems (XFS?) may be better at this than others.
The description of your problem seems to suggest the latter, so breaking up gigantic mailboxes into manageable volumes will help.
If you really want to see what's going on when a client syncs, you can network trace, process trace, or use Dovecot's rawlog feature
https://wiki.dovecot.org/Debugging/Rawlog
to directly observe the iteraction between a server and client.
This may be OK in the case of a rarely accessed archive folder, but not good for regularly accessed inboxes, etc.?
This is not really so much technical advice as a rule of thumb: there's not a lot of payoff to optimizing rare operations.
Joseph Tam jtam.home@gmail.com