You are here: Troubleshooting > Memory and Optimal Performance

Memory and Optimal Performance

There are a number of parameters you can fiddle with to optimize the performance of your Express Server software. The best settings for you will depend on a variety of factors including your operating system, the size of your imagery, how often the same scenes are requested, etc., but we've outlined some of the possibilities below. We encourage you to experiment with these values until you get the best performance for your system and workflow.

Adjusting the Size of the Image Cache and Item Cache

The Image Cache and the Item Cache store information about opened images in RAM while Express Server is running, and are cleared when Express Server is stopped. Their purpose is to reduce the performance cost of initializing images. Initializing is a process in which Express Server reads the headers and other structures containing information about the image, such as datatype and color space, that tell Express Server how to handle the image. Caching this information in RAM means that subsequent requests for that image will be fulfilled more quickly than if the image had to be initialized again each time.

The size of the Image Cache (i.e. the number of images that are already initialized and ready to be opened at a moment's notice) is controlled in the Image Manager Settings panel of the Cache tab on the Settings page. The default value is 500, which means that Express Server will always keep the 500 most recently opened images initialized in RAM while it is running. After 500 images are opened and the Image Cache is filled, the earliest images are discarded from the list to make room for the newer ones.

Increasing the capacity of the Image Cache will enable more images to be kept in that initialized state and thus reduce the time between the request for an image and its fulfillment, as long as your system does not run out of RAM. Express Server runs on 64-bit systems, which means that much more RAM is available than on 32-bit systems. If you are running Express Server on a 64-bit system you should certainly take advantage of this increased memory capacity by increasing the Image Cache and Item Cache values beyond their defaults. Allot as much RAM to caching as your system can afford while making sure its size remains below that of the amount of RAM available. If you are running Express Server on a 32-bit system then this "sweet spot" will be a much smaller cache size, and you may even have to decrease the size from the default values if performance is already suffering because of an oversized cache.

The Item Cache is similar to the Image Cache in that it keeps information about opened images, except that the images do not remain initialized in the Item Cache. The Item Cache is accessed by Express Server for various tasks that do not require images to be decoded, such as returning a list of catalog contents. Items in the Item Cache take up much less memory than those in the Image Cache, so it can be much larger. The default value is 1000, which means, again, that Express Server will always keep the 1000 most recently opened images listed in RAM while it is running.

For more information see Configuring the Image Manager .

NOTE: Both the Image Cache and the Item Cache are cleared when Express Server is stopped.

Enlarging the Disk Cache

The Disk Cache stores decoded pixels for quick retrieval upon later request and is sometimes referred to as the "pixel cache". It is located on the hard disk and is therefore persistent across instances of Express Server running and stopping.

The Disk Cache fills up over time as images are opened. It should be allowed to grow as large as your operating system can afford to have it be. Its size is controlled in the Disk Cache panel of the Cache tab on the Settings page. By default the value is 512 megabytes.

For more information see Configuring the Disk Cache .

Enlarging the Extraction Cache

Like the Disk Cache, the Extraction Cache resides on the hard disk. Express Server monitors a certain configurable number of scene requests in the form of URLs and stores copies of the images delivered in fulfillment of those requests. One difference between the Extraction Cache and the Disk Cache is that images in the Extraction Cache are scene extractions already in delivery format (JPEG or PNG, for example), while pixels from the Disk Cache still need to be encoded for delivery. Thus, If your workflow encourages the repeated use of particular requests in the form of URLs, a larger Extraction Cache might improve your Express Server's performance.

The number of times a particular URL must be requested before the corresponding scene extraction is cached is controlled by the Extraction Cache Trigger parameter. The number of consecutive requests that Express Server monitors is controlled by the Extraction List Size parameter, whose default value is 50. Both are set in the Image Manager Settings panel of the Cache tab on the Settings page. The default value for Extraction Cache Trigger is 2, which means that if two out of the last 50 URL requests were for a particular scene, that scene is cached in its delivery format in the Extraction Cache.

Increasing the Extraction List Size will make Express Server monitor more requests, and decreasing the value of the Extraction Cache Trigger will cause more images to be stored to the Extraction Cache sooner.

For more information see Configuring the Image Manager .

NOTE: If the Extraction List Size is set to zero (0) or missing, then Express Server does not monitor scene extractions and the Extraction Cache Trigger setting is ignored.

For more information about configuring the Extraction Cache, see The ImageManager Element.

Flattening MG3 Composite Mosaics

If you are using composite mosaics in MrSID Generation 3 (MG3) format, flattening these mosaics may improve performance.