When your Project Server queue slows down

There can be a whole load of different reasons why a queue in Project Server might not be processing as fast as you’d like – and after listing a few of them I am going in to detail on one condition we have seen with a few different customers now, under some different scenarios.  All of these are equally as applicable to Project Server 2007 as to Project Server 2010 queue processing. 1. Poor database maintenance – see https://technet.microsoft.com/en-us/library/cc973097.aspx for Project Server 2010 and https://technet.microsoft.com/en-us/library/cc973097(v=Office.12).aspx for the 2007 version 2. Large Shadow Tables – see https://support.microsoft.com/kb/2596531 3. Incorrectly configured queue settings – too many threads for the hardware you have – the 2007 reference is still one of the best descriptions of the Project Server queue – https://technet.microsoft.com/en-us/library/cc197395.aspx   4. Just busy – the queue is there to spread the work out – sometimes this might take a while (long duration ‘admin’ type plans publishing…) 5. Poor execution plans for the stored procedures that control the queue processing – the main topic of this blog! Getting in to more detail on point 5 – we have seen a few scenarios where the queue is processing really slowly – although SQL Server isn’t very busy and there appears to be no good reason that the jobs aren’t going through faster.  One customer’s observation (thanks Eric!) was that the jobs appeared to also complete in groups – that related to the number of threads.  For example if you had 8 threads running your Project queue (and of course plenty of hardware to support this quite high setting) then you might see 8 jobs running and some of these might have been expected to finish quickly – but they all seem to be waiting for the longest running job – then they all finish at once.  What appeared to be happening is that certain stored procedures that govern the queue jobs that ordinarily take just a few milliseconds might slow down and take half a second – or 10 seconds – or in the extreme 30 seconds to run.  And it was these stored procedures that decided which jobs get processed next.  A good way of summarizing this was that Project Server appeared to be taking more time deciding which queue job to run and not spending any time actually running anything!  Initially a reboot was the step that got things moving – but we wanted to be a bit smarter than the ‘turn it off and turn it on again’ approach. I’ll talk a little more about the scenarios where we have seen this – some of the symptoms – some of the remedies and then some of the quick fixes that can both get things moving again and which can also confirm the problem – as well as introducing the topic of execution plans and how SQL Server decides how to get answers from the database. An execution plan will detail how SQL Server goes about finding the data it needs – and will detail if specific indexes are used – or if perhaps just a table read is going to be quicker.  The plan will depend on the indexes available, the statistics available to understand the make-up of the indexes and the accuracy of those statistics.  Some of this comes back to point 1 in the list above – database maintenance – and some may depend on certain server settings – and even patches and versions of SQL Server in use.  Most of the slow downs we have seen relate to activities that will create a large number of queue jobs in a very short time.  Active Directory Synchronization, reporting database rebuild, mass deletion of projects or very heavy timesheet usage (or even automation) are the ones that spring to mind.  My theory is that the queue tables that were running along quite nicely while relatively empty suddenly find they have thousands of rows and the execution plan that is cached is no longer optimal.  SQL Server should quickly adjust for this – and we have certainly seen that Service Pack 1 of SQL Server 2008 R2 appears less susceptible to this problem.  There is also a recommended setting for Project Server – SET AUTO_UPDATE_STATISTICS_ASYNC ON (documented at https://technet.microsoft.com/en-us/library/ee662107.aspx ) that could avoid this problem – as potentially it may be triggered if the database is waiting on the statistics to update rather than just getting on with the work!  As the problem is quite rare – and we (and our customers) usually want to get things working rather than examine the slow system – we haven’t had a good chance to confirm some of these theories. One typical symptom, apart from things just running slow, is a particular event in the ULS log indicating a slow running stored procedure.  These are verbose level messages from SharePoint Foundation Monitoring, so may not be traces that are normally written to your ULS logs, but if they and they occur for some of the queue stored procedures such as MSP_ProjQ_Lock_Next_Available_Group  or MSP_TimesheetQ_Lock_Next_Available_Group.  The event ID to look for is b4ly and it might look something like tis: 08/09/2012 16:10:25.10 Microsoft.Office.Project.Server (0x36D0) 0x2E58 SharePoint Foundation Monitoring b4ly Verbose Leaving Monitored Scope (FillTypedDataSet — MSP_ProjQ_Lock_Next_Available_Group). Execution Time=21102.179988219601 I’ve highlighted the Event ID and the stored procedure name.  The execution time is in ms – so this is 21 seconds – v. slow.  You may also be able to track an increase in this time across your logs. As mentioned above we usually found that a reboot got things moving again, but once we understood the likely causes of the problem we could be a little more focused and fix things with less inconvenience to the users. How to Fix 1. Always worth getting your database maintenance working well – for this and many other reasons. 2. Set the recommended value for SET AUTO_UPDATE_STATISTICS_ASYNC 3. If Project Server is the only application running on SQL Server then the sledgehammer approach would be to run the following command within SQL Server management studio:  DBCC FREEPROCCACHE.  This will empty the stored execution plans from the procedure cache and then ALL stored procedures will need to recompile and the new execution plan should get things working faster. 4.  If other applications are running you probably don’t want to run that DBCC command – so instead you could just recompile a couple of the likely stored procedures: Draft DB EXEC Sp_recompile MSP_ProjQ_Lock_Next_Available_Group EXEC Sp_recompile MSP_ProjQ_Get_Status_Of_Jobs_List Published DB EXEC Sp_recompile MSP_TimesheetQ_Get_Status_Of_Jobs_List EXEC Sp_recompile MSP_TimesheetQ_Lock_Next_Available_Group I hope this helps if you do run in to this kind of behavior – and hopefully by keeping SQL Server patched and using our recommended settings it isn’t something that you should see happen – but just in case – this detail might save a call to me and my colleagues.

