Scalability for Microsoft Project Central

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Applies to:
Microsoft Project 2000
Microsoft Project Central 2000

Summary This article provides guidance on capacity planning and decision-making for deploying Microsoft Project Central. It describes various issues to consider when scaling an installation, offers best practices for ensuring acceptable performance, and outlines deployment scenarios.

On This Page

Introduction
Microsoft Project Central Performance Factors
Best Practices
Strategies for Deploying Microsoft Project Central in Larger Organizations
For More Information
Appendix A: Test Configurations
Appendix B: Tuning Database Tables to Allow More Concurrent Users
Appendix C: Editing the Registry to Set Up a Virtual Directory for Project Central on a Web Server

Introduction

Microsoft® Project 2000 and Microsoft Project Central offer product improvements and new levels of collaboration so that you can make Microsoft Project 2000 the cornerstone of project planning, scheduling, and tracking for your organization.

Microsoft Project Central, a Web-based companion to Microsoft Project 2000, delivers a powerful set of collaborative planning and scheduling tools. Microsoft Project Central uses Windows-based intranets to provide unprecedented visibility of project information, which encourages participation of the whole project team in meeting deadlines and tracking progress.

This document is intended to assist you to take advantage of the rich collaborative functionality delivered by Microsoft Project Central. It provides guidance on capacity planning and decision-making for deploying Microsoft Project Central, describes the impacts of scaling the installation, offers some best practices for ensuring acceptable performance, and outlines deployment scenarios that will allow both small and large organizations to get the most from the collaborative features of Microsoft Project 2000 and Microsoft Project Central. This document does not attempt to define specific hardware or network configurations.

Microsoft Project Central is a Web-based product that runs on Microsoft Internet Information Server (IIS) and relies on a relational database, such as Microsoft SQL Server™, to store its data. For Microsoft Project Central to deliver the best performance, it is essential that both IIS and the database server be configured correctly. This document assumes that both of these products are correctly configured and optimized for peak performance. For more information on configuring IIS or SQL Server, see the following.

For other database products, refer to the product documentation or consult the product vendor.

Microsoft Project Central Performance Factors

As with any server application, the performance of Microsoft Project Central depends on a number of factors. Many of these are beyond the control of both the software designers and the organization deploying the program; however, by understanding the actions or conditions that can affect the performance of Microsoft Project Central, you can make informed decisions about how to manage your deployment. This section defines the primary factors that have an impact on performance, and offers some general targets for the number of users who can reasonably be expected to use the product.

Adding Users

Scalability refers to how well a system can adapt to increased demands. With Microsoft Project Central, scaling means increasing the number of users who can access a given Microsoft Project Central server. This document presents guidelines for the maximum number of users you can expect to have using a single instance of Microsoft Project Central without noticeable degradation in performance.

When the number of users reaches a reasonable maximum, you can accommodate more users by deploying additional servers, which host additional instances of Microsoft Project Central and the attendant database(s). Unlike typical Web site or Web application hosting, these servers must host separate instances of Microsoft Project Central. Because Microsoft Project Central does not allow for load balancing, a single site cannot be scaled to support additional users in a "Web farm" configuration.

Scaling your original Microsoft Project Central deployment—that is, adding to the number of users—can affect the speed with which transactions are executed between the client and server. Although the quality of the user experience is highly subjective, we consider response times of greater than 30 seconds unacceptable.

Throughout extensive testing, adding to the number of concurrent users did not impact the reliability of Microsoft Project Central or the integrity of the project data. Only in extreme cases did transactions fail, and in each case the failure produced an error message instructing the user to resubmit the necessary data. In test environments typical of standard installations, no transactions failed. For a complete description of test environments, see Appendix A at the end of this article.

Usage Patterns

The performance of Microsoft Project Central depends on how the program is used. The response times you experience can vary with the behaviors of individual users, groups of users, and project management style of the organization.

