Presentamos un nuevo Rate Limiter para un mejor rendimiento
En Transloadit, nos esforzamos por no limitar de ninguna manera el uso que hacen nuestros clientes. Por esta razón, hasta ahora solo hemos tenido un único rate limiter, que limita a 250 por minuto la cantidad de solicitudes para crear una Assembly. Esto ha funcionado bastante bien a lo largo de los años, ya que en realidad solo limita el uso indebido del sistema. 250 Assemblies nuevas por minuto son bastantes.
Sin embargo, los patrones de uso más recientes han demostrado que este límite por sí solo no puede garantizar un sistema de alto rendimiento para todos nuestros clientes en todo momento. Aunque por lo general la gente se mantiene bastante por debajo del margen de 250 Assemblies nuevas por minuto, el tamaño de cada una de esas Assemblies puede ser enorme. Además, cuando estas Assemblies se ejecutan, permanecen en nuestros servidores durante muchos minutos o, en algunos casos poco frecuentes, incluso horas. Esto genera una carga alta en nuestros servidores, Assemblies en cola, Encoding Jobs en cola y largos tiempos de espera para otras personas con un uso habitual. Teníamos que tomar medidas al respecto.
Por eso, hoy presentamos un nuevo rate limiter que limita el uso a 250 Assemblies en ejecución simultánea. Para ser completamente honestos, en realidad ya llevamos 6 semanas con este rate limiter en producción. Durante este tiempo, hemos monitoreado de cerca a quiénes afectaría y en qué situaciones específicas. De este análisis cuidadoso hemos deducido que 250 es un buen valor predeterminado para todos los clientes. A los clientes que se acercaban con regularidad a este límite ya se les ha implementado un límite más alto en sus cuentas. Esto debería garantizar que nadie vea un impacto negativo en su uso de Transloadit como consecuencia de este cambio. Más bien al contrario: ahora todos deberían poder disfrutar de un sistema con mejor rendimiento, sabiendo que otros clientes ya no pueden agotar los recursos imponiendo una carga desproporcionada a nuestros servidores.
Mientras tanto, también hemos añadido compatibilidad con el rate limiter a nuestro SDK de Node y SDK de Ruby, que implementan reintentos automáticos para las solicitudes limitadas por el rate limiter. Pronto le seguirán otros SDK. Si tus trabajos por lotes del backend alcanzan el límite con regularidad, te sugerimos que uses uno de estos SDK. Si, por el contrario, alcanzas el límite porque tus usuarios suben muchísimo contenido, eso es, por supuesto, un uso habitual, en cuyo caso estaremos encantados de aumentar el límite de tu cuenta.
