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:
- Processors
- RAM
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:
- Processor Constraints: The number of logical processors that can be added to one machine is limited by technology and cost constraints. To get more than 4 logical processors on a server, cost increases dramatically (this may change as multi-core technology advances).
- RAM Constraints: Unlike SQL Server, SPT Server is limited to using 2 GB of RAM per machine.
Example Scenario
Consider the following scenario in which PortfolioCenter is slow:
- 10 users are connecting to one PortfolioCenter server as thin clients to run reports.
- The PortfolioCenter Server is a 64 bit server with 2 dual core CPUs, and 16 GB of RAM.
- The four logical processors are working at or near 100%.
- Overall RAM usage is at 40%.
Two issues are causing the slowness:
- All 10 users are sharing the same 2 GB of RAM for SPT Server.
- SPT Server and SQL Server are sharing the same 4 logical processors for all tasks. SQL Server is mostly sitting idle, waiting for SPT Server to complete its tasks.
To improve performance, consider one of the following alternatives.
- Upgrade all workstations and install Distributed Application Clients
- Add a dedicated Application server for every 5 users
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
- Users on the distributed application client machines experience much better performance.
- Processors on the PortfolioCenter server run at 75% capacity, and RAM is at 70%.
- SQL Server does more work because the SPT Server bottleneck has been removed; therefore, more RAM is being used.
Advantages
- SQL Server has the PortfolioCenter Server all to itself. It has 4 logical processors and 16 GB of RAM.
- SPT Server runs on each of the 10 workstations – all together, SPT Server has 20 logical processors and 20 GB of RAM to work with.
- As you add users in the future, you will add SPT Server resources, so this option will scale well.
Drawback
- Cost. You might need to upgrade all of the workstations, if they are older machines, and you might have to upgrade the network to a Gigabit Ethernet connection. Far more data travels between SQL Server and SPT Server than between SPT Server and a thin client.
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
- Users experience much better performance.
- On the PortfolioCenter server, the processors run at 75% capacity, and RAM is at 70%.
- On the application servers, processors run at 80% capacity, and RAM is near 100%.
Advantages
- In this configuration, SQL Server has the PortfolioCenter server all to itself. It has 4 logical processors and 16 GB of RAM.
- SPT Server runs on 2 servers with a total of 8 logical processors and 4 GB of RAM addressable by SPT server.
- The clients do not need to be upgraded.
- Gigabit Ethernet is only needed between the database server and the 2 application servers.
Drawback
- Users are still competing for SPT Server resources. If you are considering adding more users, you might have to re-evaluate the load on the application servers as the number of users increase.
