[44]The Standard Performance Evaluation Corporation (http://www.spec.org) mission is to "establish, maintain, and endorse a standardized set of relevant benchmarks and metrics for performance evaluation of modern computer systems."You'll get different average response times for different RPC mixtures, since disk-intensive client activity is likely to raise the average response time. However, it is the average response that matters most. The first request may always take a little longer, as caches get flushed and the server begins fetching data from a new part of the disk. Over time, these initial bumps may be smoothed out, although applications with very poor locality of reference may suffer more of them. You must take the average over the full range of RPC operations, and measure response over a long enough period of time to iron out any short-term fluctuations. Users are most sensitive to the sum of response times for all requests in an operation. One or two slow responses may not be noticed in the sequence of an operation with several hundred NFS requests, but a train of requests with long response times will produce complaints of system sluggishness. An NFS server must be able to handle the traffic bursts without a prolonged increase in response time. The randomness of the NFS requests modulates the server's response time curve, subject to various constraints on the server. Disk bandwidth and CPU scheduling constraints can increase the time required for the server's response time to return to its average value. Ideally, the average response time curve should remain relatively "flat" as the number of NFS requests increases. During bursts of NFS activity, the server's response time may increase, but it should return to the average level quickly. If a server requires a relatively long time to recover from the burst, then its average response time will remain inflated even when the level of activity subsides. During this period of increased response time, some clients may experience RPC timeouts, and retransmit their requests. This additional load increases the server's response time again, increasing the total burst recovery time. NFS performance does not scale linearly above the point at which a system constraint is hit. The NFS retransmission algorithm introduces positive feedback when the server just can't keep up with the request arrival rate. As the average response time increases, the server becomes even more loaded from retransmitted requests. A slow server removes some of the random elements from the network: the server's clients that are retransmitting requests generate them with a fairly uniform distribution; the clients fall into lock step waiting for the server, and the server itself becomes saturated. Tuning a server and its clients should move the "knee" of the performance curve out as far as possible, as shown in Figure 16-1.
16. Server-Side Performance Tuning | 16.3. Benchmarking |
Copyright © 2002 O'Reilly & Associates. All rights reserved.