ThinkGeo.com    |     Documentation    |     Premium Support

Tips (Best practices) to improve WMS peformance

Hi ThinkGeo,


We are using WMS Server with WorldMapKit data.  We will like to improve performance similar to the one seen on maps.thinkgeo.com.


Please provide tips on best practices to improve WMS performance. Thanks


Regards,


Anil



Hi, Anil


Thanks for your post about WMS Server Edition product.


I think your performance concerns are valid.  First off we have special logic for static maps that allows us to generate them  more efficiently in the WMS Server product. However, if you want to render WorldMapKit data, you know that it's so big and so other additional things you need to concern in order to speed up the rendering and keep load balance.


The first thing that you need to do is that  pre-caching large areas for WorldMapKit data to let them downloaded  faster.  We do this for our World Map Kit WMS Server and online product(maps.thinkgeo.com).   For the first 14 zoom levels it takes us a few days, on a few  machines, and about 3-5 gig of space to cache all of the tiles.  For  lower zoom levels we cache tiles that are within US urban areas and  towns.  This allows us to quick tile down to zoom level 16 or 17 related with US urban areas pretty  easily.  When the tiles are cached it relieves the load from the servers  and makes fetch time from the client very fast. If you don't know how to pre-cache the tile images, please refer to the post below, and I think you will get more information what you want.


gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/38/aft/8041/afv/topic/Default.aspx


Another thinkg you can do is to  to load balance the map generation separate from  your main website.  Many times only a single server is enough for the main web  traffic but adding another server can speed up it.  Since the WMS server doesn't use  session state you can easily setup a separate and simple load balancer  setup for the map generation that you can scale up and down without  touching your main web server. For maps.thinkgeo.com online map service, and set set up four WorldMapKit server for tile image serivce which should have the same configuration. Also we have provided support of client-side, such as WmsOverlay, with it,  you can also add multiple WMS server URIs to the ServerUris collection. The WmsOverlay will randomly send requests to those WMS servers in a concurrent fashion. This means that the tile images can come from different WMS servers, thus greatly enhancing performance. Do not add URIs of differently-configured  WMS servers to the ServerUris collection.


If you still have additional questions, please let us know.


Thanks,


Khalil