Thanks to my colleague Trevor Turner for compiling the various places in Project Server and associated technologies that timeout values can be set. This came about to resolve problems in the Resource Substitution Wizard – but is helpful information for other slow scenarios too – particularly when large datasets are involved. As Trevor points out – you should carry out other mitigations such as good use of categories, and also ensure your SQL databases have up to date statistics and fresh indexes. Much better to make things run faster than just allowing longer waits for slow processing!
Whenever something fails in a very specific amount of time – 30 seconds, 1 minute, 1 hour – I always suspect some sort of timeout may be involved.
Resource Substitution Wizard and Timeout Settings
In certain circumstances where the Resource Substitution Wizard has to deal with a large amount of data the default settings for some timeout values are not large enough. This can either cause errors to be returned to the user or cause unexpected data to be retrieved when running the wizard.
In order to resolve the specific timeout errors we have to ensure that the appropriate timeout values are set in the following four locations.
NOTE: Before making these changes, however, it may be more appropriate to try to mitigate any timeout errors by controlling which projects the user can see by making use of Categories (in Project Web Access). Reducing the number of projects a user has access to in this way will reduce the length of time taken to run the wizard and, therefore, reduce the need to increase the aforementioned timeout values.
The following values/screenshots are what I have set on my system and which allow the Resource Substitution Wizard to successfully complete on a large customer dataset in around 8 minutes. Values should be modified at your own discretion.
These timeout values may need to be increased further in different environments as the system parameters will, obviously, be different.
All tests were performed using Project Server 2007 with the June CU installed for WSS, Project Server and Project Professional.
It must also be noted that increasing timeout values can cause the system to run less efficiently and effectively, particularly those settings for IIS.
1. The Project Server database
In the Project Server Published database the setting in the MSP_WEB_ADMIN table for WADMIN_CORE_SQL_TIMEOUT should be increased. This value is in seconds.
This value can also be modified by making use of the PSI. Please see the following reference;
2. The HKCU hive of the Windows registry
The following registry value should be added to the local user’s registry.
Name : Timeout
Type : DWORD
This setting controls the SOAP Toolkit timeout value on the client.
The default value is 60000, and it is ranked in milliseconds, putting the default value at one minute.
If this value is not high enough you will likely receive the following error, along with a related entry in the Application Event Log relating to MSSOAP.
3. The website timeout in IIS
In Internet Information Services (IIS) Manager, the “Connection timeout:” setting should be increased for the Project Server Web Site.
4. The ASP.NET timeout in IIS
In Internet Information Services (IIS) Manager, select the ASP.NET tab and press the “Edit Configuration” button.
Select the Application tab and set the “Request execution timeout (seconds):” value for
the Project Server Web Site.
Very Nice! I will test it in our dev environment next week and give feedback about it. thank you!
There's another one too... 100 seconds, the Microsoft .Net default for a web service request.
Discovered by a PSI error:
It's not modifiable as the PSI doesn't implement an override for the default value.
The work-around if you encounter this timeout is to look at whatever task you are doing and figure out how to do it in less time. Either by reducing the size of the task or breaking it up into smaller pieces.
Very nice and useful list!
However, there is (yet) another timeout that can cause the Queue and Event services to fail starting: Windows Service Control Manager (SCM) timeout. Instructions on how to increase that can be found for example here: http://integrityitsolutions.blogspot.com/2009/04/how-to-increase-timeout-on-startup.html
How I can configure the step "4. The ASP.NET timeout in IIS" in IIS 7.0 ?
Thank you for your time!
In IIS 7 you select the web site, and then the time-out setting can be found under the .NET compilation page.
Sorry for my late in reply your message. About my question, in .NET compilation page, I have one option in Option Batch, called Time-Out (hh:mm:ss). Is there?
Thanks in advance!
Is this also valid for Project Server 2010?
i am sorry,but "1.The Project Server Published database" in my pc hava not "WADMIN_CORE_SQL_TIMEOUT " column,can you tell me why?please..
Sorry Jim, I didn't make it clear in the text, but the diagram show's I am editing the MSP_WEB_ADMIN table in the published database. However, as I say elsewhere - p[lease don't just incease these values without also examining why things may be running slowly (poor DB maintenance, fragmented indexes, out of date statistics, pooly set permissions meaning users are seeing more than they should - or over complex permissions meaning very slow retrieval of data, etc.
I used your write up to fix an issue with Project Server timing out. Great write up by the way. It worked for around 36 hours and now I am back in the same boat. None of the values reverted back and nothing changed between when it worked and when it stopped. Any insight on this?
on Project 2013, i am having timeout after approving statusing from PWA when project have more than around 500 tasks.
I tried to increased this 5 minutes timeout in many files without success.
here is the error:
PWA:https://xxxx/PWA, ServiceApp:Project Services Application, User:i:0#.w|aaaa\bbbb, PSI: System.TimeoutException: This request operation sent to net.pipe://localhost/pscalc_e69f31a251c4445184c1eca78b38713e did not receive a reply within the configured timeout (00:05:00). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client. Server stack trace:
Hi Mathieu, we have a fix for this timeout issue coming in the June CU. I'll try and find if there is a workaround that will help. I know I had some issues trying to find the right timeout value to change when looking at this a while back.