[ Previous | Next | Table of Contents | Index | Library Home |
Legal |
Search ]
Performance Management Guide
In identifying and quantifying performance requirements, it is important to
identify the reasoning behind a particular requirement. This is part of
the general capacity planning process. Users might be basing their
statements of requirements on assumptions about the logic of the program that
do not match the programmer's assumptions. At a minimum, a set of
performance requirements should document the following:
- The maximum satisfactory response time to be experienced most of the time
for each distinct type of user-computer interaction, along with a definition
of most of the time. Response time is measured from the time
that the user performs the action that says "Go" until the user receives
enough feedback from the computer to continue the task. It is the
user's subjective wait time. It is not from entry to a subroutine
until the first write statement.
If the user denies interest in response time and indicates that only the
result is of interest, you can ask whether "ten times your current estimate of
stand-alone execution time" would be acceptable. If the answer is
"yes," you can proceed to discuss throughput. Otherwise, you can
continue the discussion of response time with the user's full
attention.
- The response time that is minimally acceptable the rest of the
time. A longer response time can cause users to think the system is
down. You also need to specify rest of the time; for
example, the peak minute of a day, 1 percent of interactions. Response
time degradations can be more costly or painful at a particular time of the
day.
- The typical throughput required and the times it will be taking
place. This is not a casual consideration. For example, the
requirement for one program might be that it runs twice a day: at
10:00 a.m. and 3:15 p.m. If this is a
CPU-limited program that runs for 15 minutes and is planned to run on a
multiuser system, some negotiation is in order.
- The size and timing of maximum-throughput periods.
- The mix of requests expected and how the mix varies with time.
- The number of users per machine and total number of users, if this is a
multiuser application. This description should include the times these
users log on and off, as well as their assumed rates of keystrokes, completed
requests, and think times. You may want to investigate whether think
times vary systematically with the preceding and following request.
- Any assumptions that the user is making about the machines the workload
will run on. If the user has a specific existing machine in mind, make
sure you know that early on. Similarly, if the user is assuming a
particular type, size, cost, location, interconnection, or any other variable
that will constrain your ability to satisfy the preceding requirements, that
assumption also becomes part of the requirements. Satisfaction will
probably not be assessed on the system where the program is developed, tested,
or first installed.
[ Previous | Next | Table of Contents | Index |
Library Home |
Legal |
Search ]