Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Performance and...Performance and...UpdateUser timeoutsUpdateUser timeouts
Previous
 
Next
New Post
11/22/2013 10:37 AM
 

DNN platform executes the UpdateUser stored procedure in every login. In my experience, this procedure timeouts first when site is under heavy load. I have not seen timeouts from other DNN stored procedures. UpdateUser timeouts occur regularly and causes trouble to end users, essentially preventing them from logging in. 

Users table is also used in practically all modules (for read queries), which may or may not increase locking contention with updates, depending on the queries. I have not found any way to optimize the Users table indexes from their defaults. I have tried the READ COMMITTED SNAPSHOT isolation level, arguably with some benefit, but not with a satisfactory result.

Before submitting a improvement request to JIRA, I'm curious to know if others have had the same issue. This problem is not easy to reproduce, and any fixes are complicated. Fixes would require splitting the Users table to multiple tables and splitting the UpdateUser procedure to more specific procedures, using inserts for audit data instead of updates etc. I don't think the procedure or the tables have changed much in DNN major versions.

For now, I don't know any other practical fix than increasing the database server performance. Using the SQL 2014 In-Memory OLTP sounds promising too. Right now, I'm having these issues with a 2-core, 32GB RAM server running  SQL 2012 Standard. Processor load runs pretty high, so adding more cores would be the next step.


 

 
New Post
11/23/2013 8:35 PM
 

How many users and simultaneous logins are you seeing on this site.

We run sites with 50,000+ and 100,000+ users and have never seen this sort of timeout issue.

Westa

 
New Post
11/25/2013 7:04 AM
 

The site has 1250 users and maximum 100 simultaneous logins.

Good to know that this is not a common issue in a bigger site.

As far as I can tell from SQL traces, the problem is a system-level performance bottleneck in the SQL Server, not a locking issue due to bad indexing. Writes to other, unrelated tables timeout similarly at the same time. No deadlocks are found in traces, but the server has lots of timeouts for an extended period, say 15-30 minutes, and recovers after that. During timeouts, processor load is over 80%. Still, it could be that Users table rows are X-locked due to read queries from other modules. READ COMMITTED SNAPSHOT should reduce this contention, but I can't see a big effect.

UpdateUser is the only DNN Platform query that timeouts, others are reads or writes to tables over 1M rows.

 
New Post
11/25/2013 7:11 AM
 
Do you have massive events log or sitelog tables? I'm guessing here. Maybe the user login in is also being recorded elsewhere, and those updates are slow?

Best wishes,
- Richard
Agile Development Consultant, Practitioner, and Trainer
www.dynamisys.co.uk
 
New Post
11/25/2013 7:19 AM
 

I would maybe re-check that the indexes on your user table are valid and not corrupted - the update query is relatively low impact  - are both userid and portalid indexed.,

By chance do you have more than one portal running on this system ?

Westa
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Performance and...Performance and...UpdateUser timeoutsUpdateUser timeouts


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out