How to Scale Using 64-Bit Computing

As your office grows, both in terms of the number of PortfolioCenter users and the size of the PortfolioCenter database, you might want to scale your hardware resources accordingly to increase performance. Achieving acceptable performance is a matter of having sufficient hardware resources for a given workload. This document gives you the information you need to scale your hardware appropriately.

The most relevant resources for scaling are:

Processor Characteristics Affecting Performance

Processors have several characteristics that can affect performance and speed. The list below describes the main characteristics you need to be aware of when selecting the machine that will serve PortfolioCenter server computer.

Clock speed
The clock speed of your computers' processors (measured in gigahertz) has an impact on performance. Usually, the faster the clock speed, the greater the performance. Processor speed has improved greatly in recent years. At this point, any new computer that you purchase for your office should have sufficient clock speed.
Number of Processors
A computer can have more than one processor, especially if it is designed to be a server. The number of processors is now more important than the clock speed of processors. Typically, a PortfolioCenter server should have two processors. Few PortfolioCenter users have computers with more than two processors because it can be cost prohibitive.
Hyper Threading
Hyper Threading is a technology that splits one processor into two logical processors, allowing one processor to handle two jobs simultaneously.
Multi-Core Processors
These processors combine multiple processors into a single package. Currently, only dual-core processors are available, but soon you will see multi-core processors on the market with 3 or more cores. A server with two dual-core processors has four logical processors, similar to hyper threading. However, unlike hyper threading, the processing power of the multi-core processor is increased instead of split in half. As a result, multi-core processors are noticeably faster than those with hyper threading.

How RAM Affects Performance

RAM is the memory that a computer uses to do work. Until recently, all Windows computers were limited to a maximum of 4 Gigabytes of RAM: two Gigabytes available for applications and two Gigabytes available for the operating system. With sixty-four-bit computers, and the accompanying Windows Server 2003 x64 operating system, manufacturers are producing affordable servers that use 16 Gigabytes or more of RAM. To calculate the amount of RAM needed for optimum performance, consider three things:

The operating system
Windows Server 2003 can cache your PortfolioCenter database files in RAM, but the operating system also needs RAM to do its own work. Thus, a good calculation for RAM needed for the Operating system is: 1.2 times the size of the PortfolioCenter database. For example, if your PortfolioCenter Database is 2 GB, allow for 2.4 GB RAM when using a Windows Server 2003 operating system.
SQL Server
SQL Server uses RAM to read the database tables and process queries, among other activities. The RAM used by SQL Server will vary based on the size of the database, the number of users, and the type of work the users are doing. By default, SQL Server can use up to half the RAM available on the computer. For example, if you have 16 GB available on the server, SQL Server is automatically set up to use up to 8 GB. As a starting point, assume that SQL Server will use half of the RAM on the computer, and then monitor SQL Server's use of RAM over time to determine whether it needs more.
SPT Server
SPT Server does all of the work for PortfolioCenter that is not database-specific, such as calculating the columns that appear on the reports. SPT Server is a 32-bit application and cannot address more than 2 GB of RAM. For optimum performance, allow 2 GB of RAM for SPT Server. If you have several active users, SPT Server can require more than 2 GB of RAM to process all of the work that is required. To handle the load, you need to use distributed application computers, as described below.

Scaling Options

To accommodate your growing network needs, you must scale your network. There are a number of configurations you can try, but there are two options in particular that might work best to handle networks with large databases and/or nine or more active users.

Adding a 64-Bit Server

One option is to replace a centralized 32-Bit PortfolioCenter database and application server with a 64-Bit database and application server. As described above in the RAM section, 64-Bit computers offer the ability to use significantly more RAM. When the amount of RAM required for optimal performance exceeds 4 GB, we recommend upgrading your database server to a 64-Bit computer.

Adding Distributed Application Computers

Another option is to distribute the application portion of PortfolioCenter across multiple machines to share the RAM. If your PortfolioCenter server is not able to deliver acceptable performance when multiple users are accessing the system, this problem can be solved by increasing the RAM and processor resources available to PortfolioCenter. At some point, purchasing a new server might not be affordable.

When you get to this point, consider running SPT Server on one or more Distributed Application computers. You can install distributed application computers on one or more workstations. You can also install distributed applications on servers, to which client machines connect to access the program. However, this alternative does offer some limitations:

Example Scenario

Consider the following scenario in which PortfolioCenter is slow:

Two issues are causing the slowness:

To improve performance, consider one of the following alternatives.

The rest of this page provides the details, advantages and disadvantages for each configuration option.

Option 1:
Upgrade Workstations and Install Distributed Application Clients

Upgrade any workstations that do not have 2 logical processors. For example, upgrade a single processor machine to one with a processor that has hyper-threading technology. Also, make sure each workstation has at least 2 GB of RAM. Finally, install a distributed application server on each workstation.

Results

Advantages

Drawback

Option 2:
Add Two Dedicated Application Servers

Add two dedicated application servers, each with 2 hyper-threaded processors and 4 GB of RAM. Five users connect to each application server.

Results

Advantages

Drawback