Abfrageoptimierung und API-Drosselung

Wir verfolgen die Kennzahlen für Facebook-Seiten und -Posts für eine Reihe von Kunden und haben einige Fragen zu hoher CPU-Intensität und zu vielen Aufrufen für Posts / Kommentare Aktivität & Fehler). In der Dokumentation sind die Grenzen und Einschränkungen für die Graph-API etwas unklar, und wir möchten lediglich sicherstellen, dass wir die verfügbaren Ressourcen richtig verstehen.

Wir arbeiten an der Optimierung unserer Software und Abfragen, um die Fehlerrate und die Anzahl der Anfragen zu verringern. Im Zusammenhang mit dieser Arbeit haben wir ein paar Fragen:

Wir haben die Verwendung von FQL-Abfragen anstelle von regulären Graph API-Anforderungen zum Abrufen von Post-Kommentaren geändert, sodass wir Kommentare für mehrere Posts pro Anfrage abrufen können. Dies hat zu einem deutlichen Rückgang der Anzahl der Anfragen geführt. Wir verwenden eine Abfrage mit page_id IN (PAGE_ID_1, PAGE_ID_2, ....). Steigert dies die CPU-Intensität im Vergleich zu einer regulären Graph API-Anforderung?

Wir haben auch eine Drosselung von Anfragen implementiert, um sicherzustellen, dass wir unsere Anfragen gleichmäßig über die Zeit und nicht in großen Mengen verteilen. Für Seitenkommentare stellen wir sicher, dass die maximale Anzahl von Anfragen 300 innerhalb eines Zeitraums von 10 Minuten nicht überschreitet. Mit anderen Worten, wir begrenzen die Anzahl der Seitenkommentaranforderungen auf 0,5 pro Sekunde oder 30 pro Minute. Ist das noch zu hoch?

Sobald die Anforderungsgrenzen überschritten sind, wird davon ausgegangen, dass dies für ein Zugriffstoken und nicht für die APP-ID gilt. Wenn einer unserer Kunden Ressourcen überbeansprucht hat, wird unsere APP dennoch im Namen unserer anderen Kunden weiterarbeiten, die über andere Zugriffstoken verfügen.

In der Entwicklerkonsole auf der Seite Einblicke -> Entwickler -> Aktivität & Fehler für unsere App befindet sich eine Zeit darüber in der API-Einschränkungstabelle. Als Beispiel 1 Stunde, 14 Minuten. Was zeigt diese Zeit an, wie oft wird diese Tabelle aktualisiert und wie alt sind die Zahlen?

Beim Antwortcode 500 wird eine kleine Fehlermenge angezeigt. Sind diese Fehler in der Regel darauf zurückzuführen, dass die Anforderungen und / oder CPU-Grenzwerte überschritten wurden? Wenn nicht, gibt es Möglichkeiten, um festzustellen, was sie tatsächlich verursacht, und ob wir etwas tun können, um dies zu beheben?

Wir würden uns über jede Eingabe und Bestätigung unserer Annahmen freuen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage