CMG - page analyzer a tool for performance modelling
CMG - page analyzer a tool for performance modelling
Performance Professionals
The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the
measurement and management of computer systems. CMG members are primarily concerned with performance evaluation of existing systems to maximize
performance (eg. response time, throughput, etc.) and with capacity management where planned enhancements to existing systems or the design of new
systems are evaluated to find the necessary resources required to provide adequate performance at a reasonable cost.
This paper was originally published in the Proceedings of the Computer Measurement Group’s 2001 International Conference.
Copyright 2001 by The Computer Measurement Group, Inc. All Rights Reserved. Published by The Computer Measurement Group, Inc. (CMG), a non-profit
Illinois membership corporation. Permission to reprint in whole or in any part may be granted for educational and scientific purposes upon written application to
the Editor, CMG Headquarters, 151 Fries Mill Road, Suite 104, Turnersville , NJ 08012.
BY DOWNLOADING THIS PUBLICATION, YOU ACKNOWLEDGE THAT YOU HAVE READ, UNDERSTOOD AND AGREE TO BE BOUND BY THE
FOLLOWING TERMS AND CONDITIONS:
License: CMG hereby grants you a nonexclusive, nontransferable right to download this publication from the CMG Web site for personal use on a single
computer owned, leased or otherwise controlled by you. In the event that the computer becomes dysfunctional, such that you are unable to access the
publication, you may transfer the publication to another single computer, provided that it is removed from the computer from which it is transferred and its use
on the replacement computer otherwise complies with the terms of this Copyright Notice and License.
Copyright: No part of this publication or electronic file may be reproduced or transmitted in any form to anyone else, including transmittal by e-mail, by file
transfer protocol (FTP), or by being made part of a network-accessible system, without the prior written permission of CMG. You may not merge, adapt,
translate, modify, rent, lease, sell, sublicense, assign or otherwise transfer the publication, or remove any proprietary notice or label appearing on the
publication.
Disclaimer; Limitation of Liability: The ideas and concepts set forth in this publication are solely those of the respective authors, and not of CMG, and CMG
does not endorse, approve, guarantee or otherwise certify any such ideas or concepts in any application or usage. CMG assumes no responsibility or liability
in connection with the use or misuse of the publication or electronic file. CMG makes no warranty or representation that the electronic file will be free from
errors, viruses, worms or other elements or codes that manifest contaminating or destructive properties, and it expressly disclaims liability arising from such
errors, elements or codes.
General: CMG reserves the right to terminate this Agreement immediately upon discovery of violation of any of its terms.
Learn the basics and latest aspects of IT Service Management at CMG's Annual Conference - www.cmg.org/conference
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
Richard A. Mushlin and W. Nathaniel Mills III,
IBM T. J. Watson Research Center, Yorktown Heights, NY 10598
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
• 2b. The firewall (socks server) intercepts this Since the Page Analyzer modeling tool uses a similar
request, checks if the transaction is allowed, and if interface, it is useful at this point to look at some data
so, opens a socket connection on the client’s
behalf.
• 2c. If encryption is required, the client and server
must set up a secure connection, typically using
Sample view of
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
• There are a lot of items, some of which have very resources, subject to constraints. Scheduling gets
small durations. complex when the possible combinations of tasks,
• Many of the items have their own separate resources, and constraints get numerous. For our
connections. scheduling problem, the complexity is limited by the
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
well defined sequence of web transaction steps, the
These observations might lead us to speculate on design of popular browser software, and the nature of
what the performance would look like if we made a few TCPIP socket communications, which together play
changes, such as: the role of constraints. The resources for our problem
are the connections to servers, represented as a
• Eliminate the use of the socks firewall. (This is socket id, IP address/port pair, and the interpreted
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
often possible when employees have HTML source document, which drives item retrieval.
misconfigured their browsers to use the firewall to The tasks are the items and the steps that go into
access intranet sites.) retrieving them. Thus, running a model consists of
• Increase server capacity in the hope of avoiding making changes to the task attributes, reallocating
long response times. resources, modifying and applying constraints, and
• Combine small images, if possible, into fewer, recalculating the schedule under the new conditions.
larger images, reducing the number of interactions
with the web site. For our modeling tool, we have organized these
• Keep connections open whenever possible, and scheduling operations into 3 computation layers. Each
reuse them when available. model is implemented on this blueprint, performing the
appropriate calculations in each layer. The first, or
The purpose of the Page Analyzer modeling tool is to innermost, layer involves the modification of size
allow the effects of these kinds of scenarios to be and/or timing attributes of individual steps (the colored
calculated, based on existing measurements and an segments in figure 1). Depending on the model, the
understanding of how web page retrieval works. After changes may be applied to one kind of step for all
the calculation is done, the modeled data, which has items, or certain steps of certain items. As an
the same form as the measured data, can be example, suppose a model requires reducing the
visualized using the same interface, for comparison duration of one step to 50% of its original value, and
with the original unmodeled image. eliminating another step. This is shown schematically
Note that this type of modeling is not the only kind of Example of First and Second Layer Modeling Operations
performance analysis available to improve
performance. Killelea [5] describes web performance item before
step a step b step c step d
any modeling
tuning at length. His book is filled with practical
guidelines for improving performance, and is illustrated shorten eliminate
with sample calculations using “typical” numbers.
Menasce [6] uses more theory to calculate queue item after first
step a step b step d
layer of modeling
lengths, throughput, latencies, availability, and other
metrics. Both of these authors are targeting the shift
average, overall performance, qualitative or
quantitative, for entire networks or web sites. Our goal item after second
layer of modeling step a step b step d
is much more focused on the characterization of
in figure 2 for one item.
particular web pages and the factors that come into
play for those pages. We are trying to estimate the Figure 2
impact of changes that Killelea or Manasce might
suggest, by doing virtual experiments. By focusing on The top row shows the steps before any modeling
content design and deployment issues, we address takes place. The middle row shows the 50% reduction
many performance improvements that are less time- of step b and the elimination of step c. Note that after
consuming and costly to implement. the first layer of modeling, there has been no change
in the overall duration of the item, because we have
Methods not changed the start times of any of the steps.
of “eliminate”. If “eliminate” means “set duration and modeling layers 1 and 2, the situation is as we saw in
size to zero”, then a zero-duration step c would be figure 3b. We now apply a proportional HTML
shifted to the end of step b, and step d would be interpretation time model in layer 3. This model
shifted to the end of step c. For scheduling purposes, assumes that items referenced in an HTML document
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
this gives the same result as if “eliminate” meant can never start any sooner than their original
“remove from the data set”.) Note that the item’s proportion into the HTML source. In figure 4b we
overall duration is now shorter. If this were the end of show item 2 shifted to start at 80% into the content
the modeling operations, the result would be some delivery of item 1, the same fraction as before any
shorter items, but the total time to retrieve the page, modeling. In general, one HTML document may
which ends when the last step of the last item ends, reference many other items. Clearly, these references
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
might not change much. To see why this might be the are sequential in the source, and the browser takes
case, consider a page with items initially of all the some time to read and interpret the source, and to
same duration, as shown in figure 3a. If we then apply become aware of each reference in turn. The
a model which eliminates one step from every item, proportional interpretation model maintains the
shortening every item by 25%, we get the situation in sequence and relative timing at the end of the
figure 3b. computation. As a result of shifting item 2 in layer 3
(figure 4b), the total savings is greater than could be
P a g e w ith T w o Ite m s,
M o d e lin g L a ye rs 1 a n d 2
obtained with levels 1 and 2 alone (figure 3b).
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
schedule
performance data. Figure 5 shows the relationships
between the high level functional components.
parallel
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
we describe the models and how they work. Our
models are organized into a shallow hierarchy as E x a m p le o f R e la tiv e L im it S e ttin g s
shown in figure 7.
The model class manages the model name and id, the In itia l v a lu e s P e rc e n ta g e o f ra n g e F in a l v a lu e s
connection is needed for each server, and the overall Perhaps if we did not have to go through a socks
performance may suffer. Placing all content on one firewall the performance would improve. Figure 9
server may become advantageous if the connections shows the results of eliminating all socks connection
to that server are kept alive and reused on a first- steps from all items.
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
available basis. (Network sprayers or load balancers
can be used to distribute the back-end load to multiple
servers while allowing the socket connection to the Savings
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
suggests that the socket scheduling strategy of the
client and server dominate the retrieval performance of Eliminate socks
this web page. For the example shown here, that Minimum connect time
strategy results in almost complete sequential retrieval Minimum server response time
of the content, the only significant parallel retrieval All content on one server
being for item #3. Since we have already removed 4 keepalive sockets
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
Savings
Figure 11
Eliminate socks
Minimum connect time The same data is shown with an expanded timescale
Minimum server response time in figure 12.
Socket 1
Socket 2
Socket 3
Socket 4
Eliminate socks
Item 14
Minimum connect time
Minimum server response time
Figure 10 All content on one server
4 keepalive sockets
with the “almost pure content” model in figure 10, The ability to handle incoming connections is clearly a
adding the single server keepalive feature saves about key factor, and has been the focus of recent work by
3/4 of the retrieval time. The results of the three van der Mei et al. [7].
scenarios are summarized in figure 13.
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
The response of the content server to the request for
S u m m a ry o f m o d e le d p e rfo rm a n c e data also has sub-steps, any of which can cause
delays. First is the same network delay and service
m e a s u re d +no socks + p u re c o n te n t + k e e p a liv e queue that may come into play during the connection
re trie v a l tim e
3 .9 1 1 3 .4 1 2 3 .2 2 9 0 .8 9 4
step. Second, the content may have to be dynamically
(s e c o n d s )
to ta l
assembled, or it may reside on a back-end server
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
- .4 9 9 .6 8 2 3 .0 1 7
s a v in g s such as a database. It would be nice to know a more
% to ta l
s a v in g s
- 13% 17% 77% detailed breakdown of the overall server response
in c re m e n ta l
s a v in g s
- .4 9 9 .1 8 3 2 .3 3 5 time. There is work in progress in our lab to allow the
% in c re m e n ta l
- 13% 5% 72%
proportion of actual service time to total response time
s a v in g s
to be measured. This would allow the modeling to be
Figure 13 extended to account for routing and queuing delays
separately from the time it takes the server (and
downstream servers) to actually perform the service
request. One modeling scenario might be to link the
Discussion connect time to the network/queuing portion of the
The examples presented in this paper demonstrate the server response time, on the grounds that getting a
value of modeling web page retrieval performance at connection and getting a service request started ought
the level of component retrieval activity steps. If the to take about the same time. Another way to say this
analysis were performed only at the level of whole is that if, for a particular server, the server response
item retrieval there would be no way of gauging the time is significantly longer than the connect time, then
relative contributions of the firewall, network, server, or that difference probably represents actual server work,
other activity or resource components. This and making the network faster will not help much.
knowledge is valuable because it suggests the
potential impact of changes. In our example, the The most significant effect as seen in our modeling
socks firewall came into play because the target web example comes from a more efficient use of available
page was being accessed from a node on a corporate sockets. For the single server case, the model we
network (my office workstation). The cost of 8% in this have chosen suggests that this could far outweigh
case seems well spent in order to make the intranet tinkering with gateways and routers in improving the
more secure. However, it is possible to implement a user experience. The implementation would require
socks firewall poorly, using under powered servers the use of keepalive sockets, supported by HTTP 1.1.
and creating bottlenecks. If socks bottlenecks were The client has to request the feature, and the server
suspected, one could compare the measured has to agree, for each transaction. Even if there is
performance with the no-socks model to get an idea of agreement, either side may close the socket for its
the maximum benefit achievable by eliminating the own reasons and without notice. For the benefits
firewall altogether. If improvements were then made, predicted by the model to be realized, the keepalive
such as rotating traffic through multiple servers, or requests have to be honored. One reason this may
using a non-socks firewall, the fractional improvement not happen is that if the server is already at its
could be estimated. The model helps decide if this is maximum number of simultaneous connections, then
even worth trying. There is work in progress in our lab every connection kept open for one customer may be
to validate the model predictions against an alternative another connection refused for another customer
gateway which would not involve the additional accessing the site. Strategies for optimizing traffic by
communication volley associated with the socks honoring some fraction of keepalive requests are
gateway. beyond the scope of this paper. However, a policy of
refusing all keepalive requests (or not upgrading from
Making very fast connections and getting very fast HTTP 1.0) can clearly hurt performance.
turnaround from the content servers resulted in a
significant performance improvement in our models. An interesting set of questions arise whenever multiple
What determines how long these steps take? Each models are combined in some way to give a
depends on several factors. For connections, there is composite prediction: How does the composite
the routing speed (network latency) which determines depend on the way the models are combined? Does
how fast the “connect” message gets to the server. the order matter? What, if any, are the interactions
When the server gets the message, it may be busy between models? First consider the real world that the
making other connections, or the maximum number of models are targeting. It seems clear that the
connections for that server may already be in use. performance of a real system depends on the
comprehensive state of the system and its evolution as parameters of every model, so that their effects
rules, not on how the state or the rules came to be. If would always be local.
models were totally realistic simulators then the same
independence would apply to the order in which the The examples presented here represent single
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
models were composed. In practical terms, however, measurements of a single web site, primarily for the
the modeling software we have described is not a purpose of describing the modeling operations and
simulator. It does not duplicate the state of the target illustrating their results. In practice, measurements of
system, change parameters, fire the rules, and see a single web site exhibit variations in performance at
what happens. It is an analysis tool which operates on all levels of granularity. There is work in progress in
high level constructs which represent, but are not our lab to automate the collection of these samples,
Join over 14,000 peers - subscribe to free CMG publication, MeasureIT(tm), at www.cmg.org/subscribe
identical to, the features of the real system. We are and expand the modeling framework to create,
modeling the performance metrics of the system, not analyze, and manipulate the statistical representations
the system itself. of these measurements.
Buy the Latest Conference Proceedings and Find Latest Computer Performance Management 'How To' for All Platforms at www.cmg.org
the Turn of the Century”, Performance
Evaluation, v.42, pp.91-108 (2000)