Introduction

One of the key strengths of a WebObjects application is its scalability. As the load of a particular WebObjects site increases, additional instances of the WebObjects application can be started to handle the increase in load. However, when launching a new WebObjects site, there is no previous load against which to measure and scale. One of the most important challenges is determining what a new WebObjects setup should be.

There is a difficulty in determining the ideal setup for a new site. There are dozens of variables which affect a site's performance, and not all of these variables are easily quantifiable. However, there are key variables which can be considered and focused on, in order to give a starting point, or in other words, an estimate, on what the initial site requirements will be.

The formulas presented in this application are an attempt at estimating what an adequate initial setup would be, given supplied user data. The more accurate the supplied data, the more accurate the estimations.

As a reminder, one should not take the results of these formulas and immediately enter production. Rather, consider the results as a starting place for a testing environment. Then use a testing tool, such as the Playback Manager, to simulate your projected load, and then adjust your site makeup accordingly.

This application is part of the WebObjects Deployment for System Administrators course taught by Apple Enterprise Training. To sign up for WebObjects Deployment for System Administrators or any other WebObjects course taught by Apple Enterprise Training, please visit our official training site or call (800) 879-6398 (option 2).

Instructions

This application presents essentially two variations on the same formula. The first formula, called the Instance Calculator, calculates how many instances would be required to handle the projected load of a site. It also provides the RAM requirements of running that many instances at a time.

The second formula, called the Transaction Calculator, calculates how much traffic a site can handle based on the number of instances that are running on a particular site. It also provides the RAM requirements of running that many instances at a time.

For both formulas, the instance count and RAM requirements are logical, and do not denote how many host machines should be used to handle the total instance count. This is left up to the deploying team to calculate. A rule of thumb is to not run so many instances of a WebObjects application on one machine so that its processor runs at more than 70% of capacity. Additionally, do not run so many instances of a WebObjects application on one machine so that there is not enough RAM to avoid virtual memory swapping. Using these two principles, and a little testing, it should be fairly easy to determine how many host machines will be required to deploy the suggested instance count.

The calculator includes a glossary which will explain the purpose and unit of measurement of every piece of data involved in the formulas.

Acknowledgments

The Deployment Calculator was created and delivered by many individuals working at Apple, and we acknowledge them here. The Deployment Calculator's user interface was designed and created by Mike Hoffhines. The algorithms represented by the Deployment Calculator were developed by Dirk Johnson.