In general, performance depends on the interactions between the client and the Microsoft Project Central database. Both the amount of data being written and the number of transactions executed simultaneously can limit the performance. Three specific variables have the greatest impact on performance:

  • Number of concurrent users. For testing purposes, as well as for this discussion, Microsoft defines "concurrent users" as the number of users executing a transaction against the server/database at any given moment—for example, 25 users simultaneously clicking the Submit button to record timesheet data.

    When comparing products, note that many vendors—including Microsoft Project competitors—define concurrent users as the number of users who are logged in at a given time, or even the number of users having accounts on a particular server. For Microsoft Project Central, "concurrent users" denotes specific actions performed at the same time, regardless of the number of users currently logged on.

  • Number and size of projects. The amount of data involved in a transaction depends on the number and size of the projects. The number of tasks assigned to each user/resource, the number of tasks in the project, and the number of projects stored in the same database all play a role. Obviously, increasing the numbers slows performance. Test data for Microsoft Project Central was obtained using projects with 95 tasks assigned to each resource.

  • Actions performed. More data-intensive tasks, or tasks that execute transactions against the database (for example, updating a timesheet) are noticeably slower than those that do not (for example, working in views). As a result, organizations in which resources are actively reporting and updating project data—especially when all report within a narrow window of time—may be able to support fewer users than organizations in which resources are simply viewing project data.

Other Variables

As a Web-based, collaborative tool, Microsoft Project Central relies heavily on your organization's intranet. In addition to the factors affecting Project Central's performance, many other variables contribute to the performance of the servers, clients, and other network components, and can directly or indirectly affect the user experience.

Any condition that causes a computer to run slowly or that demands processor time can affect the performance of Microsoft Project Central, but in general two factors have the greatest impact:

  • Network performance. Because Microsoft Project Central runs over your organization's intranet or Internet, the performance of the network is crucial. Specific considerations include network topography and routing, as well as the speed and configuration of the network hardware.

  • Other applications. The number and nature of other applications running in the same environment will also have an affect on performance. Applications that require processor time from the server hosting Microsoft Project Central or that access data from the same database server will slow the processing of Microsoft Project Central tasks. Applications that transmit many packets over the same network routes can slow transmission of Microsoft Project Central data to and from the server.

General Targets

Taking all this into account, it is difficult to define the precise number of users that a particular deployment can support. Under extensive testing, however, Microsoft Project Central has been determined to capably support 30 concurrent users performing data-intensive tasks on projects containing 1000 tasks. In standard environments, this means that each Project Central server can facilitate between 800-1000 users.

In large organizations, multiple Microsoft Project Central servers should be deployed in accordance with organizational structures to accommodate more users. Such deployments could be broken along functional lines (that is, workgroup servers) or on a per-project basis, where project teams extend horizontally, spanning the organization across functional boundaries.

Note: These limits refer only to performance barriers and are intended to ensure an optimal user experience; exceeding these guidelines did not compromise the integrity of the Microsoft Project Central data.

For enterprise planning scenarios that require access to project information across the organization, eLabor.com's Enterprise Project can be deployed in conjunction with Microsoft Project and Project Central. Enterprise Project delivers the advanced resource management and executive analysis tools that enterprise project management customers require and are the perfect complement to Microsoft Project 2000 and Microsoft Project Central at the enterprise level.

Best Practices

The following sections outline specific actions and best practices that will help ensure the performance of Microsoft Project Central when deployed to a large organization, or as your deployment grows with your business.

Plan your Deployment

One of the keys to getting the most from Microsoft Project Central is to identify your specific business goals and determine how Microsoft Project 2000 and Microsoft Project Central can help you achieve them. As you define your project objectives, keep in mind your organization's short-term, mid-term, and long-term plans.

You can determine the most appropriate way to position your installation by defining specific, short-term objectives, such as "Deploy Microsoft Project 2000 to 25 project managers and Microsoft Project Central for 2500 resources," as well as more general, long-term objectives such as "Prepare for enterprise project management system."

Several tools are available to assist IT managers with large-scale planning and deployment of Microsoft Project and Project Central, including:

  • The Microsoft Project 2000 Deployment Template, which details the steps and decisions required for an enterprise deployment, from planning to pilot and post-implementation review. The Microsoft Project 2000 Deployment Template is included on the Microsoft Project 2000 CD.

  • The Microsoft Project 2000 Deployment Guide, a companion document to the Microsoft Project 2000 Deployment Template that provides an overview of the phases, considerations, and efforts needed for enterprise-wide planning and deployment. Deployment Guides are designed to help IT managers understand, evaluate, plan, test, and deploy Microsoft Project and Project Central in an enterprise environment. Download the Microsoft Project 2000 Deployment Kit.

