Server load for ownCloud with 250.000+ files and 10+ users

I have ownCloud server(s) with 250k+ files, 10+ users.
Server has daily about 300-500k hits (request). Is it normal for my count of files and users? All users has share almost all files together.
Users are at work from 8 AM to 17 PM, there was about 1800 changes in files in last week.
As you can see in screenshots, there is about 2mil hits to ownCloud server in last week.
Is it normal and is everything is fine?
Thank for answer, Margi.

Note: all screenshots in monthy based

what does this mean?

Are you using the sync client? With or without VFS?

How do you use ownCloud? What is your storage?

They are buildings designers, everyone has folder with his work shared with group. In this (primary) group is rest of them. So everybody “see” most of files from rest of group.
Yes of course, everybody is using desktop client. They are working in their computers and sync client do rest of job…
They are using VFS (maybe one of them not, there was problem with turning on VFS).
Storage is debian in virtual environment with 8 CPU a 8GB RAM, some non-ssd drives in raid.

I tried to find how many files are affected per week (is hope this is correct). I was about 8.000 files.
10 of 19 users are using sync client.

SELECT count(activity_id), timestamp, user, file, object_id FROM `oc_activity` where timestamp > 1650243600 GROUP BY timestamp, object_id ORDER BY `oc_activity`.`timestamp` DESC

Okay, can you look in the access logs and see what is the prevailing user agent? Is it the webUI or the sync client.

My assumption, but I may be wrong, is that your employees are working with some kind of design program, which saves the state of the project in some kind of “in between” file while they are working on it, and that these kind of files are being synced back and forth between the sync client and the server causing the huge load. If it’s correct, I would simply add that kind of file with it’s extension to the excluded files to prevent the sync client from syncing them.

Another possibility could be that because you are using VSF and you synching all the files (which is also my assumption) that every time one file is changed every sync client has to update it, not just the ones who are in the group which the change happened in.

In summery the server load for just 10 users seems to be big, but you have many files, depending on the share and sync structure it may be your problem. You might want to restrict / reduce the amount of sync and then expand to see what the cause is.

99% is from owncloud client. I will do some research, because now (I haven’t noticed it before) i see many records from one of them, it seems he is using shared directory as “work” directory - despite the set rules.
Ok if I understand correctly - if the are using vfs, changes are notified to client when he acces /ocs/v2.php/apps/notifications/api/v1/notifications, all in one request?
Only If client need to access this file (or is not using vfs), all files are downloaded from server in separate requests?

can you elaborate on these questions? I don’t really understand :slight_smile:

Maybe @michaelstingl can help out here

I think how can i elaborate it :-D. I suppose owncloud client send requests to server periodically every X second - he need to know what files was changed.

I suppose (I didn’t try to catch up this response yet) he get changes for last period of time.
What I’m asking for is, if client is using vfs and he “not need” content of file(s), everyting is done with this on “notification” request - if there are request for every file or not. Because i hope in notification response can be everyting for make changes in vfs in client computer (name, time, size etc…)

Of course if they are NOT using vfs, there need to be request for every file and it causes high server load.

Please, can you or anybody who know :slight_smile: confirm that my reasoning is correct?. Thank you very much.

Can you check with the users that there aren’t any sync issues in the clients?

I’ve recently seen that if there are issues with files due to wrong file names and the clients are configured to use VFS during the setup phase the clients enter some kind of loop and keep requesting all files over and over. This obviously increases the load on the server immensely.

So make sure that there are no sync issues in the clients.

No, owncloud works with PROPFINDs. Every time any file is changed some special value in the DB is changed for it (I think it is the etag). This value is then propagated up in the file tree until it hits the root. When the client requests the PROPFIND and compares the etag of its data with the reqested one, it will start downloading as soon as it receives a new etag from the server.

For more information read more about WebDAV.

AFAIK VFS doesn’t change anything about this process, only the files aren’t downloaded, there are only “placeholder files” being created (that’s how it works in Linux, in Windows it is using some Windows native VFS API that will create a similar result).