BEA Logo BEA WLCS Release 3.5

  BEA Home  |  Events  |  Solutions  |  Partners  |  Products  |  Services  |  Download  |  Developer Center  |  WebSUPPORT

 

   WLCS Documentation   |   Performance Tuning Guide   |   Previous Topic   |   Next Topic   |   Contents   |   Index

Estimating Baseline Capacity Requirements

 

This topic explains how you can use the information described in prior topics to obtain a baseline environment that meets your specific needs.

This topic includes the following sections:

 


Estimate the Maximum Number of Simultaneous Users

The first step in calculating a baseline environment for your application is to estimate the maximum simultaneous user load that your application will be expected to handle. This estimate depends on the nature of your application and on the behavior of your customers. For example, your requirements may stipulate that your application be able to support 1000 concurrent client connections.

 


Estimate Per-User Memory Requirements

Each simultaneous user connection requires memory to store information on a per-user basis. For example, an online commerce site must store the contents of each user's shopping cart. Ideally, we would like to be able to store each shopping cart in memory rather than in the database. Therefore, where possible, allocate enough memory so that your application stores all concurrent client data in memory.

 


Estimate Application Throughput Requirements

Next, determine the maximum rate at which clients will make requests to your application. This estimate will depend on the nature of the content served by your application and on the behavior of your users. In the case mentioned above, the application must be able to support 1000 concurrent clients. Suppose you expect users to make new requests every 25 seconds. In this case, the application must be able to process 1000/25 = 40 transactions per second (TPS), on average. However, the peak application throughput requirements will be larger than this average figure. Assume that peak workload is 150% of the average figure. This translates into a peak throughput requirement of 60 TPS.

 


Estimate Maximum Acceptable Response Times

Finally, an application response time goal should be associated with the application throughput goal. This figure would typically be inclusive of wide area network latency, implying a lower application response time goal.

 


Calculate a Baseline Estimate

The estimates of the maximum simultaneous users, per-user memory requirements, application throughput requirements, and maximum response times can be used to calculate a baseline environment for your specific needs as described in the following sections.

Throughput Requirements

To satisfy the throughput requirements of your application, choose the appropriate hardware deployment configuration such that:

Maximum throughput requirement = TPS1 + TPS2 +  + TBSn

where TPS1, TPS2, TBSn can be estimated using the throughput observations found in the results section of each test scenario. It is important to use the observations from the scenarios and parameters that best mimic your application. If your application uses Commerce Server and Personalization Server, and Campaign Manager, features, it is best to use the lower of the two TPS observations as a baseline estimate.

Memory Requirements

Use the following formula to determine the minimum amount of memory that must be allocated to each of your n WebLogic Commerce and Personalization Server processes:

Server minimum + Per-user memory requirements * (Maximum number of users)/n

Latency Requirements

When trying to satisfy latency requirements, it is important to factor in the effect of the network and deployment configurations on application latency. For example, it is extremely important to optimize the network connection between your database server(s) and your application server(s). Furthermore, the addition of firewalls and proxy services (such as the cluster proxy plugin) can increase application latency. System throughput tests that include response times can help you optimize your physical architecture such that latency times are minimized.

 


Adjusting Your Estimate

The advice provided in this Guide should get you moving in the right direction for your particular capacity planning efforts. However, you will need to perform tests in your own environment and adjust these estimates according to your results before deploying your application. Environment-specific testing is especially important in determining exact scalability numbers. By performing your own tests, you can be confident that your application will perform as well as it possibly can for your users.

 

back to top previous page next page