Response Times in Client-Server Systems
چکیده
Response time is the key performance measure in on-line transaction processing systems and other client-server architectures. Not only is it important to achieve a low average value and correspondingly high throughput, but response time should also be fairly consistent in order to provide a good quality of service. We develop a new algorithm for computing the probability density function of response times in Markovian models of client-server systems. We model the clients and servers by central server queueing networks and obtain response time densities as simple functions of time under independence assumptions that are shown to hold asymptotically as network size increases. The communication network is modelled as a single server queue with mean service time determined by its operational characteristics. We consider an Ethernet and construct a new model, of interest in its own right, that captures details not modelled hitherto. This model is validated against simulation and shows good agreement up to moderate utilisations, the normal operating environment for Ethernets. The whole clientserver model is implemented in the Metron Athene Client-Server capacity planning tool and sample runs are examined. 1 . Introduction The proliferation of client-server systems in business continues unabated, as applications are split into local tasks run on "client" workstations and resource-intensive computations run on a "server" mainframe. The architecture is diverse, typically supplied by several vendors using several operating systems. It is also complex with new levels of systems software such as the Distributed Computing Environment (DCE) superimposed on the traditional layers of operating system, database and application. Many of these systems are provided for non-IT staff, so inadequate performance is directly exposed. Quality of service in client-server systems is typically measured by response time. This is the time elapsed between a client issuing a request to the server and the arrival at the client of the response (e.g. data); alternately, it is sometimes considered as the elapsed time between successive requests, i.e. including processing time and thinking time at the client. Not only is it important to achieve a low average response time and correspondingly high throughput, but response time should also be fairly consistent in order to provide a good quality of service. In other words, it is important to be able to estimate the probability distribution of response time and, indeed, 95 quantiles are specified in the TPC benchmarks. We derive an approximate algorithm for computing response time probability density functions for client-server systems and demonstrate it through the capacity planning tool Athene Client-Server developed by Metron Technology Ltd, [5]. The clients and servers are represented by standard central server queueing networks and the communication network by a novel, customised model of the Ethernet [4]. This model captures details not modelled hitherto and is of interest in its own right, but we use it here to determine the service rate of a single server queue that we use to approximate the behaviour of the network in the wider model. A similar approach can be used for other types of network such as token rings. Under appropriate independence assumptions, * Department of Computing, Imperial College, London † Metron Technology Limited, Taunton