Managing the Project Central Database

Because transactions between the client and database have a significant affect on performance of Microsoft Project Central, the performance improvements from a well-tuned database can significantly enhance user experience. Although it is possible to store both the Microsoft Project and Microsoft Project Central databases in the same database or tablespace, doing so can negatively affect performance of both applications. Microsoft Project Central data should be stored in its own database, and managed in the same way as any other application database. This includes backing up your data regularly, monitoring the state of the database, monitoring the activity on the database server, and tuning the database for performance.

Considering MSDE vs. a Managed Database Solution

For small organizations or workgroups without access to a dedicated database administrator, the Microsoft Database Engine (MSDE) offers an attractive alternative to a managed database such as SQL Server or Oracle. MSDE is included with Microsoft Project Central, and if no other database exists, MSDE is installed during Microsoft Project Central installation. Intended as a small-workgroup server database, MSDE is tuned to provide optimal performance at up to 2 gigabytes of data, and carries a licensing constraint of 10 simultaneous connections.

Organizations that retain dedicated database administrators may benefit from using a managed database, such as SQL Server 2000 or Oracle 8i. While a managed database will not directly increase performance of Microsoft Project Central, it typically provides a more robust solution. These database servers do not constrain the number of users, and offer far greater scalability. In addition, enhanced security and the availability of administrative tools to support transaction logging, point-in-time recovery, and dynamic backup-and-restore make these enterprise-class database servers an attractive solution.

MSDE does not come with administration tools; however, the Microsoft Project 2000 Resource Kit Toolbox includes SQL scripts to perform the basic database administration tasks. To download scripts and detailed instructions for installing and running them against your MSDE or SQL Server database, see the Microsoft Project Resource Kit on TechNet. Scripts are available to perform the following functions:

  • Create a backup device for the Microsoft Project Central database

  • Back up the Microsoft Project Central database

  • Restore the Microsoft Project Central database

  • Back up and restore the master database

  • Check database page allocation

  • Check server activity

  • Stop a blocking process

Microsoft Project Central Service Release 1 (SR-1) also contains modified scripts that improve database performance and significantly reduce the occurrence of "deadlock victim" errors

Note: Deadlocks occur when two or more users attempt simultaneous transactions that require each user to lock more than one record, one of which is already locked by another user. After a short delay to see if the records become available, the system will typically identify one user as the "deadlock victim," releasing that user's lock so that the other user(s) can complete their transactions.

Without SR-1, high levels of concurrent use may produce errors that affect submission of actual work in the Timesheet view and when submitting a requested status report. To reduce the occurrence of deadlock victim errors, you should install SR-1, modify the database setup scripts (before you install Microsoft Project Central), or modify the Project Central database (if it is already installed). For information on obtaining SR-1, visit the Microsoft Project Web site. Appendix A provides detailed procedures for modifying the setup scripts and database tables for non SR-1 installations.

Scaling the Microsoft Project Central Server

The following section provides guidelines for installing Microsoft Project Central on an existing Web server, and for hosting more than one Microsoft Project Central site on a single server. Although using a dedicated server ensures optimal performance of Microsoft Project Central, using an existing server is one way to reduce administrative overhead and increase the ratio of users to servers.

To scale beyond the original installation, you must install additional Microsoft Project Central sites. Because Microsoft Project Central does not allow for load balancing, a single site cannot be scaled to support additional users in a "Web farm" configuration.

When you're hosting Microsoft Project Central on a shared server, its performance may be affected by other applications competing for processing power or bandwidth. Also, you must ensure that Microsoft Project Central server configurations and settings are not modified by or for other programs.

In scenarios where the IIS server that hosts Microsoft Project Central server hosts more than one Web site, take care to ensure that the Microsoft Project Central virtual directory is installed under the correct site. This is especially essential when a single server hosts both intranet and Internet sites.