Recent content about the new Project, Project Online, Project Professional, Project Server

Following recent webcasts, sessions and articles during the past month about The new Microsoft Project please find key content I’ve noticed. If I’ve missed any please let me know and I will gladly add to this list. In the meantime happy reading and watching! TechEd Australia (video): Microsoft Project Online Overview MPUG (video): Overview of the new Microsoft Project, plus QA with Senior Microsoft Product Manager Projects At Work (article): Tool Shop: Microsoft Project 2013 TechRepublic (article): Microsoft Project Professional 2013 new features preview Project Blog: Tasks Integration with Exchange Timelines Everywhere: See and share your work with ease in SharePoint and PWA Get Started with Project Web App SharePoint Tasks List plus Project – Better Together Adding SharePoint task lists to PWA an a lot more to come so please subscribe to the RSS feed !!!! Office Next blog: Click-to-Run and Office on Demand (good read to understand the new Project Pro for Office 365 service) SharePoint blog: Keep Your Team in Sync with Site Mailboxes Other blogs from MVPs, experts, product fans: EPMSource (Alex Burton’s blog, Project MVP) SharePoint (and Project Server Shenanigans) Nenad Trajkovski (Project MVP)

SharePoint Online: PDF in-browser viewing & MP4 file streaming

We are very excited to announce two compelling updates for SharePoint Online. The service will support in-browser viewing of PDF files and improved streaming of MP4 video files . We received a lot of feedback noting PDF viewing was limited while a number of customers expressed that they did not want PDF files to be downloadable to user’s desktops. In addition, users found that some MP4 files were being downloaded in full before playback would begin. What will this update mean to the user? A PDF document stored in a SharePoint Online library it will simply launch within their Internet browser. This too applies to PDFs embedded as attachments within list items. Note: Users are required to have Adobe Reader on their machines to ensure the proper browser plug-in is available: https://get.adobe.com/reader . Note: In some isolated instances, you may encounter an error when trying to open a PDF document in your Internet browser. If this happens, please try disabling the Adobe ActiveX plugin by going to  Settings > Manage add-ons , highlight the Adobe PDF Link Helper add-on from the list of add-ons, and then click Disable . An MP4 video file stored in a SharePoint Online library will begin streaming much faster without downloading the full file first. We are at the tail end of rolling out the most recent SharePoint Online service update. The PDF adjustment will soon be a notable experience enhancement for all SharePoint Online customers across all Office 365 plans and offerings. The same applies to MP4 files stored in SharePoint Online – let the streaming begin! Microsoft expects to complete this service update rollout worldwide by the end of September 2012. We continue to improve the experience while maintaining the level of security you expect from Office 365. Thank you for your patience and actionable feedback. SharePoint Online progressively evolves each quarter. At its core, the service is driven by AND adapts to the preferences of how users use it every day. Please keep it coming. You can read about this and all of the latest features and innovation on the Office 365 Service Update wiki . Thanks, The SharePoint Online Team

Lync To Phone, Overview and Setup – Lync and Learn

