Kota sınırları
Google İşletme Profili (GİP) API'leri, adil kullanımı sağlamak ve sistem kararlılığını korumak için API isteklerine kota uygular. İsteğiniz bir kota sınırını aşarsa API, 429 Too Many Requests HTTP durum koduyla (veya gRPC için RESOURCE_EXHAUSTED) yanıt verir.
Varsayılan kota sınırları
Aşağıdaki tabloda, Google İşletme Profili API'leri için standart kota sınırları listelenmiştir. Sınırlar iki boyutta tanımlanır:
- Dakikada sorgu sayısı (DS): Kısa süreli yoğun trafiği sınırlayarak arka uç kararlılığını korur.
- Günlük sorgu sayısı (QPD): Platformun genel günlük kullanımını yönetir.
| API | Sınırlar |
|---|---|
| Business Information API |
|
| Account Management API | 300 QPM |
| Performance API | 300 QPM |
| Verifications API | 300 QPM |
| Lodging API | 300 QPM |
| Place Actions API | 300 QPM |
| Notifications API | 300 QPM |
Kota hatalarından kaçınmaya yönelik en iyi uygulamalar
İsteklerinizi gün boyunca sürekli ve eşit şekilde dağıtmak, kota hatalarının büyük çoğunluğunu önler. Uygulamanızın verileri güvenilir bir şekilde senkronize etmesini sağlamak için bu en iyi uygulamalardan yararlanın.
İsteklerinizi eşit aralıklarla gönderme
Aynı anda büyük bir toplu istek göndermek yerine isteklerinizi daha uzun bir süreye yayın. Örneğin, 300 QPM sınırı, saniyede ortalama 5 istek anlamına gelir. İstekler arasında kısa bir gecikme oluşturmak, ani trafik artışlarını önler.
Traffic distribution patterns:
Spiky traffic (Discouraged): High burst of requests followed by an idle period
Requests | ||| |||
| ||| |||
+---------------------------------
Time ──>
Even traffic (Recommended): Consistent rate of requests over time
Requests | | | | | | | | | |
| | | | | | | | | |
+---------------------------------
Time ──>import time # Pace requests to stay within the 300 QPM limit (5 requests/sec) for request in batch_requests: send_request(request) time.sleep(0.2) # 200ms delay ensures a smooth distribution
Eksponansiyel geri yüklemeyi jitter ile uygulama
429 Too Many Requests hatası aldığınızda isteği otomatik olarak yeniden denemek için eksponansiyel geri yüklemeyi rastgele gecikmeyle kullanın. Bu standart uygulama, yeniden denemeden önce kısa ve rastgele bir süre beklemeyi ve sonraki yeniden denemelerde gecikmeyi kademeli olarak artırmayı içerir.
import random import time from googleapiclient.errors import HttpError def call_api_with_retry(api_method, max_retries=5): base_delay = 1.0 for attempt in range(max_retries): try: return api_method.execute() except HttpError as e: if e.resp.status == 429: if attempt == max_retries - 1: raise e # Retry with exponential backoff and jitter sleep_time = random.uniform(0, base_delay * (2 ** attempt)) time.sleep(sleep_time) else: raise e
Veri erişimini optimize etme
- Statik verileri önbelleğe alma: Sık değişmeyen verileri API'ye tekrar tekrar sorgu göndermek yerine yerel olarak depolayın.
- Pub/Sub bildirimlerini kullanma: API'yi yoklamadan veritabanlarınızı anlık olarak güncel tutmak için Pub/Sub bildirimlerine abone olun.
-
Okuma yoğun uç noktaları sırayla işleyin:
SearchListingsgibi okuma yoğun uç noktalara aynı anda birden fazla istek göndermeyin. Bunun yerine, sayfalama jetonlarını kullanarak görevleri sırayla işleyin.
Kota artışı isteme
Kota artışı isteğinde bulunmadan önce, istek hacminizin gereksiz yere kümelenmediğinden emin olmak için Google Cloud Console'da kullanım kalıplarınızı doğrulayın.
Google İşletme Profili Ekibi, mevcut sınırlarınızı verimli bir şekilde kullandığınızdan emin olmak için ortalama kota kullanımınızı izler. Kota artışı istekleri genellikle şu durumlarda reddedilir:
- Uygulamanız, mevcut QPM sınırına tutarlı bir şekilde ulaşmıyor.
- Ortalama kullanımınız, mevcut QPM sınırınızın% 50'sinden daha az.
- Uygulamanız, düzgün bir dağılım yerine çok ani artışlar gösteren bir istek modeli sergiliyor.
Bir istek gönderin
Bu en iyi uygulamaları uygulamanıza rağmen daha fazla kotaya ihtiyacınız varsa kota artışı isteği gönderin.
- Açılır menüden Kota Artırma İsteği'ni seçin.
- Şirket adınızı, İrtibat e-posta adresini ve Proje numarasını girin.
Formu gönderdikten sonra Google İşletme Profili ekibi isteğinizi inceler ve kota artışının uygun olup olmadığına karar verir. İstek onaylanırsa kota artırılır. İstek reddedilirse reddedilme nedenini öğrenirsiniz.