some of my users use Webdav to access files on nextcloud from their notebooks. They have to do so, as their Notebooks do not have anough storage to sync all needed data to their local drives. Unfortunately the performance doing so is quite low and I am thinking about how to give them a better experience.
My idea is to install the nexcloud sync client for linux on my NAS server and sync the folders of the users to a local directory, which I will export using samba. Do you think this is a good idea? Or do you think I will run into trouble with this solution over time because of sync problems or something like that?
Is there a way to inform users and the admin about sync problems in this configuration? I would like to get a mail when something goes wrong (e.g. if a merge failes). Perhaps it is possible to ask the sync client if everything is o.k. by calling a script regularly?
You would need to configure different accounts and different shares for them. According to the way your ACLs are handled, it may work or not. If you rely on filesystem ACLs, it will not work because the files for all users will managed by a single user. If you go with ACLs associated with the shares themselves, it may work.
But this would be true only if WAN network performance is the culprit. Do you have any evidence about that ?
Also, once configured that way, your users will have to work differently when they are home, on that network, on another one, etc. They may well end up confused with that.
What kind of document are they working with ? It they are Office document, how about using OnlyOffice Document Server with your Nextcloud Web interface ?
many of the files are MS Office Documents. I already installed LibreOffice using the Collabra docker image, but unfortunatly it does not help with many presentations and Excel Sheets. Also some software for Image manipulation is in use and some other software I cannot get into the cloud…
Most the time the users access the data over the local network, but even over WAN it is quite slow. I end up at around 500 KByte/s over the Webbrowser or WebDav, while I have 50 MBit upstream for our Internet Connection (and 1 GBit downstream). But my users are familar to use my VPN, so Samba from WAN would not be a big deal for them.
I do not have many users (about 10) and I need this for almost half of them. So it would not be a big problem to setup a sync job for each of them. But some of the data is business critical, so I need to ensure that data integrity is ensured and everything is uploaded correctly into my nextcloud.
I do not need ACL support on the samba shares.
So you turn at about 10% of your network link. Did you checked your CPU load on every network component ? Encryption, either at the VPN layer or SSL layer can have this kind of effect.
Did you try to use some lighter encryption algorithms like using ECC instead of RSA ?
What are the performance when you are working over LAN versus over WAN ? Performance may be limited by disk performance instead of network performance.
To add a transit stage like that Nextcloud client on a NAS is kind of risky. At every sync, you will end up for a short time where the two references will not consider the same version as being the latest. If a document is opened twice, once from each reference, you may well loose the changes done by one of them.
To diagnose performance problem is very demanding and very difficult. Be sure to define it properly before trying to fix it.
I tested using my internal network, so I have a GBit connection in both directions and no VPN between. Both machines (client and host) are mostly idle, on the server apache reaches about 10% CPU load. According top my CPUs are also never in state waiting (0,0 - 0,1). My IO bandwith should also not be the problem. At least for sequential writes I reach more than 100 MByte/s local.