Updated 9/21: Thank you for attending this fantastic Lync and Learn session. If you missed it, you can find the  Lync Recording here  and below. The Power Point presentation is also attached to the blog post below. Lync and Learn is an online session led by Office 365 Product Managers and Community   Grid members .  Lync and Learn sessions address different Office 365 subjects and scenarios and is beneficial to anyone who wants to learn more and expand their knowledge of the Office 365 suite. View past Lync and Learn sessions   here . (Please visit the site to view this video) Come learn what Lync to phone is all about in our upcoming Lync and Learn session.  Sean McNeill  will be leading this presentation and showing us Lync to phone and how to set up Office 365 with services to enable Lync to voice.   If you’re interested in getting a dedicated local phone number for calls with Lync Online, then his session will provide everything you need to get started.   Sean McNeill  was recently awarded Office 365 MVP and has been working in Microsoft technologies for over 15 years. Sean enjoys technology and Cloud Services. Sean is a Managing Consultant with Catapult Systems. You can read Sean’s blog at https://office365evangelist.com/  and follow him on twitter @s_mcneill . Be sure to view his community profile  here . Attend this session to learn more about Lync to phone and to participate in a Q&A session with Sean McNeill.  To sign up for this webcast please  download and save the calendar invite below  where you will find the Lync invite and all other Lync and Learn information.  We are excited to see you there!  Interested in being our next Lync and Learn presenter?  Learn how to join the Office 365 Grid  and become an Office 365 Lync and Learn presenter. —————————————————————————————————————————————————————————— Presenter :  Sean McNeill , Managing Consultant with Catapult Systems and  Office 365 Grid member . Date/Time:  Thursday September 20 th , at 10:00 AM Pacific Time . (1 Hour presentation) Live Meeting Information: ……………………………………………………………………………………………………………………….. Join online meeting https://join.microsoft.com/meet/v-joshto/F00T8BQY Join by Phone  +14257063500         +18883203585           Find a local number   Conference ID: 27579341     Forgot your dial-in PIN?   |    First online meeting?      [1033])!] Audience: Office 365 for professionals and small businesses Office 365 for enterprises

Office 365 – Newly Released Outlook Updates Provide Password Expiration Notifications

The Microsoft Outlook team has released updates for Outlook 2010 and Outlook 2007 that provide Office 365 users with advance password expiration notifications. These notifications will be displayed in a pop-up message (near the system clock) within a certain time period before the password actually expires. The tenant administrator can configure the amount of time before password expiration that the notifications appear. For users whose passwords have already expired, Outlook will display an error message when users try to connect to their mailbox. In both scenarios, Outlook also provides a link (URL) to update passwords via the browser. When users click on those links, they are taken to the Microsoft Online Portal to change or update their passwords.   For more information about this issue, as well as links to the updates for Outlook 2010 and Outlook 2007, see the  Password Expiration Notifications in Outlook. This wiki article also contains videos to show the new user experience when the updates are applied.

New VBA classes and members in Project Professional 2013 Preview

The What’s new for developers in the new Project desktop (besides task pane apps) article is available in the Office Developer Blog . The VBA and VSTO object model includes includes classes that support new reports with charts, tables, and Office Art. Other new members in the Project object model support the new task paths feature, cache status, and working with tasks lists in SharePoint 2013.

Future EPM Content Publishing blog posts moving

In an effort to centralize blog content, we will be posting all future EPM Content Publishing blog entries on the main Project product team blog . If you are looking for EPM content, try these resources: TechNet – IT Pro content for Project Server Office.com – IW content for Project Web App and Project Online MSDN – Developer content for Project Server Thank you to our readers for taking the time to learn more about the content we have published over the years. We look forward to sharing more with you in the future!

See you in Australia for Tech.Ed and Project Server 2013 Ignite training next September

I’m looking forward to see many of you next month at Tech.Ed Australia #auteched, September 11-14 on the Gold Coast and at the next Project Ignite training in Sydney September 18-20. First Brad Purdy and I will be delivering my favorite topic these days: Microsoft Project Online Overview . Looking for reasons to attend Tech.Ed Australia? I’ve put a few here , don’t miss it! Secondly, we have put a very solid 3 day agenda and content you cannot miss to get a head start on The new Microsoft Project : Project Ignite Tour starts in September 2012! Register now! (registration link at the end of Jan’s post). There are so many things you need to learn and ramp up on (i.e. Project Online, new app marketplace, deeper SharePoint integration etc.), it would be a mistake to miss this face to face training opportunity! See you next month!