Improve mapping performance

This forum covers all questions dealing with visualization of data within the native PTV xMap interface. Please remember that additional plugins such as AJAX or Leaflet may be handeled in other forums.
Post Reply
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Improve mapping performance

Post by Bernd Welter »

Hi there,

here's just a collection of potential approaches to speed up the performance of mapping.
Before you invest resources (manpower or money) in any of these approaches feel free to get in touch with PTV consulting to evaluate the potential benefit: not every approach is meaningful for every usecase! (e.g. caching works fine with REST based approaches but not if you call native tiles based on lat-lon-coordinates)

:!: Furthermore we have to distiguish between the following topics:
  • Behaviour: Environment handles each and every mapping request but is responding extremely slow. HTTP status is 200 but the tracked processing time is poor. Countermeasure: ensure proper scaling and sufficient hardware, look into server logs whether massive queueing occurs.
  • Behaviour: Environment (backend servers) does reject requests due to overload (check the Exceptions for more details, especially the error codes which depends on the used protocol). Countermeasure: ensure proper scaling and sufficient hardware, look into server logs whether massive queueing occurs.
  • Behaviour: Finally customers sometimes run into an issue which they perceive as "performance issue" but in fact it is a configuration error which leads to a correct denial, e.g. due to security reasons (e.g. "has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource." does not mean the server is overloaded but due to some security settings the failed response is proper). Countermeasure: ensure proper settings (Server Configuration, Webservice Interface Principles)
I categorized the approaches into
  • configuration of xServer: get in touch with consulting to have a close look at your installation
  • software: means you need a third party software
  • hardware:means you need more physical resources
  • business logic: means to implement an optimal workflow within the client application
ApproachLevelDescription
PoolsizeconfIncrease the available module count in the xserver.conf. This will not speed up a single transaction but the throughput of tiles can increase if you use the available cores of your server.
Tile cache (backend)softWrite a backend plugin in your xmap Server that caches tiles
Tile cache (middleware)softUse a tiled map cache server, e.g. apache, reddis
Tile cache (framework)softUse a tiled map cache plugin in your mapping framework e.g. for leaflet (e.g. maze map) or open layers
Reduce detailconfdecrease the detail levels in the render ini files. Be aware that this also causes a reduction of outpout information.
More memoryhardwareadd more memory
Reduce FeaturelayerappDon't display feature layers if you don't need them
use cloud insteadlicensexServer INTERNET applies some of the approaches so you can immediately benefit from them
Tile sizeappincrease the size of the tiles from 256 to 512 or from 512 to 1024
Parallel threadsappuse a framework that requests tiles in parallel. Be aware that some frameworks do dont accept several parallel calls to equal backend urls to prevent the risk of DDOS.
Disable LoggingconfBelieve it or not: too much logging info (e.g. logRequests/LogResponses and engine logs) wastes time, too
Feel free to get back to me with your feedback or other ideas,
Bernd
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
User avatar
Oliver Heilig
Posts: 154
Joined: Tue May 13, 2014 12:10 pm
Location: Karlsruhe, Germany
Contact:

Re: Improve mapping performance

Post by Oliver Heilig »

The configuration for a tile-cache when using xServer on-premise is now documented in the manual.

https://xserver2-europe-eu-test.cloud.p ... ration.htm

Regards

Oli
Oliver Heilig
Chief Developer Logistic Services
PTV GROUP - Germany

https://github.com/oliverheilig/
Post Reply