Best Practices for performance during Client synchronization

Steps to reproduce
1. ownCloud Desktop sync on Windows 2008 R2
2. A Big Folder called "Admin" with 35 directly subfolder, each subfolder with it own structure (subfolder and files...)
3. I want to know the best practices for configuring the client. What's the best way?

a) Add just the main folder "Admin" and let the client do the jobs, OR
b) Add each 38 subfolder as a folder connection?

Expected behaviour
I want to know the best option for performance

Actual behaviour
My first test, after everything Green (synchronised) I put a single file inside a sub/subfolder on the client and I have 3 minutes when using just option A (only one folder added) and I have 1 minute when using each subfolder... But I really want to hear about your experience.

Client configuration
Client version: 2.2.4
Client operating system: Windows 2008 R2
Folder Size: +/- 400GB
No folder with more than 30.000 files directly

Server configuration
Operating system: CentOS 7 64 bits
Web server:

rpm -qa|grep http

httpd-tools-2.4.6-40.el7.centos.4.x86_64
httpd24-libnghttp2-1.7.1-1.el7.x86_64
httpd24-httpd-tools-2.4.18-10.el7.x86_64
httpd-2.4.6-40.el7.centos.4.x86_64
httpd24-runtime-1.1-14.el7.x86_64
httpd24-httpd-2.4.18-10.el7.x86_64

Database:

rpm -qa|grep -i maria

mariadb-libs-5.5.47-1.el7_2.x86_64
mariadb-server-5.5.47-1.el7_2.x86_64
mariadb-5.5.47-1.el7_2.x86_64

PHP version:

rpm -qa|grep -i php

php55-php-pdo-5.5.21-4.el7.x86_64
php55-php-cli-5.5.21-4.el7.x86_64
php55-php-5.5.21-4.el7.x86_64
php55-php-process-5.5.21-4.el7.x86_64
php55-php-pear-1.9.4-10.el7.noarch
php55-2.0-1.el7.x86_64
php55-runtime-2.0-1.el7.x86_64
php55-php-common-5.5.21-4.el7.x86_64
php55-php-mysqlnd-5.5.21-4.el7.x86_64
php55-php-gd-5.5.21-4.el7.x86_64
sclo-php55-php-pecl-apcu-4.0.10-1.el7.x86_64
php55-php-xml-5.5.21-4.el7.x86_64
php55-php-mbstring-5.5.21-4.el7.x86_64
php55-php-pecl-jsonc-1.3.5-1.el7.x86_64

ownCloud version (see ownCloud admin page): 9.0.4 (stable)
Updated from an older ownCloud or fresh install: Fresh install

Special configurations (external storage, external authentication, reverse proxy, server-side-encryption): None

ownCloud log (data/owncloud.log) -> No error

Please paste possible errors in the following code block, see https://central.owncloud.org/t/how-to-find-webserver-or-oc-logfile-enable-php-logfile/808 for more info

I don't really know if there is much difference on the client side after all. But on the server you have quite some potential in optimizing your database settings and php-caching. I run some tests with previous OC versions (I probably should do that again with current versions):

1 Like

Your result makes sense because currently the client will (on local change detection) traverse all the local files/folders and construct an in-memory sync tree from this.
If it only detects a change in 1 of your 38 configured sync folders, it only has to traverse/construct 1/38th of that amount (why it is still 1min vs 3min can be for other reasons)

1 Like