When the Microsoft Project Central server application is installed on an IIS server, setup creates a virtual directory under the first Web site in the IIS catalog. (By default, the first site is called "Default Web Site," although it may be renamed). If you want to install the Microsoft Project Central site under a different Web site (that is, a site that has been manually added to the IIS catalog), you must add the Microsoft Project Central virtual directory using Internet Service Manager, and then add the necessary registry keys for that virtual directory and the related database server(s).

A tool to create an additional Project Central virtual directory and corresponding registry entries is available in the Microsoft Project Resource Kit Toolbox.

Strategies for Deploying Microsoft Project Central in Larger Organizations

For large organizations, the number of expected Microsoft Project Central users may exceed the supportable numbers discussed here. In such cases, you can identify ways to divide the installation into manageable parts, by deploying additional Microsoft Project Central Web sites to serve individual project groups, within geographic boundaries, or other logical subdivisions. Although these sites may exist on the same physical server, they represent separate instances of the Microsoft Project Central server application. When determining the distribution of servers across the enterprise, the limiting factor for each server is typically the number of concurrent users anticipated, rather than the number of projects to be managed.

Consolidated Reporting

Another issue facing larger organizations is the availability of tools that give executives easy access to the information they need to make sound business decisions on projects across the organization. Organizations that have deployed more than 50 copies of Microsoft Project and/or numerous Microsoft Project Central servers will benefit from the summary reporting features of Enterprise Project from eLabor.com. Currently available as a third-party solution, Enterprise Project is soon to be incorporated into the Microsoft Project family of project management tools. Designed specifically to support executive-level decision-making in larger organizations, Enterprise Project offers an enterprise project management solution today with an upgrade path towards tomorrow.

For More Information

Appendix A: Test Configurations

Microsoft Project Central Server was tested using the following server configurations. In all tests, client hardware consisted of Pentium III 400 processors, 128MB RAM, and Windows 2000 Professional.

Web Server Hardware

Database Server Hardware

Database Management System

1 X PIII 500, 256MB RAM

2 X Zeon 400, 512MB RAM

SQL Server 7 (SP1, SP2)

4 X PIII 500, 1 GB RAM

2 X Zeon 400, 512MB RAM

SQL Server 7 (SP1, SP2)

1 X PIII 500, 256MB RAM

2 X P200, 512MB RAM

SQL Server 7 (SP1, SP2)

4 X PIII 500, 1 GB RAM

2 X P200, 512MB RAM

SQL Server 7 (SP1, SP2)

1 X PIII 500, 256MB RAM

2 X Zeon 400, 512MB RAM

Oracle 8

4 X PIII 500, 1 GB RAM

2 X Zeon 400, 512MB RAM

Oracle 8

1 X PIII 500, 256MB RAM

2 X P200, 512MB RAM

Oracle 8

4 X PIII 500, 1 GB RAM

2 X P200, 512MB RAM

Oracle 8

1 X PIII 500, 256MB RAM (Database and Web server hosted on same physical server)

 

MSDE ("Install Now" config)

Appendix B: Tuning Database Tables to Allow More Concurrent Users

This appendix describes how to modify the Microsoft Project Central database to reduce the occurrence of "deadlock victim" errors during times of high concurrent usage. Microsoft Project Central Service Release 1 (SR-1) includes modified scripts that make these corrections unnecessary. Follow the steps below only if you have not installed Microsoft Project Central SR-1. After performing these modifications, you should upgrade to SR-1 as soon as possible.

If you have not yet created the Microsoft Project Central database, you can modify the Crttable.sql database Setup script before you run the three scripts that create the database. If you have already created the Microsoft Project Central database, the database administrator can make equivalent changes to the existing database by using SQL Server Enterprise Manager to edit the tables directly, or by entering the appropriate commands in either Query Analyzer or the OSQL or ISQL command-prompt utilities.

Scenario 1

Resources attempt to submit actual work in the Timesheet view in Microsoft Project Central, and receive the following error message:

Your transaction (process ID number) was deadlocked with another process and has been  
chosen as the deadlock victim. Rerun your transaction.  

This scenario occurs under relatively heavy concurrent use, when multiple users attempt to send a Timesheet update to their project managers at the same, or nearly the same time.

