Performance tips for Web applications |
|
Release 9.3 |
![]() ![]() ![]() |
Performance of a Web application involves both the speed at which the application responds to users and the number of users that an application can accommodate. When you think about improving the performance of your ArcGIS Server Web applications, the first thing that may come to mind is adding or upgrading hardware. However, there may be other things you can adjust in your application, your map, or your server settings that will improve the performance of your Web applications.
Designing maps for the Web is much different than designing paper maps, or even maps that you commonly work with in desktop applications such as ArcMap. If you have a map document that you commonly use in ArcMap, you may want to save a copy instead of publishing the map directly to ArcGIS Server. Using the copy, you can make some optimizations specifically for Web viewing.
What's so different about maps that you'll view on the Web? To improve the performance of your map over the Web, it's recommended that you cache the map, and if that's not possible, it's recommended that you simplify the map. Both of these require that you make design changes to your map document.
By caching your map services, you will reduce the time that it takes for your map to draw. Whenever possible, try to cache all of the services in your application and avoid combining cached and non-cached services. However, at 9.3, the display speed of maps in which non-cached and cached services are overlayed has been greatly improved.
At 9.2 the default image format for the caching tools was PNG24. Using a different image format, such as PNG8 or JPEG, can result in smaller image file sizes and will result in a faster display of images in the Map control. Note that at version 9.3, the default cache format is now PNG8.
Internet Explorer 6 has limitations in its ability to display transparency for PNG24 images. Avoid this scenario by:
Connect to your server using ArcGIS Server Internet connections to make more efficient use of server context requests. ArcGIS Server Local connections should be used only when the application requires changing the state of the service, which includes editing data.
The default Web Mapping Application that you see in Manager or your IDE includes Web controls such as the Table of Contents (TOC), OverviewMap and Scalebar. As you interact with your application, these controls request new images and updated status information. Eliminating controls from the application that are rarely used will help improve the application performance and scalability of the system.
For optimum performance, it's recommended that you deploy the Web applications and the REST and Web Services Handlers to a production quality Web server. The Web servers used internally by ArcGIS Server are not intended to be used in a production environment. Please refer to the System Requirements for a full list of supported servers. Among the popular ones are IBM WebSphere, BEA Weblogic, and so on.
It's also recommended that you configure an appropriate heap size for your web server's JVM using the -Xms and -Xmx JVM flags. This will greatly enhance the scalibility of your Web applications. For example, starting with an initial heap size of 256MB and going up to a maximum of 1GB by using the JVM options "-Xms256m -Xmx1024m" is usually sufficient. Please check your Web server's documentation for details on how to configure the heap size.
ArcGIS Server map services limit the number of records that can be returned by a query to 500 by default. Keep this value or lower it for optimal performance with queries. You can change the number of allowable result records by editing the MaxRecordCount property in the map service configuration file.
Use caution if you raise the default value. Queries that return more than 2000 records require the software to create scratch workspaces in your system TEMP directory to manage the result records. This can cause performance to degrade.