Preparation is the key to success and deploying GeoMedia WebMap is no different. Before you decide what hardware to purchase and how to configure it, take a look at what you need in a system.
Ask the following questions:
- How much data do you want to process? Consider how many feature classes and objects, and whether your data is indexed.
- What type of database are you using and what type of data storage will you use?
- How many users, requests, and transactions do you expect?
- What kind of requests will you need to handle (get map, get feature info, edit attributes and so forth)?
- What is an acceptable length of time to generate a map or a data request?
- Which web services will you use?
- How many cores will you have on each virtual machine?
Next, ask yourself about the hardware requirements. You’ll need machines to store your database, virtual machines for your web services engine, hard disks to store generated tiles (optional), and virtual machines for the Geospatial Portal.
There are many factors to affect the time it takes to generate maps. Three of the main factors are: map size, number of layers, and type of style definition.
- The time to generate a map does depend on the map size, but it’s not as easily defined that way. You can have a FullHD dimension map that is 27 times bigger than a QVGA map but it only takes 2.5 times longer to generate the FullHD dimension map.
- The relationship of map generation time for maps with multiple layers is also not straight forward. A nine-layer map can be generated only 2.5 times slower than a one-layer map.
- Map generation time depends on the applied style and the method of access to the needed style definition. The difference depends on whether the style is defined by the service or provided by the SLD file.
Another issue that affects system performance is which web service you select. You can choose between WMS (Web Map Service) and WMTS (Web Map Tile Service).
WMS vs. WMTS
Consider these things when you choose your web service.
- If you have simple, one-layer maps, WMTS is more time efficient than WMS.
- The time difference between the services is even more for bigger, more complex maps. The time to generate a three-layer map is 17 times faster for WMTS.
- When your system has too many requests, the WMS requests are queued and the map generation time may increase even more.
- WMTS response time depends on more factors than the WMS response time. For example, response time can be affected if the tiles are not distributed appropriately on your hard disk. On the other hand, WMTS is easier to scale than WMS.
- Preparing and configuring WMTS and generating tiles takes a lot of time, especially if you need to generate many tiles.
- If you need to generate tiles for different coordinate systems and several different styles, the tile preparation time increases. The same is true for how much storage space you need. If you are requesting several coordinate systems, GeoMedia WebMap generates tiles for each coordinate system.
Sample Estimation Process
By now you’ve figured out that you must evaluate many factors to prepare and deploy your GeoMedia WebMap. We have developed a method to estimate deployment requirements depending on a few assumptions.
Suppose you have 800 concurrent users and 400 of them could be running GeoMedia WebMap at the same time. Also let’s assume that each user is requesting one map every eight seconds. So we know we have to handle at least 50 requests per second (400/8 = 50).
Since one map request takes 0.5 seconds on average, we have to be able to run 25 parallel map generations processes (50 x 0.5).
Now we can estimate the hardware requirements.
We know that GeoMedia WebMap can do one map generation thread per one core of the processor. It can do a little better because of the time it waits for the database, but let’s settle on this assumption for our estimation. Let’s also assume that your virtual machine has four cores.
Next we take the number of parallel map generation threads (25) and divide it among the four cores of the virtual machine (25/4) which is approximately 6.
So for this situation you need six machines with four cores for your expected traffic as well as one load balancer.
As a rule of thumb, you can use the following table to determine your requirements for your situation.
|Heavy||62 VMs with 4 cores each||30 VMS with 4 cores each||12 VMs with 4 cores each|
|Medium||6 VMs with 4 cores each||3 VMs with 4 cores each||1 VM with 2 cores|
|Light||1 VM with 2 cores||1 VM with 2 cores each||1 VM|
- Heavy traffic is more than 100 user requests per second.
- Medium traffic is about 10 user requests per second.
- Light traffic is no more than 1 user request per second.
- Large dataset is on average a 2.5 second response time.
- Medium dataset is on average a 1.2 second response time.
- Small dataset is no more than 0.5 second response time.
For more information about GeoMedia WebMap, check out the Product Release Details on our website.