Load Testing Flex Application

Published on March 2017 | Categories: Documents | Downloads: 36 | Comments: 0 | Views: 217
of 5
Download PDF   Embed   Report

Comments

Content

3 Tips to Successfully Load Testing Adobe® Flex® Applications
A NEOTYS WHITE PAPER

Because load testing is one of the last crucial tasks before launching a web application, it’s usually done under pressure and with tight time constraints. Here are three tips to help you save time, effort and money the next time you are load testing in a Flex environment.

Introduction
Adobe Flex applications may be different from applications you’ve worked with before. For classic HTML web applications, the server does all of the processing. In addition, the rendering of HTML requires full page refreshes. Flex applications are different because content is delivered without having to reload the page. These applications download the Flash client application and run in the browser, or for Adobe AIR® applications, on the desktop. The Flash is constantly being updated by the server, asynchronously. For this reason, Adobe Flex server loads reveal a very different profile. It is important to measure transaction response times when performance testing web applications. Flex technology can cause significant increases in the number of browser-to-server HTTP calls made in the background. This increase in traffic can have a profound effect on performance. While users might not be aware of the round-trips between the browser and a distant server, they will definitely notice performance problems if the application is slow or doesn’t work because of the increased load. Knowing the scalability limitations of your deployments is crucial. Innovative RIA technologies like Flex present new challenges with respect to emulating a realistic load. If you’re developing or deploying applications in this newer technology, successfully addressing these challenges requires thinking about load testing in new ways. Let’s look at the new challenges in load testing Flex applications and some tips to improve application performance and enrich the user experience.

Tip 1: Make sure you can decode AMF and process internal identifiers
Adobe’s Flex AMF (Action Messaging Format) protocol is used to exchange data between an Adobe Flash application and a database, using a Remote Procedure call. Since the data is in compressed binary format, communication is faster and more efficient than a web service. Many load testing tools rely on data being sent over HTTP and don’t tap into the AMF protocol. Therefore, they don’t go deep enough to understand what is being exchanged between client and server. For optimum testing, make sure your load testing tool decodes these objects so that you can parameterize the requests, extract data from the response and validate the response. In addition, AMF message protocol uses internal identifiers (clientId, DSId, etc.) to maintain the AMF session. Parameters in an AMF session are dynamically generated and are numerous. To avoid painful manual configuration of these parameters, make sure that your load testing tool automatically processes serialized objects and identifiers.

The following diagrams illustrate how NeoLoad converts AMF binary to XML on design and execution:

Tip 2: Make sure you can support customized external messages
AMF3 compact binary format helps integrate binary data exchange into all server platforms. The protocol improves the quality of all remote and messaging solutions for Flex and optimizes data exchange. AMF3 reduces the quantity of exchanged information and avoids redundant messages. In particular, AMF3 externalizable messages allow developers to customize the serialization of objects exchanged in AMF. When selecting a load testing tool, make sure it allows you to integrate custom code into it. For optimum testing, the customized code should be loaded and run by the testing tool to correctly replay custom messages.

Tip 3: Make sure you can support polling and streaming
Many Flex applications require that some data are regularly pushed from the server to the client. Servers using AMF protocol update client data in two ways: 1. The polling method: This is when the browser queries the server at regular intervals. Technically simple in its implementation, the method’s downside is that it needlessly overloads the server and is not very reactive. When these applications are recorded with a load testing tool, a high number of browser to server requests are recorded along with other more significant requests. So it’s important to make sure your tool can automatically simplify your recording to get a clear maintainable script. 2. The streaming method: In this case, the client sends a single request to the server and the server responds when pertinent information is available, without closing the request. The server can send information to the client again using the same connection, without having to wait for a new request. Using this method, client data can be rapidly updated while network traffic is kept to a minimum. The testing tool must be able to keep the stream open when it plays a streaming request. This request will block the connection so the tool has to use a second connection for classic requests. In both cases, typical HTTP response times are not useful. For regular HTTP requests, load testing tools measure the time between when the request is sent and when the response is received. Ensure that your load testing tool can measure what's really interesting: the time between when the server updates the client and when the client receives the update. The following screenshot illustrates the design of a virtual user targeting an AMF Streaming based application within NeoLoad:

NeoLoad Streaming Virtual User

As more and more companies deploy mission critical applications on the internet it has become increasingly important to performance test these web applications before they go live. While Adobe Flex provides expanded capabilities to develop new powerful applications in support of organizational needs they are different from other web applications. As a result a new approach to load testing is required. By implementing the tips in this whitepaper, companies can quickly adapt their testing methodology to handle Flex applications, get to market faster and easier than ever before, while improving productivity and saving money.
About Neotys Since 2005, Neotys has helped over 1000 customers in more than 60 countries enhance the reliability, performance, and quality of their applications. NeoLoad is a best-in-class load testing solution that automates the development, execution and analysis of performance testing. NeoLoad supports all web 2.0 technologies, is flexible and easy to use with infinite scalability from the cloud. All this is backed by a dedicated team of Neotys professional services and support specialists to ensure your success. To Get More Information Web: http://www.neotys.com E-mail: [email protected]

Neotys and NeoLoad are registered trademarks of Neotys company in USA and others countries. Adobe, Flex, AIR are registered trademarks of Adobe Systems Incorporated in USA and others countries. © Copyright Neotys 2011

NEOTYS USA, Inc. 241 Boston Post Road West Marlborough, MA 01752, USA Tel: +1 646 502 8061

NEOTYS (HQ) 30, avenue du Château de Jouques 13420 Gémenos, France Tel: +33 442 180 830

NEOTYS Germany (Sales office) Waldstrasse 50a Neu-Isenburg, 63263, Germany Tel: +49 (61) 02 43 27 38

www.neotys.com

E-mail : [email protected]

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close