Page 1 of 1

General Performance Issues

PostPosted:Thu Aug 18, 2022 5:07 am
by scrumi
I have a moderately sized amount of documents 150,000 or so. The server is a pretty robust 16 core Xeon with 128GB of DDR3 ram, generation or so old but still relatively beefy for the moderate amount of records we are dealing with.

The things that I'm seeing taking longer that I'm expecting is mostly changing permissions recursively. On some folders it will sit there for tens of minutes and some of my larger folders it will actually time out and fail. This seems a bit odd to me as I would assume that permissions are just database flags yet my separate database server barely has any load on it at all while the openKM server has the java application just thrashing the processor. Is there a documented schema that I can see so I can just write the queries directly on the DB server and just skip openKM all together? I get the impression that the recursing is being done in the application rather than in the database which doesn't seem like an efficient way to update records.

Other items which are mildly delayed are things like "Updating list" can take up to 5 seconds to display the first page of 50 items when there are only 2000 items in the folder. (pagination default is set to 50 items)

Re: General Performance Issues

PostPosted:Mon Aug 29, 2022 7:26 am
by jllort
Thinks do not work in the way you think. The problem is not only applying changes in the database application does a lot of things while changing security. Consider that in a tree may do not have grants to access everything because do not have privileges for it, or can access but do not have grants to change security etc... that means it is not a simple blind update, must be executed some controls before doing the action for each node.

Finally, each database update raises an event to the search engine that is also updated. Changes from the database side may create a big issue because the database and search engine will not sync.

In professional edition huge changes are done in the background, currently this feature is not implemented in the CE.

About database structure maybe interested on https://docs.openkm.com/kcenter/view/ok ... ption.html ( security tables are named OKM_NODE_USER_PERMISSIONS and OKM_NODE_ROLE_PERMISSIONS) -> if you decide to update from database -> should rebuild all the lucene indexes > have a tool for it in the administration