You are viewing a single comment's thread from:

RE: Steem Data Services (SDS) / Update Notice / Version 0.1.9

Servus Chiller, ich bin grad dabei auf einen neuen Server umzuziehen der etwas flotter läuft.

Jetzt habe ich festgestellt, dass SDS schnelle Abfragen <20 ms nicht mag und so nach 20-30 Abfragen mit 503 antwortet. Bei meinen Tests habe ich SDS anscheinend dann so beleidigt, dass er keine Anfragen mehr beantwortet hat oder sich >1000ms Zeit gelassen hat.

Meine Frage ist jetzt, ist das normal und wie kann ich eine Sperre vermeiden?

Sort:  

Moin, auf meinen Servern läuft natürlich ein Rate Limiter, der zu viele gleichzeitige Anfragen von derselben IP blockiert. Aktuell ist es so konfiguriert, dass kleine Bursts erlaubt sind, aber man sollte es besser nicht übertreiben. Du könntest die Anfragen zeitlich verteilen, um nicht geblockt zu werden.

Warum musst du so viele Anfragen gleichzeitig machen? Fehlt eventuell eine API Methode, welche die Daten für mehrere auf einen Schlag zurückgibt?

Danke für deine schnelle Antwort. Es ist meine alternative Follow-Liste, da sind 55 Accounts drin, die letzten Posts hole ich mir mit einer Abfrage, ob diese Posts gevotet wurden, frage ich dann der Reihe nach ab. So kommt es zu 55 Abfragen. Mal sehen, evtl. könnte ich das auch in einem Rutsch machen.

Grundsätzlich, wie viel ms Pause muss ich zwischen den Anfragen einhalten, damit SDS nicht beleidigt ist? Ich meine wie viel ms muss ich verstreichen lassen, bis eine neue Anfrage gesendet werden kann?

EDIT:
Auf einen Rutsch geht nicht, die Acc hole ich alle auf einmal mit accounts_api/getAccountsExt, aber dann muss ich schauen, ob die letzten Posts gevotet wurden, das läuft über posts_api/getRootPostsByAuthor/ - hab nix gefunden, was das auf einen Rutsch machen würde.

Macht auch nix, denke das passt jetzt soweit. Wenn 503 kommt, gehe ich auf 54ms pro Anfrage runter, das läuft soweit rund ohne weitere 503's.

War mir nur wichtig, bevor ich das in's SteemSearch einbaue, möchte ja SDS nicht überfordern :-) und den Leuten auch keine Fehlermeldungen präsentieren.