06-14-2018 03:09 AM
Hi,
I am using Alfresco Community 5.2.0. I have created a folder inside repository and uploaded around 5,35000 files. But whenever I am trying to access the folder using UI, Alfresco is getting very slow and becoming almost unassailable. I have noticed there are some queries are running in the Postgres for infinite time whenever I am performing this activity.
Regards,
Shankha
06-14-2018 05:40 AM
Alfresco recommendations for best performance include a 3,000 nodes limit on every level. If you have a folder including 5 Million files, then I recommend you to create subfolders to obtain a hierarchy where no level has more than 3,000 elements.
06-14-2018 11:09 AM
Thanks a lot. But I am trying to understand how this will improve the performance. Is there anything which will improve the query performance in Postgres DB level. Can you please provide me some detail in this?
Regards,
Shankha
06-14-2018 11:27 PM
It doesn't make any sense to try to optimize PostgreSQL when you are grossly abusing the limits recommended by the software vendor. It would be like cramming four elephants into a compact car and then asking how to tune the engine to get better gas mileage.
Here is a presentation from DevCon 2018 that considered putting only 100,000 files in a single folder to be a presentation-worthy accomplishment: Alfresco DevCon 2018: 100k Nodes in a Single Folder - YouTube
First, get your number of objects in a single folder to be within the recommended limit, then, if you still need it, you can tune the DB.
06-15-2018 03:53 AM
"How this will improve the performance" = Better distribution of data so that a simple "list contents" operation will not need to perform a full table scan and process all 5 million files. Since permission checking is done after loading from the database, the database load itself cannot effectively use offset / pagination to reduce the amount of data loaded, since individual elements may not be accessible to the current user - so a simple list operation typically ends up being a "load all in this folder" operation on the DB layer, with the performance corresponding to the amount of data in that folder (and relative to the overall distribution).
Explore our Alfresco products with the links below. Use labels to filter content by product module.