To configure Microsoft Project Central to reduce the occurrence of this error, you must make the following changes to the index configurations for two of the Microsoft Project Central database tables:

  • In the MSP_WEB_MESSAGES table, remove the clustered index for the MESSAGES_MSGID_WMSGRECIPRESID column.

  • In the MSP_WEB_ASSIGNMENTS table, add an index for the WRES_ID_TEAM_LEAD column.

To make these changes to the Crttable.sql script

  1. Copy the three Microsoft Project Central database setup scripts from the Microsoft Project 2000 installation CD to an empty folder on the computer where you are installing Microsoft Project Central.

    Note: The database setup scripts are located in the \PJCNTRL\ISAPI\1033 folder of the Microsoft Project 2000 installation CD. The three scripts required to set up Microsoft Project Central to use Microsoft SQL Server 7 or MSDE are:

    • Crttable.sql

    • Insdefsq.sql

    • Insdefsi.sql

  2. In Microsoft Notepad or another ASCII text editor, open Crttable.sql.

  3. Remove or comment out the following three lines:

CREATE UNIQUE CLUSTERED INDEX I_MESSAGES_MSGID_WMSGRECIPRESID
ON MSP_WEB_MESSAGES(WMSG_ID, WRES_ID_RECEIVER) WITH FILLFACTOR = 40
GO

  1. Add the following three lines after the comment "-- now for the rest of the indexes --":

CREATE INDEX I_ASSIGN_WRESID_TEAM_LEAD
ON MSP_WEB_ASSIGNMENTS(WRES_ID_TEAM_LEAD)
GO

  1. On the File menu in Microsoft Notepad, click Save. Click Yes when you are asked whether to replace the existing file.

  2. On the File menu in Microsoft Notepad, click Exit.

Scenario 2

Resources submit a requested status report in Microsoft Project Central, and receive the following error message:

Your transaction (process ID number) was deadlocked with another process and has been  
chosen as the deadlock victim. Rerun your transaction.  

This scenario occurs when two or more users submit a requested status report in Microsoft Project Central at the same, or nearly the same time.

To configure Microsoft Project Central to reduce the occurrence of this error, you must add an index for the WSR_ID column to the MSP_WEB_STATUS_RESPONSES table.

To make the change to the Crttable.sql script

  1. Copy the three Microsoft Project Central database setup scripts from the Microsoft Project 2000 installation CD to an empty folder on the computer where you are installing Microsoft Project Central.

    Note: The database Setup scripts are located in the \PJCNTRL\ISAPI\1033 folder of the Microsoft Project 2000 installation CD. The three scripts required to set up Microsoft Project Central to use Microsoft SQL Server 7 or MSDE are:

    • Crttable.sql

    • Insdefsq.sql

    • Insdefsi.sql

  2. In Microsoft Notepad or another ASCII text editor, open Crttable.sql.

  3. Add the following three lines at the end of the file, before the comment "-- end of script --":

CREATE INDEX I_WSR_ID ON MSP_WEB_STATUS_RESPONSES(WSR_ID) GO

  1. On the File menu in Microsoft Notepad, click Save. Click Yes when you are asked whether to replace the existing file.

  2. On the File menu in Microsoft Notepad, click Exit.

Installation Notes

After you run the modified scripts to create the database, you must choose the Customize option in Setup for Microsoft Project Central to specify the SQL Server 7 or MSDE database that the scripts created. If you use MSDE, this also means MSDE must be installed before you can run the modified scripts.

If MSDE has not been installed yet and you want to use an MSDE database, you can run Setup for Microsoft Project Central with the Install Now option. Setup installs MSDE, and the default scripts run automatically after the Windows Installer restarts the computer. After Setup is complete, you can modify the Crttable.sql script as described in this article, and then run all three database Setup scripts against the new MSDE database, to replace the default tables that were created.

