GeoNames Home | Postal Codes | Download / Webservice | About 

GeoNames Forum
  [Search] Search   [Recent Topics] Recent Topics   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Timeouts  XML
Forum Index -> Forum in Deutsch
Author Message
harald kotte



Joined: 31/12/2006 15:14:43
Messages: 5
Offline

Hallo Marc,

beim Aufruf von http://ws.geonames.org/findNearbyWikipedia
bekomme ich in den letzten Tagen des öfteren die Fehlermeldung
Code:
<status message="java.sql.SQLException: ERROR: canceling statement due to statement timeout" value="12"/>

Auch der direkte Aufruf im Browser liefert solch ein Ergebnis.

Woran kann das liegen?

Viele Grüße
Harald

marc



Joined: 08/12/2005 07:39:47
Messages: 4412
Offline

Hallo Harald

Die Fehlermeldung ist ein Datenbanktimeout und tritt auf, wenn eine Query zu lange dauert. Dann wird die Query vorzeitig abgebrochen, um zu verhindern, dass Langläufer den Server lahm legen.
In den Letzten Tagen haben die Zugriffe auf die Reverse-Geocoding Dienste von geonames massiv zugenommen und die beiden Server sind an die Grenzen ihrer Leistungsfähigkeit gestossen. Heute musste ich gar eine IP Adresse blockieren, da zu viele Zugriffe von dort erfolgt sind. Das ist zwar nicht die Idee von geonames, aber es bleibt nichts anderes übrig, wenn jemand sehr viele Zugriffe macht und die Server mit der Last nicht mehr mitkommen.

So wie es aussieht müssen wir uns für die Zukunft etwas anderes überlegen und die kostenlosen Zugriffe auf eine gewisse Zahl pro Tag beschränken. Diejenigen Benutzer, die ein Service Level Agreement mit garantierten Antwortzeiten und garantierter minimaler Verfügbarkeit benötigen, können sich finanziell an den Serverkosten beteiligen und greifen dann auf einen eigenen Server zu.

Da nicht alle Dienste gleich viele Server-Ressourcen verwenden, muss ein Credit System eingeführt werden, bei dem die unterschiedlichen Dienste unterschiedlich viele Credits benötigen. Am wenigsten Ressourcen benötigen die Suchdienste und werden folglich nur wenige Credits pro Zugriff benötigen, während die Reverse-Geocoding Dienste die Server sehr stark in Anspruch nehmen und deshalb 'teurer' sein werden.

Gruss

Marc

[WWW]
harald kotte



Joined: 31/12/2006 15:14:43
Messages: 5
Offline

Hallo Marc,

Ich bin dabei. Kannst du schon eine Aussage über
entstehende Kosten treffen?

Gruß Harald
noiv



Joined: 10/06/2006 16:36:57
Messages: 19
Location: ExploreOurPla.net
Offline

Ich auch,

wenn die Zugriffe dann gleichbleibende Antwortzeiten
rund um die Uhr haben, ist das eine tolle Sache.

--
noiv

noiv - ExploreOurPla.net
[WWW]
marc



Joined: 08/12/2005 07:39:47
Messages: 4412
Offline

Ich bin noch dabei die Faktoren zusammen zustellen, die dabei wichtig sind.

Ich denke es braucht eine Limite für Spitzenzeiten (max Anz Req pro Stunde), eine für den konstanten Load (max Anz Req pro Woche) und eine wie Lange der Service gebraucht wird (Anz Requests). Die Limite braucht es damit nicht jemand mehr Resourcen ziehen kann, als ihm zusteht.
Dann kann aus den drei Parametern eine Mischrechung und eine Kostenabschätzung gemacht werden. Ich denke da an drei Varianten : wenige Zugriffe mit kleinem Load, eine mittlere Anz. Zugriffe mit mittlerem Load und viele Zugriffe mit hohem Load.

Gruss

Marc

[WWW]
noiv



Joined: 10/06/2006 16:36:57
Messages: 19
Location: ExploreOurPla.net
Offline

Genial wäre ein Fallback, der beim Überschreiten der Limits auf den offenen Server zurückgreift.
So bleiben die Dienste auf den Webseiten im Erfolgsfall benutzbar.

noiv - ExploreOurPla.net
[WWW]
marc



Joined: 08/12/2005 07:39:47
Messages: 4412
Offline

Stimmt, das ist eine gute Idee. Werden wir machen.


Marc

[WWW]
marc



Joined: 08/12/2005 07:39:47
Messages: 4412
Offline

Ich habe versucht aus den Logfiles abzuleiten wie aufwändig die einzelnen Services sind und wieviele man davon auf
einem einzelnen Server laufen lassen kann, ohne dass die Performance zusammenzufallen beginnt.
Lasst mich wissen falls Ihr interesse daran habt.

Hier die Tabelle, die dabei herausgekommen ist :

Code:
 --------------|-------------------|-------------------|-------------------|---------------|
               |                   |                   |                   |               | 
 Total Credits | max credits/hour  |  max credits/day  | max credits/week  | price in Euro |
               |                   |                   |                   |               | 
 --------------|-------------------|-------------------|-------------------|---------------|
               |                   |                   |                   |               | 
      500.000  |      1.000        |       10.000      |        50.000     |     20 €      |
               |                   |                   |                   |               |  
 --------------|-------------------|-------------------|-------------------|---------------|
               |                   |                   |                   |               | 
    2.000.000  |      5.000        |       50.000      |       200.000     |     40 €      |
               |                   |                   |                   |               | 
 --------------|-------------------|-------------------|-------------------|---------------|
               |                   |                   |                   |               | 
    5.000.000  |     10.000        |      100.000      |       500.000     |     60 €      |
               |                   |                   |                   |               | 
 --------------|-------------------|-------------------|-------------------|---------------|
 
 
 
 Credits needed for a single web service call :
 ==============================================
 postalCodeSearch	1 credit per request
 search			1 credit per request
 findNearbyWikipedia	2 credits per request
 wikipediaSearch 	1 credit per request
 findNearestAddress	1 credit per request
 gtopo30			0 credits per request
 findNearByWeatherJSON	2 credits per request
 wikipediaSearch		1 credit per request
 findNearbyPlaceName	4 credits per request
 rssToGeoRSS		1 per item in feed (for geocoding)
 rssToGeoRSS		0 if lat/lng are already included in feed 	
 cities			4 credits per request
 fullnearby		4 credits per request
 
 
 All other web services need 1 credit per request.
 
 

If the credits are exceeded within a timeframe further requests will automatically be forwarded to the free server. This means your application will still work, even if you exceed your credit limits, but it will use the free server which does not have the same quality of service.

[WWW]
noiv



Joined: 10/06/2006 16:36:57
Messages: 19
Location: ExploreOurPla.net
Offline

citiesJSON = 4 Credits

noiv - ExploreOurPla.net
[WWW]
 
Forum Index -> Forum in Deutsch
Go to:   
Powered by JForum 2.1.5 © JForum Team