Nutzung von Webdiensten optimieren

Hinweis: Sie können sich nicht mehr für die Google Maps Platform-Premiumoption registrieren. Auch für neue Kunden ist sie nicht mehr verfügbar.

Übersicht

Wenn Ihre Anwendung die Nutzungslimits für einen Google Maps Platform-Webdienst überschreitet, gibt der Dienst eine Fehlermeldung zurück. Kommt das immer wieder vor, wird ihr Zugriff auf den Webdienst möglicherweise gesperrt. Unter Umständen wird auch „403 Forbidden“ zurückgegeben.

Wenn für die Webdienstanfragen Ihrer Anwendung Fehler zurückgegeben werden, können Sie Folgendes tun:

  1. Senken Sie die Nutzung, indem Sie Ihre Anwendungen so optimieren, dass die Webdienste effizienter verwendet werden.
  2. Erhöhen Sie nach Möglichkeit die Nutzungslimits, indem Sie zusätzliche Maps APIs Credits erwerben.

Hinweise

Bevor Sie Ihre Anwendung so optimieren, dass Webdienste effizienter genutzt werden, sollten Sie prüfen, ob Sie den richtigen Dienst für den gewünschten Anwendungsfall und die richtige Maps APIs-Lizenz verwenden.

Anwendungsfall prüfen

Die Google Maps Platform-Webdienste eignen sich am besten für Anwendungen, bei denen keine Echtzeiteingabe von Nutzern erforderlich ist oder für die kein Webbrowser verwendet wird. Sie sollten sie beispielsweise verwenden, wenn Ihre Anwendung ein von der Nutzereingabe unabhängiges Dataset nutzt, etwa einen festen Satz von Adressen auf einer Immobilienwebsite, die geocodiert werden müssen.

Bei Webdiensten gilt das Limit für die Anzahl der Abfragen pro Sekunde der Lizenz Ihrer Premiumoption, und zwar unabhängig davon, von wie vielen IP-Adressen Anfragen gesendet werden.

Bei den clientseitigen Diensten, die mit der Maps JavaScript API verfügbar sind, gilt hingegen eine Ratenbegrenzung pro Browsersitzung. Das heißt, die Anfragen werden auf alle Nutzer verteilt und entsprechend skaliert, wenn die Anzahl der Nutzer steigt. Aus diesem Grund sind clientseitige Dienste am besten für Anwendungen geeignet, bei denen die Adresseingaben von Nutzern in Echtzeit geocodiert werden. Dabei kann es sich zum Beispiel um eine Filialsuche handeln, bei der nach Geschäften in der Nähe der Privatadresse eines Nutzers gesucht wird.

Ausführliche Erläuterungen zur Verwendung von Webdiensten finden Sie in den Geocoding-Strategien (in englischer Sprache). Die Empfehlungen in dieser Anleitung wurden zwar speziell für Geocoding verfasst, gelten aber für alle Webdienste. Darin wird erläutert, wann Sie serverseitige und wann clientseitige Webdienste verwenden sollten.

Lizenz für die Google Maps Platform-Premiumoption verwenden

Die Anfragen Ihrer Anwendung müssen die richtigen Authentifizierungsdetails für Ihre Lizenz der Google Maps Platform-Premiumoption enthalten, also Ihre Client-ID oder einen API-Schlüssel aus Ihrem Premiumoption-Projekt in der Google Cloud Console.

Wenn Ihre Anwendung die Lizenz für die Premiumoption nicht richtig verwendet, greifen die Nutzungslimits der Standardoption und die Lizenzbeschränkungen in den Nutzungsbedingungen der Google Maps Platform. Sie ist dann nicht durch das SLA für die Premiumoption abgedeckt und Sie erhalten auch keinen technischen Support dafür.

Nutzung von Webdiensten optimieren

Es gibt zwei Möglichkeiten, Webdienste effizienter zu verwenden: Die Nutzung lässt sich senken, indem Sie Anfragen nur dann senden, wenn es wirklich erforderlich ist. Außerdem können Sie die Nutzung gleichmäßig verteilen, damit die Limits nicht überschritten werden.

