Accessibility

Flex Article

 

Flex Application Performance: Tips and Techniques for Improving Flex Server Performance


Table of Contents

Comments

Deployment Options

You have two options when deploying Flex. You can leverage your existing hardware and application servers, or you can deploy Flex on a dedicated system. The best investment is to leverage your existing hardware. You may be concerned that adding Flex to an existing environment would tax the existing infrastructure by adding additional load to the servers. In fact, the opposite is true. Using Flex can actually decrease server load.

Adapting an existing JSP or servlet-based application to a Rich Internet Application (RIA) decreases server load by decreasing the amount of data passed on each request. Meanwhile, HTML applications are page-based, and demand complete page refreshes when information is submitted to a server, as well as when a client navigates from one page to another. Each page load uses up network bandwidth and server resources. RIAs behave like desktop applications, instead of series of pages. Flash Player manages the client interface as a single, uninterrupted flow and does not require that a page load from the server when the client moves from one section of the application to another. With an RIA, the browser loads the SWF file only once; all subsequent requests are smaller data-driven requests using either XML or AMF.

The other, less preferred option for deploying Flex is to create a dedicated Flex environment. In this model, the existing infrastructure provides data connectivity through web services or XML feeds. This model adds a significant amount of cost and administrative overhead, because it requires that you install and configure new hardware and the J2EE application servers where you plan to deploy Flex.

A note about JVM and J2EE server tuning: Flex supports a wide range of J2EE application servers, so it is difficult to outline specific actions for server performance tuning. The best place to start is with your application server vendor's website; look for tuning resources there. The compiler and data services in Flex can use a large amount of short-term objects under heavy load. In some case that can cause delays due to heavy use of garbage collection. If your JVM vendor is independent of your J2EE application server vendor, you may want to review information on tuning the JVM and garbage collection.