cancel
Showing results for 
Search instead for 
Did you mean: 

Poor performance when dealing with complex spaces

darioruizlopez
Champ in-the-making
Champ in-the-making
hallo,

I have created a complex space template. It consist of a space which contains around 20 subspaces, with simple workflows, permissions and email sending rules associated to it. There are also some script rules which run almost instantly when I debug them. And there are not any files inside the template

The space template works correctly. I am able to dynamically create new spaces from my template, and they retain correctly the workflows, permissions and other rules. The problem is that creating or deleting a single one of this spaces takes among 20 - 45 minutes, even with no files inside them. I have the same problem both running Alfresco on two XP installations and a Linux installations

Is this normal? May I be doing something wrong which might significantly slow down Alfresco?

thank you very much
4 REPLIES 4

ejholmgren
Champ in-the-making
Champ in-the-making
I too have found severe performance degradation with complex nested structures. In my case, deleting several complex nodes at the same time can cause the CIFS interface to bork entirely. From the looks of the jvmstat output, it seems like every child node is instantiated, which may result in thousands of objects being instantiated just to delete a few root nodes.

Eric

ejholmgren
Champ in-the-making
Champ in-the-making
*bump*

I also see some serious slowdowns when navigating to spaces with several (~700) subspaces through CIFS. Should there be a 30 second lag on a quad core 2ghz / 4gb machine with 2gb assigned to the jvm? When I monitor the instance remotely via jxm with visualvm, cpu utilization rarely goes past 20% in these cases.

Eric

gengshg
Champ in-the-making
Champ in-the-making
Struture of policy/rule cause alfresco will not be used as a growing application.

I have same senario, not only complex rules but also concurrent access.

Actually, alfresco disapoint me some bit. But as a enterprise platform, I don't see a better way to leverage.

darioruizlopez
Champ in-the-making
Champ in-the-making
Though I have not been able to completely solve the problem, I have managed to mitigate it a lot. As I think that many people might have the same problem, this is the solution I have adopted.

I have noticed that when you delete a workspace, the active rules that it or its descendants may contain remains active! That is, if you have outbound rules in the workspaces, they are likely to get triggered for all the content that the workspace may contain. Moreover, if, for instance, the groups assigned to a workspace are deleted before the workspace. The workspace is prone to generate an error while deleting. This, of course, is especially annoying if you have had to wait for more than half of an hour to get the response of the deletion action because it is all executed as a whole, huge transaction.

For this reason, the workaround that I suggest is to delete all the rules assigned to a workspace and its descendants before deleting the workspace itself. If you have a huge tree of workspaces it is possible to write a recursive script which travels through the node tree of the workspace to be deleted looking for its rules and making a deep delete of them. Of course, the script will have to navigate recursively through the sub workspaces of the parent workspace.

Once you have deleted all rules, deleting the parent workspace should last far less than trying to make with their rules active.

As an example, I am using alfresco 3.0 and it is taking me more than 45 minutes to delete a tree of workspaces without removing the rules. Executing the rule deletion script takes some 5 minutes, and deleting the tree of workspaces later takes some 5 minutes more. This speeds up the process 4-5 times