Wir stellen den neuen Rate Limiter für bessere Performance vor
Bei Transloadit sind wir bestrebt, die Nutzung durch unsere Kunden in keiner Weise einzuschränken. Aus diesem Grund hatten wir bisher nur einen einzigen Rate Limiter im Einsatz, der die Anzahl der Anfragen zum Erstellen einer Assembly auf 250 pro Minute begrenzt. Das hat über die Jahre recht gut funktioniert, da er wirklich nur den Missbrauch des Systems einschränkt. 250 neue Assemblies pro Minute sind ziemlich viel.
Neuere Nutzungsmuster haben jedoch gezeigt, dass dieses Limit allein kein zu jeder Zeit performantes System für alle unsere Kunden garantieren kann. Während die meisten üblicherweise deutlich innerhalb der Grenze von 250 neuen Assemblies pro Minute bleiben, kann die Größe jeder einzelnen dieser Assemblies enorm sein. Wenn diese Assemblies ausgeführt werden, belegen sie zudem viele Minuten lang unsere Server, in einigen seltenen Fällen sogar stundenlang. Das führt zu einer hohen Last auf unseren Servern, zu Assemblies in der Queue, zu Encoding-Jobs in der Queue und zu langen Wartezeiten für andere Personen mit regulärer Nutzung. Hier mussten wir handeln.
Daher führen wir heute einen neuen Rate Limiter ein, der die Nutzung auf 250 gleichzeitig laufende Assemblies begrenzt. Um ganz ehrlich zu sein: Diesen Rate Limiter haben wir bereits seit 6 Wochen in Produktion. In dieser Zeit haben wir genau beobachtet, wer davon betroffen wäre und in welchen konkreten Situationen. Aus dieser sorgfältigen Analyse haben wir abgeleitet, dass 250 ein guter Standardwert für alle Kunden ist. Für Kunden, die diesem Limit regelmäßig nahekamen, wurde bereits ein höheres Limit in ihren Accounts eingerichtet. So sollte sichergestellt sein, dass dadurch niemand negative Auswirkungen auf seine Nutzung von Transloadit feststellen wird. Stattdessen sollten nun alle von einem performanteren System profitieren, in dem Wissen, dass andere Kunden keine Ressourcen mehr abziehen können, indem sie unsere Server unverhältnismäßig belasten.
In der Zwischenzeit haben wir außerdem Unterstützung für den Rate Limiter in unser Node SDK und unser Ruby SDK eingebaut, die automatische Retries für Anfragen implementieren, die der Rate Limiter begrenzt hat. Weitere SDKs folgen in Kürze. Wenn Sie für Ihre Backend-Batch-Jobs regelmäßig vom Rate Limiter begrenzt werden, empfehlen wir Ihnen, eines dieser SDKs zu verwenden. Wenn Sie hingegen begrenzt werden, weil Ihre Nutzer so viel hochladen, dann ist das natürlich reguläre Nutzung, und in diesem Fall erhöhen wir gerne das Limit für Ihren Account.
