maybe I’ve found a bug in the NC Desktop client for Windows. My NC instance is set up to sync large files and works perfect if I upload the file used below through the web interface. Synchronization with the desktop client doesn’t work:
- File (22GB) is added to NC directory.
- The file is transferred to the server completely.
- Progress stops at “0s remaining”, server side CPU load drops to ~20% and harddisk I/O raises.
- Instead of waiting for the server to finish processing the file, the client throws a timeout error after a few minutes.
- After about 20mins the file appears properly on the server and other clients can download it. The failing client has to be restartet and recognizes the file as synced.
- There are no errors in the server logs (Apache and NC).
A few details about my configuration:
- Nextcloud 11.0.2 hostet within a virtual machine on a XenServer 7: 4GB RAM and 4 CPU-Cores for the VM, physical CPU is a Celeron J1900.
- Debian Jessie, set up today with Apache 2.4.10, PHP 7 and MariaDB 10.0.30.
- Self signed SSL-certificates
- Client 2.2.4 on Windows 8.1 and Windows 10, both have this problem.
- PHP timeout parameters set to 2h like mentioned in the documentation, no other restricting parameters were found in my Apache- and SSL-config
- Maximum file size in PHP and NC set to 200GB
- Clients and server connected with gigabit ethernet
This is reproduceable. What I can see is that the server is doing fine as the file appears ok after the server has processed it for about 20mins. Now I can restart the client and it recognizes the file correctly as synced. Other clients download the file as well. I don’t know what the server does after the upload, but I guess that it merges the splitted file and/or calculates a checksum because there is a heavy disk I/O on the server. The timeout detection at the client side should take account of this to support large files on slow servers like mine.
Additionally, the transfer with the client takes four times longer than with the web interface, but that is ok for me. Does anybody have a hint for me how to fix the timeouts or is it actually a bug? Is the client-side timeout adjustable? Please forgive me if this is caused by a faulty configuration