Ergebnisse im Cache speichern

Gemäß Paragraf 3.2.4.b der Nutzungsbedingungen für die Google Maps Platform können Sie Google Maps-Daten für bis zu 30 Tage im Cache speichern, um die Leistung Ihrer Anwendung zu verbessern. Wenn Antworten von Webdiensten im Cache gespeichert werden, lässt sich vermeiden, dass dieselbe Anfrage innerhalb kurzer Zeit mehrmals gesendet wird. Antworten von Webdiensten enthalten immer den HTTP-Header „Cache-Control“, der angibt, wie lange das Ergebnis im Cache gespeichert werden kann (z. B. Cache-Control: public, max-age=86400). Aus Gründen der Effizienz sollte Ihre Anwendung die Ergebnisse immer mindestens so lange speichern, wie im Header angegeben ist. Dabei darf das Zeitlimit, das in den Nutzungsbedingungen der Google Maps Platform festgelegt ist, aber nicht überschritten werden.

Caching kann mithilfe von Webproxys implementiert werden. Bei den meisten Proxys ist diese Funktion standardmäßig enthalten und bedarf keiner weiteren Einrichtung Ihrerseits. Außerdem haben Sie die Möglichkeit, eine eigene Webproxy-Implementierung zu verwenden. Beachten Sie, dass HTTP-Antworten auch von einigen HTTP-Clientbibliotheken im Cache gespeichert werden.

Wenn Sie die Cache-Trefferraten steigern möchten, sollten Längen- und Breitengrade („lat/long“) durch Rundung auf 6 Dezimalstellen normalisiert werden. Dadurch wird eine Genauigkeit von ca. 11 Zentimetern um den Äquator erzielt. Bei mehr Dezimalstellen ändern sich die Ergebnisse der Webdienste zwar nicht, aber die Cache-Trefferraten sinken.

Anfragen drosseln

Um zu verhindern, dass die Nutzungslimits überschritten werden, können Sie Ihre Anwendung so konfigurieren, dass Anfragen gedrosselt werden. Dazu stellen Sie die Anfragen in eine Warteschlange, die steuert, wann sie gesendet werden. Wenn Ihre Anwendung eine zusätzliche Anfrage erhält, mit der das Limit für die Anzahl der Abfragen pro Sekunde überschritten wird, sollte der Zeitstempel der ersten Anfrage geprüft und dann 1 Sekunde lang gewartet werden.

Selbst wenn Sie Anfragen drosseln, erhalten Anwendungen unter Umständen weiter Antworten mit dem Statuscode OVER_QUERY_LIMIT. Konfigurieren Sie Ihre Anwendung so, dass Anfragen mit einer kurzen Verzögerung (20 ms) gesendet werden. Testen Sie dann noch einmal, ob entsprechende Antworten eingehen.

Limit für die Anzahl der Abfragen pro Sekunde erhöhen

Wenn Anfragen ordnungsgemäß gedrosselt werden, sollte Ihre Anwendung das Limit für die Anzahl der Abfragen pro Sekunde nicht überschreiten. Unter Umständen erhält Ihre Anwendung aber eine zu große oder schnelle Eingabe, als gemäß den Nutzungslimits für die Webdienste der Google Maps Platform zulässig ist (in der Regel 50 Abfragen pro Sekunde). Die Warteschlangen zum Drosseln von Anfragen werden dann unter Umständen so lang, dass es zu einem Rückstand kommt. Außerdem liegt das Limit für die Places API anfangs bei 50 Abfragen pro Sekunden. Wenn es bei Ihrer Anwendung regelmäßig zu einem solchen Rückstand kommt, entweder zu bestimmten Zeiten oder über den Tag verteilt, müssen Sie unter Umständen die Limits für die Anzahl der Abfragen pro Sekunde für Ihre Lizenz für die Google Maps Platform-Premiumoption erhöhen. Wenden Sie sich in diesem Fall an Ihren Google Maps Platform-Account Manager für den Vertrieb.