Skip to main content

Following a number of years of heavy usage in one of our applications based on Nintex for SharePoint we are noticing a degradation of performance in that particular SharePoint site. Upon further investigation we found that the root cause of this issue is the amount of even receivers stored at site level (around 60,000) 

 

The followng query gives us the result shown further down

 SELECT
         class,count(*)
    FROM
        /dbo].EventReceivers]        
    group by class
    order by class
 

 

The name column (Not displayed above) shows “Created By Nintex Workflow Start Action “ and the class column (as displayed above) shows  “Nintex.Workflow.Activities.Services.WorklfowCompletedEventReceiver”

Is there a way of purging these unwanted event receivers especially for items whose workflow has completed?

Thanks

Hi @aporter,

Welcome to the community.
I am not sure about purging this column but my first question is how you established this column as being the root cause?
What do you define as degradation? Is it just slow navigation of the site or the running of workflows etc?

Did you look at other things such as how many items are in the list?
How many items are in the History list that the workflow uses?
How many rows are in the Nintex database workflow progress table?

These are the things that usual cause degradation.
 


Hi @aporter 
Have you solved your question? 


Hi Simon,

Thanks for your reply.

We identified this as the root cause through the following

  1. Comparing with other site collections.
  2. Monitoring SQL Profiler for slow queries 
  3. Going deep down into the queries and identifying the root cause of the query degradation

It is important to note that this degradation is at site collection level, not at list level. So even simply by clicking on Site Settings it is taking some 4 or 5 seconds more than another site collection. And digging deeper into this we identified that there are 58k of Nintex Event Receivers registered in that site collection. These 58,000 event receivers are being loaded and processed by SP in every single request as part of the normal SP SQL calls such as when calling proc_GetTPwebMetaDataandListMetaData etc.

Further here you may find a small sample  of these 58k or more rows.

 

Most importantly for us before attempting any kind of fix is to understand how and when Nintex is creating these event receivers? 

And then if we can safely deregister these event receivers using PowerShell.

And how can this be avoided?

Thanks for your assistance.

Adrian


Hi @aporter,

Thank you for your detailed reply.
In this case, I suggest that you contact Nintex Support so that the development team can investigate this issue. I have not seen this issue in all my years with Nintex.


Reply