From:Steve Adams
Date:02-Apr-2001 14:26
Subject:   Performance extrapolations

I once invented an heuristic to extrapolate CPU usage. It was moderately effective, and might be able to be generalized.

First tune the benchmark system to your satisfaction, and work out how many transactions per minute it can do. Then drop the workload by 10% repeatedly and measure the CPU usage. Get measurements at 100%, 90%, 81%, ... down to about 25% of the workload.

The CPU usage at the next workload level is predicted by the linear projection of the moving average over one less than the number of measurements, times the ratio between the actual CPU usage and the moving average at benchmark capacity. This function is then used recursively to predict CPU usage at even higher workload levels. This heuristic predicts most scalability trends quite well for several iterations. Of course, the further you push it, the greater the risk of hitting an unforseen scalability limit.

Have you heard of any ways of extrapolating benchmark results from a smaller machine and data set to a larger one? I realize that this idea is fraught with difficulty, but I wonder if anyone has had any success in trying it. The extrapolations do not need to be extremely accurate in my case.