Timeout Expired on big site

Post here for help with installing or upgrading mojoPortal pre-compiled release packages. When posting in this forum, please provide all relevant details. You may also want to review the installation or upgrading documentation.

If you have questions about using the source code or working with mojoPortal in Visual Studio, please post in the Developer forum.

Post here for help with installation of mojoPortal pre-compiled release packages

When posting in this forum, please try to provide as many relevant details as possible. Particularly the following:

  • What operating system were you running when the bug appeared?
  • What database platform is your site using?
  • What version of mojoPortal are you running?
  • What version of .NET do you use?
  • What steps are necessary to reproduce the issue? Compare expected results vs actual results.

You may also want to review the installation or upgrading documentation.

If you have questions about using the source code or working with mojoPortal in Visual Studio, please post in the Developer forum.

This thread is closed to new posts. You must sign in to post in the forums.
2/6/2010 11:22:50 AM
Gravatar
Total Posts 171
I am a Russian programmer

Timeout Expired on big site

Hi Joe

I have a problem

When I update the version of the mojoportal, then the fault occurred on /Setup/Default.aspx

"Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding."

I researched the cause of the error and found that the error occurs in line

Default.aspx.cs

ModuleDefinition.SyncDefinitions();

I started the procedure [mp_ModuleSettings_SyncDefinitions] from SQL Server Management Studio

and the execution time of procedure more than 8 minutes

Need to do something that would have this error (Timeout expired) does not occur ...

Best regards, Alexander

2/6/2010 12:14:59 PM
Gravatar
Total Posts 18439

Re: Timeout Expired on big site

Hi Alexander,

I will add some indexes that should help. After you see it land in svn please let me know if it solves the issue.

Best,

Joe

2/6/2010 12:20:50 PM
Gravatar
Total Posts 171
I am a Russian programmer

Re: Timeout Expired on big site

Ok

Joe, Have you seen my post about Failed to deserialize and resume task?

An error occurred

reason:

SiteGuid {00000000-0000-0000-0000-000000000000}

Best regards, Alexander
 

2/6/2010 12:26:51 PM
Gravatar
Total Posts 18439

Re: Timeout Expired on big site

Yes, I saw it but it doesn't tell me much, I don't know what task it is or the context in which it was queued. I will have to try and guess by code review how it happens, but it does not happen for me and no-one else is currently reporting this issue. I suspect a localization issue with serializing one of the tasks but I will have to look at each task type and see if I can guess which properties might contain unicode text and then I will have to base64 encode it first to make it safe for xml serialization. I have not forgotten it, I will look into as soon as I can.

Best,

Joe

2/8/2010 9:10:46 AM
Gravatar
Total Posts 18439

Re: Timeout Expired on big site

Hi Alexander,

Since you say it is still slow after the new indexes I will need your help to troubleshoot it further.

Did it improve any with the new indexes?

The stored procedure mp_ModuleSettings_SyncDefinitions runs a series of queries, we need to isolate the slow part to better understand it and come up with a strategy to solve it.

What I would like you to do is:

  1. backup your copy of mp_ModuleSettings_SyncDefinitions
  2. chop out all except for the first sql statment
  3. execute the proc and see is it faster with just the first statement and no other statements
  4. if so then 1 by 1 add the original statements back in and test again until you can identify which statement is the problem
  5. or just put them in one at a time and measure the time for each one might be even more helpful
  6. then email me the statement or post it here using the plain text toolbar

In the mean time I will also look at the query execution plan for each step and see if I can some up with some optimizations.

Best,

Joe

2/8/2010 9:35:25 AM
Gravatar
Total Posts 171
I am a Russian programmer

Re: Timeout Expired on big site

Ok, I will do it and send you results

Statistics of my database:

Sites: 46

Pages: 18 000

Blog records: 20 000

Server: Windows, MS SQL Server 2008, 4 core, memory 32 GB

Best regards, Alexander

 

2/8/2010 9:51:13 AM
Gravatar
Total Posts 18439

Re: Timeout Expired on big site

Hi Alexander,

Can you try modify the procedure as follows and then see if performance is better? Now it is all in a single statement.

ALTER PROCEDURE [dbo].[mp_ModuleSettings_SyncDefinitions]

AS

 

UPDATE ms
SET ms.RegexValidationExpression = mds.RegexValidationExpression,
ms.ControlSrc = mds.ControlSrc,
ms.ControlType = mds.ControlType,
ms.SortOrder = mds.SortOrder,
ms.HelpKey = mds.HelpKey
FROM mp_ModuleSettings ms
JOIN mp_Modules m
ON ms.ModuleID = m.ModuleID
JOIN mp_ModuleDefinitionSettings mds
ON ms.SettingName = mds.SettingName
AND m.ModuleDefId = mds.ModuleDefId

 

GO

It should be much faster I think.

Best,

Joe

2/8/2010 10:03:49 AM
Gravatar
Total Posts 171
I am a Russian programmer

Re: Timeout Expired on big site

Result: (49 seconds)

Best regards, Alexander

2/8/2010 10:19:36 AM
Gravatar
Total Posts 18439

Re: Timeout Expired on big site

Hi Alexander,

That is a good improvement. To improve it further, I will make the Setup page queue that on a background thread so it doesn't block the web ui waiting for it to complete.

Best,

Joe

2/8/2010 10:39:56 AM
Gravatar
Total Posts 171
I am a Russian programmer

Re: Timeout Expired on big site

Hi, Joe

I think it is a good result!

Thank you

Best regards, Alexander

You must sign in to post in the forums. This thread is closed to new posts.