Appendix C: Editing the Registry to Set Up a Virtual Directory for Project Central on a Web Server

  1. Open Internet Service Manager

  2. Right-click Default Web Site, point to New, and then click Virtual Directory.

  3. In the New Virtual Directory Wizard enter a name for the alias to be used to access the virtual directory (for example, ProjectCentralNew), and then click Next.

  4. Enter the path where you initially installed Microsoft Project Central (for example, C:\ProjectCentral), and then click Next.

  5. Select the following three check boxes: Allow Read Access, Allow Script Access, and Allow Execute Access. If you are using Microsoft Internet Information Server 5.0, the three boxes you need to check are Read, Run Scripts, and Execute.

  6. Click Finish.

  7. In the Default Web Site folder, right-click the name of new virtual directory (for example, \ProjectCentralNew), and then click Properties.

  8. Click the Documents tab.

    If you do not see default.asp in the file list, add it by clicking Add, typing the file name, and then clicking OK.

  9. Click the Directory Security tab.

  10. Under Anonymous Access and Authentication Control, click Edit.

  11. Select the Basic Authentication and Windows NT Challenge/Response check boxes, and then clear the Allow Anonymous Access check box. (If you are using Microsoft Internet Information Server 5.0, the Windows NT Challenge/Response check box is labeled Integrated Windows authentication.)

  12. Click OK.

  13. Click the Custom Errors tab, and then change the files for errors 401;1 and 401;2 by selecting the file and clicking Edit Properties.

    The new file names should be:

\Default Web Site\ProjectCentral\Custerror\401-1.html and \Default Web
Site\ProjectCentral\Custerror\401-2.html.

**Note:** Make sure you are browsing for .html files, and not just .htm files.
  1. Click OK on the Properties dialog box.

  2. In Internet Service Manager, right click on \Default Web Site\ProjectCentralNew\Isapi\Pjdbcomm.dll, and then click Properties.

  3. In the properties dialog box for Pjdbcomm.dll, click the File Security tab. In the Anonymous Access and Authentication Control section, click Edit.

  4. Select the Basic Authentication, Windows NT Challenge/Response, and Anonymous Access check boxes. (If you are using Microsoft Internet Information Server 5.0, the Windows NT Challenge/Response check box is labeled Integrated Windows authentication.) Click OK twice.

  5. In Internet Service Manager, right click on \Default Web Site\ProjectCentralNew\logon\Basicauth.asp, and then select Properties.

  6. In the properties dialog for Basicauth.asp, click the File Security tab. Under the Anonymous Access and Authentication Control section, click Edit.

  7. Select the Basic Authentication check box. Clear the Windows NT Challenge/Response and Anonymous Access check boxes. (If you are using Microsoft Internet Information Server 5.0, the Windows NT Challenge/Response check box is labeled Integrated Windows authentication.) Click OK twice.

  8. Right-click the \Download folder in the \ProjectCentralNew virtual directory of the server, and then click Properties.

  9. If you are using Microsoft Internet Information Server 4.0, in the Properties dialog box, select the Directory tab, select Script option under Permissions, and then click OK.

    If you are using Microsoft Internet Information Server 5, in the Properties dialog box, select the Directory tab, select the Scripts Only option in the Execute Permissions list, and then click OK.

  10. Create the following registry keys. They differ slightly for Microsoft SQL server 7.0, MSDE, and Oracle. If the database you're connecting to is Microsoft SQL7 or MSDE, add the following keys:

[HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Office \9.0\MS Project\WebClient
Server\Projectcentralnew] "Provider"="sqloledb" "ConnectString"="Data Source=SQLServerMachineName;lnitial
Catalog=SQLServerDatabaseName" "UserName"="username" "Password"="Password" "QueryFileStd"="\ProjectCentral\isapi\QueryLibStd.sql" "QueryFileExt"="\ProjectCentral\isapi\QueryLibSQL.sql"

If you're connecting to an Oracle database, add the following keys:

<pre IsFakePre="true" xmlns="https://www.w3.org/1999/xhtml">

[HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Office \9.0\MS Project\WebClient
Server\Projectcentralnew] "Provider"="msdaora" "ConnectString"="Data Source=OracleMachineName;" "UserName"="username" "Password"="password" "QueryFileStd"="\ProjectCentral\isapi\QueryLibStd.sql" "QueryFileExt"="\ProjectCentral\isapi\QueryLibOracle.sql"

  1. If you are using Microsoft NT Server 4.0, reboot the server to complete the creation of the new Web site.

    If you are using Microsoft NT Server 5.0 or later, you only need to restart Internet Services Manager. On the Control Panel, open Administrative Tools, and then open Services. Select IIS Admin Service, and then on the Action menu, click Restart.