Optimizing perfomance in ES

For discussion of LizardTech's software for distributing MrSID and JPEG 2000 imagery.

Moderator: jskiffington

Optimizing perfomance in ES

Postby lluis » Fri Feb 22, 2008 5:59 am

Hi all,

I have an Express Server with quite good performance but i think that I cam push a little more the server performance, so it is using just 1GB (of 2GB) of RAM, and the CPU processors are not so much occupied all the time.

I know that i can raise the values of :

itemCache and ImgCache in the iserv-cfg.xml file.
I will double the actual value, to check the performance with this settings

I'm running ES in Windows, and my doubt is if there is any setting in IIS, that I can touch to improve a little more the time of response.
Anyone has ideas or suggestions?

Thank you very much.
lluis
 
Posts: 1
Joined: Mon Feb 11, 2008 11:14 am

Postby rparker » Fri Feb 22, 2008 1:14 pm

Our QA engineer has given a few examples. You referenced some a bit but here are more specifics:

1)
Increase the imgcache/itemcache values. This will also increase memory usage so be careful not to increase this too high. 1500 seems to be very safe but perhaps 2000 might be ok too - or perhaps higher but monitoring needs to happen to make sure the process does not increase beyond 2GB in size. The memory will not immediately increase after a restart of the server - it will increase as images are accessed. Basically this is the number "image stages" as we refer to them that can be open at 1 time - each consuming memory. Opening up images that are not cached (imgcache) is expensive and slows things down. Images in the cache are the way to go!

2)
There is another layer of caching that has a dramatic impact on performance and that is the *PixelCache. These are basically cached raw. Decoding from wavelets (mrsid files) is expensive so we implemented those caches to ease that expense. The more cached raw pixels the better -> the bigger the cache the better. ImagePixelCache caches based on individual source images. IndexPixelCache caches based on the spatial index (this is used by WMS and I believe to be the correct cache for the ICC). WarpPixelCache caches reprojected pixels. If a lot (50%) maybe of the requests are for reprojected images - then you might want to cache the reprojected pixels as reprojection is another expensive operation. There is overhead in creating these caches but once something is cached the performance is MUCH better than actually decoding from the wavelet.

<ImagePixelCache
enabled="false"
tileWidth="200" tileHeight="200"
utility="0" />
<IndexPixelCache
enabled="true"
tileWidth="200" tileHeight="200"
utility="0" />
<WarpPixelCache
enabled="false"
tileWidth="200" tileHeight="200"
utility="0" />
rparker
 
Posts: 237
Joined: Tue Jan 15, 2008 3:20 pm
Location: LizardTech

Caching large datasets

Postby aworkman » Thu Jul 22, 2010 4:34 pm

What is the best way to cache a large dataset containing a majority of the United States in mr sid/jp2 format?

It seems that when the cache gets rather large it becomes very intensive to clear the cache out. We have ~2TB of GIS imagery being served out via Express Server with around 67 catalogs each with their own spatial index.
aworkman
 
Posts: 2
Joined: Thu Jul 22, 2010 4:27 pm

Postby rparker » Wed Jul 28, 2010 3:00 pm

By "clearing the cache" are you referring to the clean up parameter? That parameter trims the cache down to your specified cache size. You can specify a shorter clean up time to have that happen more often.

But to answer your question, WarpPixelCache is best for constant reprojection, and IndexPixelCache is best in other cases.

Create as large a cache as you are able or prefer to do, since a cached response will be the fastest kind.
rparker
 
Posts: 237
Joined: Tue Jan 15, 2008 3:20 pm
Location: LizardTech


Return to Express Server

Who is online

Users browsing this forum: No registered users and 1 guest

cron