Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tech-Focus Paper Using Stateful Test Tools to Verify WebAccelerator Performance Gains
Contents
Introduction WebBrowserOperation WebAcceleratorOperation StatefulTestToolOperation TestToolCachingLimitations OtherTestToolShortcuts EffectiveWebAcceleratorTesting Conclusion AssociatedReading 3 3 5 6 6 7 8 9 10
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
Introduction
WebAccelerator is widely known for its remarkable ability to improve web application performance by speeding web page loading and for its ability to reduce network bandwidth. However, testing WebAccelerator performance is not as simple as connecting a stateful test tool and checking results. The reason for this is that the only meaningful way to understand WebAccelerator performance improvements is to measure response time from a fully functioning web browser. Because stateful test tools do not adequately emulate client behavior, they cannot provide accurate results and are therefore inadequate for testing WebAccelerator performance alone. A better approach is to test with a stateful testing tool in combination with a performance-testing tool like Symphonic TrueView/TrueSpeed or an HTTP monitoring plug-in tool such as HTTPWatch or HTTPFox, which operate in tandem with a web browser. Testing using both tools together can demonstrate the dramatic performance gains available with WebAccelerator. Stateful test tools provide a powerful way to test the effects of network load on stateful devices such as servers, firewalls, Application Delivery Controllers and others. Although load testing tools such as HP LoadRunner, Ixia IxLoad, Spirent TestCenter, BreakingPoint and others offer high quality results useful for measuring the effects of stateful application traffic on a network, they lack the ability to measure how applying web acceleration technology to applications improves user experience. While stateful test tools are perfect for providing the background stateful traffic that help test products like the F5 WebAccelerator under load, they dramatically understate the response time improvement and bandwidth reduction WebAccelerator brings to web applications.
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
sends back an HTTP response that typically contains a list of files (content) the browser requires to build the web page. The browser downloads the files and uses them to build and display the web page for www.example.com. When a browser downloads the objects for a web page, it makes the decision whether to cache each object based on HTTP response headers contained in the server response. The first time the browser downloads a page, none of the content is present locally. If a piece of content is marked as cacheable, the browser saves it in a local disk cache along with information about how long the content is valid. If the content is marked as non-cacheable, the browser displays it without saving to disk cache. On subsequent visits, when the browser encounters a reference to an object in an HTML page that it has previously stored in its local disk cache, it checks for the contents validity. If it is still valid, the browser loads the content from disk rather than requesting it from the server. If the content has expired, the browser validates the content with the server. If an E-Tag, exists (which uniquely identifies an object), the browser sends a GET request with an If-None-Match header containing the E-Tag value for the content. If the object has an associated modification date, the browser sends a GET request with an If-Modified-Since header. If both an E-Tag and a modification date are present, the browser sends both. If the content is still valid, the server sends a 304 (Not-Modified) HTTP response code, which directs the browser to load the object from cache. This ensures that the browser downloads new content only if the content on the server is newer than the one that is available in its cache. By loading static content from cache, the browser dramatically reduces access time and improves page loading and therefore the user experience. During web page loading, the web browser may also process one or more JavaScripts. Most web browsers stop all other processing while they process each JavaScript. If a browser downloads multiple JavaScripts, script processing is sequential. Figure 1 shows an example trace where a series of JavaScripts execute serially during a page download.
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
WebAccelerator Operation
WebAccelerator resides on a network between origin servers and clients. It proxies all client requests to an origin server and speeds web applications by reducing the number and size of objects that need to be retrieved from a server. Examples include: 1. 2. Compressing objects to reduce object size whenever possible Setting long object expiration times to increase the use of cached objects vs. downloading objects from a server 3. Modifying server responses to enable the browser to open more simultaneous server connections 4. Serving objects from WebAccelerator rather than from an origin server
First, WebAccelerator examines HTTP response headers and objects. When it encounters an object that is cacheable per the configured acceleration policy, it stores the object and forwards it on to the requesting browser. WebAccelerator subsequently serves the object until it expires rather than requesting it from the origin server. When the object expires, WebAccelerator performs a conditional GET request to determine whether it is still valid, as described above. Another important WebAccelerator function is to examine content and take action based on policies. A policy controls how WebAccelerator interacts with an application to improve performance. For example, a policy may mark an object as cacheable and set an expiration date even though the application marks it as non-cacheable. In this case, WebAccelerator also caches the object and serves it to other requesting clients directly until it expires. The result is a dramatic decrease both in the number of requests that the origin server has to process and network utilization.
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
The bottom line is that test tools cannot truly emulate HTTP browser behavior. Often, these test tools report little performance gain and sometimes, a performance decline when testing products such as WebAccelerator. The best that can be said for these tools is that they can provide an insight into the first visit to a web site. They can also be useful to show limited performance gains when many users are accessing a page at peak traffic times because the WebAccelerator will respond more quickly to object requests than a server after a first request where WebAccelerator caches an object. However, a better solution exists: test with a combination of stateful test tools and either an HTTP performance tool or a browser with an HTTP performance plug-in tools to collect, view and save actual HTTP browser-based response time information.
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
7. 8. 9.
Stop the test, and then save the monitoring application results. Start another test with WebAccelerator in the test bed. Open the browser and clear the cache. Restart the web browser. Run the same baseline test to make a first-time visit with WebAccelerator installed and configured to accelerate your web application(s).Repeat the baseline test to make a repeat visit to your application(s).
10. Stop the test, and then save the monitoring application results. 11. Compare the results from the baseline test without WebAccelerator. Note performance improvements (if any) with repeat visits. Next note performance improvements for WebAccelerator first and repeat visits. Compare the results to demonstrate how WebAccelerator can help improve both first time and repeat visits.
Conclusion
WebAccelerator can dramatically improve web application response times and user satisfaction, especially for remote users over a WAN. When tested properly, the combination of stateful test tools and a performance-testing tool like Symphonic TrueView/TrueSpeed or an HTTP monitoring plug-in tool such as HttpWatch will show the true benefit WebAccelerator can deliver to your users.
F5 Tech Focus Using Stateful Test Tools to Verify WebAccelerator Performance Gains
Associated Reading
Browser Behavior https://rate.f5.com/files/folders/acceleration_architects_archive/entry9008.aspx
F5 Networks Asia-Pacific
+65-6533-6103 Voice +65-6533-6106 Fax info.asia@f5.com
10
TF-Stateful tools WA.pdf/08 2008 F5 Networks, Inc. All rights reserved. F5, F5 Networks, the F5 logo, BIG-IP, FirePass and iControl are trademarks or registered trademarks of F5 Networks, Inc. in the U.S. and in certain other countries.