timeouts for find address

deals with geocoding and reverse geocoding
Post Reply
skinder
Posts: 7
Joined: Thu Jan 08, 2015 12:05 pm
Location: Hamburg, Germany

timeouts for find address

Post by skinder »

Hello everybody,

we face a problem with timeouts of the xLocate. The response time for retrieving addresses is varying siginficantly with different input data:
- a call to find DE/67069/Ludwigshafen takes an average of 0.07 seconds
- a call to find FR/85770/L’Île-D’Elle takes an average of more than 5 seconds, which results in a higher chance to get a timeout.

By the way the timeouts happen after 8 seconds, but the xLocate configuration is set to 60s as far as I can judge...

This has been tested with xLocate 1.16.0.3 and map EuropePremium_2014_1N. When we are using map 2013_1aN the response time for L'Île-D'Elle is better (~1s), but the result is slightly different. The reponse time for Ludwigshafen stays the same. We already decided to obtain more recent map files to give it a try.

Has anybody experienced similar behaviour? Seems to me like it's related to non alphabetic characters in names, because we have the same issues with some scandinavian cities...

thanks in advance and regards,
Sascha
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: timeouts for find address

Post by Bernd Welter »

Hello Sascha,

I just talked to one of our geocoding experts who will take a look at the posting. His first statement was that this might be related to the splitting of the input names based on apostrophe, hyphen, blanks, ... at an early stage of geocoding we replace some characters ("Î" becomes "I"... no significant impact) and split the names (produces multiwords, could impact performance).

The guru will answer the posting on his own or he sends his info to me and I'll publish it here.

Stay tuned! ;)

Bernd
skinder
Posts: 7
Joined: Thu Jan 08, 2015 12:05 pm
Location: Hamburg, Germany

Re: timeouts for find address

Post by skinder »

Hi Bernd,

thanks for the quick reply. By the way I also entered a support request, I hope this will not cause double work..
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: timeouts for find address

Post by Bernd Welter »

Hello Sascha,

here is the experts perception (translated in ENGL. and shortened by me):
I can't reproduce the 5 seconds: on my machine the search for "DE/67069/Ludwigshafen" takes about 10msec and the search for "FR/85770/L'Île-D'Elle" requires about 1,8sec. [..] The cause for the different response times is located in the multi word search in combination with the following intersection search. Searching for "Ludwigshafen" produces a rather small intermediate result. With "L'Île-D'Elle" this is totally different:
Within the preprocessing step we remove the special characters, i.e. we are no longer looking for one word but for four of them
  • L
  • Ile
  • D
  • Elle
Now each one of these words raises an individual search and afterwards we compute the intersection.
Furthermore the words (patterns) "L" and "D" match any names that start with either L or D and therefore produce large temporary result sets. Voilà: this is what causes the ugly performance.
Looking for "FR/85770/Ile Elle" returns a result after just 20msec.
Looking for "FR/85770/L D" takes 2.7seconds.
I hope this answer explains what happens in the underground ;-)

Best regards from Germany,
Bernd
skinder
Posts: 7
Joined: Thu Jan 08, 2015 12:05 pm
Location: Hamburg, Germany

Re: timeouts for find address

Post by skinder »

Hi Bernd,

thanks for the reply. This answers quite some questions. We consider parsing the city string for single character words before sending it to the xServer. On the other hand there still is the open question why the timeout is reached after 8s though it is set to 60s and the different response times for different maps. In the meantim I am in contact with PTV support and if I get any newsworthy information, I will share it here.

cheers,
Sascha
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: timeouts for find address

Post by Bernd Welter »

Hello Sascha,

refering to the question about 8secs versus 60 secs: Within the xServers there are various triggers for timeouts. Some are located within the framework level while others refer to a specific backend function: here are some examples:

xserver.properties
  • backendPingInterval=10000
  • backendPingTimeout=5000
  • maxTimeWithoutPing=20000
  • killDelayAfterCancelRequestedByUser=5000
  • killDelayAfterCancelRequestedByTimeout=5000
  • jobResultRetentionTime=604800000
  • fetchedJobResultRetentionTime=300000
  • zombieJobRetentionTime=86400000
xlocate.properties
  • requestQueueTimeout=60000
  • moduleTimeout=60000
  • jobModuleTimeout=-1
  • jobQueueTimeout=-1
And here are those mentioned in the xlocate native xml profiles (native-default.xml)

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<LocatingEngineParameters>
	<SearchParameters>
		[..]
		<Engine.CitySearchTimeout Value="7500" Type="long"/>
		<Engine.StreetSearchTimeout Value="7000" Type="long"/>
		<Engine.SuggestionSearchTimeout Value="1000" Type="long"/>
		[..]
		</SortingOrder>
</LocatingEngineParameters>
So within the geocoding you probably ran into the engine timeouts.

Best regards

Bernd
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: timeouts for find address

Post by Bernd Welter »

And by the way: please make sure to provide optimal conditions for performant computing
  • use a local copy of the map - no network share
  • no request logging==true on production
  • no response logging=true on production
  • no debug logging on production
  • sufficient amount of memory
Best regards Bernd
skinder
Posts: 7
Joined: Thu Jan 08, 2015 12:05 pm
Location: Hamburg, Germany

Re: timeouts for find address

Post by skinder »

Bernd Welter wrote:And here are those mentioned in the xlocate native xml profiles (native-default.xml)

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<LocatingEngineParameters>
	<SearchParameters>
		[..]
		<Engine.CitySearchTimeout Value="7500" Type="long"/>
		<Engine.StreetSearchTimeout Value="7000" Type="long"/>
		<Engine.SuggestionSearchTimeout Value="1000" Type="long"/>
		[..]
		</SortingOrder>
</LocatingEngineParameters>
So within the geocoding you probably ran into the engine timeouts.
Hi Bernd,

Just checked it on our test server and it's actually about the CitySearchTimeout. We will see which value would be the best compromise for us at the moment. I wasn't aware of the LocatingEngineParameters. Are they described in the documentation somewhere?

Bernd Welter wrote:And by the way: please make sure to provide optimal conditions for performant computing
  • sufficient amount of c
Since the overall response time seems to be rather slow, what are the recommendations for the memory settings for the xLocate?

Thanks a lot for the help.
Sascha
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: timeouts for find address

Post by Bernd Welter »

Hello skinder,

I don't know a public documentation of these parameters but I'll forward this request to the person in charge.

Best regards
Bernd
User avatar
IsH-PTVAG
Posts: 6
Joined: Thu May 15, 2014 10:51 am

Re: timeouts for find address

Post by IsH-PTVAG »

Hello skinder,

attached you will find a documentation about the LocatingEngineParameter Engine.CitySearchTimeout and Engine.StreetSearchTimeout.

Best Regards,
Isabel
Attachments
Using LocatingEngineTimeouts.pdf
How to use LocatingEngineTimeouts
(228.44 KiB) Downloaded 704 times
Post Reply