Nadie te advierte sobre el momento exacto en que el éxito de tu SaaS empieza a sentirse como una penalización, porque la necesidad de escalar un negocio SaaS suele aparecer de la nada. Generalmente ocurre de la noche a la mañana: el producto que funcionaba de maravilla con 5.000 usuarios empieza a tambalear en 30.000, y para los 80.000, está oficialmente en soporte vital. De repente, tu bandeja de soporte es un incendio, tus ingenieros han abandonado la hoja de ruta para convertirse en bomberos a tiempo completo, y tu factura de infraestructura crece mucho más rápido que tu cuenta bancaria.
Si esto suena dolorosamente familiar, respira profundo. No construiste un mal producto y tu equipo no ha olvidado cómo programar. Solo estás pagando el ‘impuesto al éxito’.
La verdad reconfortante es que nada de este caos es aleatorio. Después de dos décadas construyendo y escalando desarrollo de SaaS proyectos, hemos identificado un patrón definitivo: los cuellos de botella siguen un calendario. Llegan en una secuencia altamente predecible, desencadenados por hitos muy específicos de cantidad de usuarios.
Si tu equipo sabe exactamente qué viene a la vuelta de la esquina, puedes reparar las tuberías antes de que tus clientes noten una fuga. Esa es la fórmula secreta que separa a los gigantes SaaS que escalan sin esfuerzo de los que se ahogan en deuda técnica y abandono de usuarios.
En Redwerk, hemos entregado más de 250 proyectos de software. Eso significa que hemos visto esta película de terror del escalado suficientes veces como para saber exactamente cuándo va a aparecer el monstruo.
Considera este artículo tu mapa de supervivencia definitivo. Desglosamos los seis cuellos de botella predecibles, los hitos exactos en que golpean, las señales de alerta temprana y, lo más importante, la diferencia entre un parche temporal y una solución permanente. Empecemos.
Escalar un Negocio SaaS: Referencia Rápida para Diagnóstico de Cuellos de Botella
La tabla a continuación resume los seis cuellos de botella tratados en este artículo. Úsala como tarjeta de referencia cuando intentes relacionar lo que ves en producción con su causa probable.
Agotamiento del pool de conexiones a la base de datos
~20K
Tiempos de espera aleatorios en acciones que eran rápidas ayer
Conexiones activas vs. máximo del pool; tiempos de espera de consultas; errores de ‘demasiadas conexiones’
Aumentar tamaño del pool, agregar réplicas de lectura
Agrupador de conexiones (PgBouncer); separar rutas de lectura/escritura
Saturación de la cola de trabajos en segundo plano
~40K
Correos que llegan 20 minutos tarde; exportaciones colgadas
Tendencia de profundidad de cola; antigüedad del trabajo al procesar; tiempo de espera vs. ejecución del worker
Agregar más workers
Carriles de cola prioritaria; limitar la ingestión
Caos de invalidación de caché
~60K
Datos obsoletos tras guardar; paneles inconsistentes
Tasa de aciertos de caché; auditoría de TTL; verificación de colisión de claves entre tenants
Reducir TTLs globalmente
Invalidación basada en etiquetas o eventos por tenant
Degradación por vecino ruidoso
~80K
Cuentas grandes específicas se ralentizan de forma impredecible
Tiempo de consulta por tenant; uso de recursos compartidos por ID de tenant
Limitar manualmente al tenant más ruidoso
Particionado de recursos por nivel de tenant; pools de cómputo dedicados
Inversión del costo por usuario
~100K
Nada visible aún, pero los márgenes se comprimen
Tendencia de costo por usuario activo; razón de recursos ociosos; gasto vs. ingresos por cohorte
Instancias reservadas, cómputo spot, ajuste de tamaño
Atribución de costos por tenant; marcas de funcionalidades para cargas intensivas
Colapso de escalado organizacional y de procesos
~150K
Las funcionalidades se ralentizan; los incidentes tardan más en resolverse
Tendencias MTTD/MTTR; frecuencia de despliegues; razón de ingeniería reactiva vs. proactiva
Más reuniones de proceso y coordinación
Límites de propiedad alineados a servicios; runbooks; inversión en observabilidad
Lo que "Escalar un Negocio SaaS" Realmente Significa en Cada Etapa
La mayoría de los equipos abordan una conversación sobre escalado pensando en rendimiento: hacer las cosas más rápidas, manejar más solicitudes. Ese enfoque no está mal, pero es incompleto. Escalar realmente significa identificar qué fallará a continuación y solucionarlo antes de que los usuarios lo noten.
Cada etapa de crecimiento introduce una restricción dominante. El instinto de arrojar recursos de cómputo al problema o reescribir toda la arquitectura de una vez tiende a ser costoso precisamente porque pasa por alto este punto. La acción correcta casi siempre es más específica: encontrar la restricción en tu etapa actual, solucionarla correctamente e instrumentar para la siguiente que llegará.
Las seis secciones a continuación recorren cada restricción en el orden en que típicamente aparece.
1. Por Qué el SaaS Ralentiza en 20K Usuarios: Agotamiento del Pool de Conexiones a la Base de Datos
Las acciones que han sido rápidas durante meses empiezan a agotarse el tiempo de forma intermitente. Los fallos tienden a concentrarse durante el horario laboral, cuando el uso concurrente es máximo, y luego desaparecen por la tarde. Los usuarios abren tickets, tu equipo revisa la base de datos y la encuentra funcionando bien dentro de su capacidad. Entonces, ¿qué está pasando?
Por Qué Ocurre Esto al Escalar un SaaS
Tu aplicación mantiene un pool de conexiones abiertas a la base de datos que las solicitudes pueden tomar y devolver. Con pocos usuarios, este pool es suficientemente grande en relación con la demanda concurrente. A medida que tu conteo de usuarios activos mensuales (MAU) se acerca a 20.000, el número de solicitudes simultáneas finalmente supera el pool. Las nuevas solicitudes esperan en cola hasta que una conexión esté disponible. Si la espera supera el tiempo límite de la solicitud, el usuario ve un error. Mientras tanto, la base de datos en sí parece bien porque el cuello de botella está en la capa de gestión de conexiones, no en el motor de base de datos.
Este escenario es más común de lo que la mayoría de los equipos espera. Como descubrió un equipo de ingeniería al analizar su propio sistema, el agotamiento del pool de conexiones puede causar picos de latencia P99 incluso cuando la base de datos está al 47% de utilización. Lo que parece un problema de capacidad de la base de datos es en realidad congestión en la cola de conexiones.
3 Señales a Buscar en Tu Sistema
- Conteo de conexiones activas vs. máximo del pool configurado (¿alcanzas regularmente el límite?)
- Tiempo de espera de consultas en la vista de actividad de procesos de tu base de datos (pg_stat_activity en PostgreSQL, o su equivalente en tu motor)
- Registros de errores por ‘demasiadas conexiones’, ‘pool agotado’ o mensajes similares, correlacionados con las marcas de tiempo de las quejas de usuarios
Alivio Rápido vs. Solución Duradera
El parche es aumentar el tamaño del pool y agregar réplicas de lectura para ganar tiempo. La solución arquitectónica es introducir un agrupador de conexiones dedicado, como PgBouncer en modo transacción, que multiplexa muchas conexiones de la aplicación en muchas menos conexiones a la base de datos. Además, deberías desacoplar tu ruta de lectura (consultas de panel, reportes) de tu ruta de escritura para que no compitan por el mismo pool.
2. Un Problema Común de Escalado SaaS en 40K Usuarios: Saturación de la Cola de Trabajos en Segundo Plano
Las confirmaciones por correo que deberían llegar en segundos ahora tardan 20 minutos. Las exportaciones de archivos que solían estar listas al instante muestran un indicador durante mucho tiempo y luego fallan silenciosamente. Los webhooks hacia los sistemas de tus clientes dejan de entregarse. Ninguno de estos fallos aparece como error en tu panel principal, lo que hace que este cuello de botella sea particularmente insidioso.
Por Qué Ocurre Esto al Escalar un SaaS
A medida que crece tu número de usuarios, el volumen de trabajo que tu sistema de trabajos en segundo plano necesita procesar crece con él, a menudo más rápido que el propio conteo de usuarios porque muchas acciones de usuario desencadenan múltiples tareas. Eventualmente, la cola se acumula más rápido de lo que tus workers pueden vaciarla. Los nuevos trabajos esperan detrás de un backlog. Las tareas urgentes como los correos esperan detrás de exportaciones pesadas. Los workers parecen ocupados, pero la mayoría de su tiempo de reloj se gasta esperando, no ejecutando.
Esto es peligroso precisamente porque los fallos son silenciosos. Los clientes enterprise lo notan antes que tú, porque sus integraciones webhook empiezan a perder eventos. Para cuando llegan los tickets de soporte, la confianza ya ha sido dañada.
3 Señales a Buscar en Tu Sistema
- Tendencia de profundidad de cola en las últimas 24 horas (¿está creciendo a lo largo del día en lugar de mantenerse estable?)
- Antigüedad del trabajo al momento del procesamiento (¿los trabajos esperan 15 minutos antes de comenzar?)
- Razón de CPU del worker vs. tiempo de reloj (workers que pasan la mayor parte del tiempo esperando en lugar de ejecutando indican un cuello de botella de rendimiento, no de capacidad)
Alivio Rápido vs. Solución Duradera
El arreglo rápido es agregar más workers. Esto ayuda temporalmente pero a menudo crea un nuevo problema: los trabajos batch pesados compiten con los trabajos urgentes de cara al usuario, y la cola se llena de nuevo en semanas. La solución arquitectónica son los carriles de cola prioritaria, con colas dedicadas separadas para tareas de cara al usuario (correos, notificaciones en la app, entrega de webhooks) y trabajos batch internos (exportaciones, agregación de analíticas, indexación de búsquedas). Combina esto con la limitación en el lado de ingestión para que un pico repentino de nuevos eventos no entierre tu cola prioritaria.
3. Datos Obsoletos y Paneles Rotos: Problemas de Invalidación de Caché en 60K Usuarios
Un usuario guarda un cambio y la página sigue mostrando los datos antiguos. Dos personas en la misma cuenta ven números diferentes en el mismo panel. Un registro eliminado sigue reapareciendo y tu equipo de soporte empieza a registrarlos como errores. Cuando tu equipo de ingeniería investiga, los datos subyacentes en la base de datos son correctos; la caché simplemente sirve una versión desactualizada.
Por Qué Ocurre Esto al Escalar un SaaS
El caching es una de las herramientas más eficaces para reducir la carga de la base de datos cuando un producto SaaS escala. Sin embargo, la invalidación de caché, decidir cuándo un valor en caché ya no es válido y debe reemplazarse, es genuinamente uno de los problemas más difíciles en los sistemas distribuidos. Con 60.000 MAU, los modos de fallo que eran manejables a menor escala se vuelven visibles. En entornos multitenant, un problema común son las colisiones de claves de caché: los datos de dos tenants se indexan de forma superpuesta, por lo que la escritura de un tenant sirve accidentalmente datos obsoletos a otro. Otro es la dependencia excesiva de la expiración por tiempo de vida (TTL), lo que significa que los datos obsoletos persisten tanto tiempo como duró el TTL, incluso si el registro subyacente cambia segundos después de que se escribió la caché.
3 Señales a Buscar en Tu Sistema
- Tasa de aciertos de caché desglosada por endpoint (una caída repentina en la tasa a menudo precede a quejas visibles de datos obsoletos)
- Auditoría de distribución de TTL en tus objetos en caché (¿los objetos de alto tráfico usan TTLs más largos que la tolerancia de tus usuarios a datos obsoletos?)
- Verificación de colisión de claves de caché entre tenants en tu entorno multitenant (¿tus claves están suficientemente acotadas al tenant y la versión del recurso?)
Alivio Rápido vs. Solución Duradera
Lo primero es reducir los TTLs de forma generalizada. Esto reduce la ventana de datos obsoletos pero aumenta significativamente la carga de la base de datos, lo que a menudo desencadena otros problemas. La solución a nivel arquitectónico es pasar a la invalidación basada en etiquetas o dirigida por eventos, donde una escritura en un recurso invalida explícitamente todas las vistas en caché de ese recurso, indexadas por ID de tenant y versión del recurso. Además, cambia a caching de escritura directa en tus rutas de lectura más activas, para que la caché y la base de datos se actualicen juntas en cada escritura. Para más orientación sobre cómo estructurar el aislamiento de tenants en tu capa de caché, revisa nuestra guía sobre mejores prácticas de arquitectura SaaS multitenant.
4. Degradación por Vecino Ruidoso: Un Desafío de Escalado SaaS Multitenant en 80K Usuarios
Tus cuentas más grandes y valiosas empiezan a quejarse de ralentizaciones. El momento es inconsistente y no se correlaciona con nada obvio en su extremo. Lo que parece su problema está causado en realidad por otra cuenta que consume infraestructura compartida al mismo tiempo.
Por Qué Ocurre Esto al Escalar un SaaS
En una arquitectura multitenant, múltiples clientes comparten la misma base de datos, servidores de aplicaciones e infraestructura de caché. Un solo tenant grande cuyo uso es legítimamente intenso, ejecutando una exportación compleja, procesando una importación masiva o ejecutando consultas analíticas, puede consumir una parte desproporcionada de los recursos compartidos. Los otros tenants en esa misma infraestructura sufren un rendimiento degradado como resultado. Este es el problema del vecino ruidoso, y típicamente se vuelve visible alrededor de los 80.000 MAU, porque ese es generalmente el momento en que la distribución de tamaños de tenants es lo suficientemente amplia como para que los más pesados compitan genuinamente con todos los demás.
3 Señales a Buscar en Tu Sistema
- Percentiles de tiempo de consulta por tenant (¿tus períodos P95 más lentos se correlacionan con uno o dos IDs de tenant específicos que consumen más recursos que otros?)
- Utilización de recursos compartidos desglosada por ID de tenant (IOPS de almacenamiento, conteo de conexiones, CPU)
- Conteo de conexiones por tenant durante las ventanas de quejas
Alivio Rápido vs. Solución Duradera
El parche es limitar manualmente al tenant más ruidoso cuando llega una queja. Esto es reactivo, daña tu relación con ese tenant y no evita que el mismo escenario se repita la próxima semana con un tenant diferente. La solución arquitectónica es el particionado de recursos basado en niveles de tenant: las cuentas de alto uso obtienen pools de cómputo o esquemas de base de datos dedicados con sus propias asignaciones de recursos, mientras que las cuentas más pequeñas comparten un pool común dimensionado apropiadamente para sus patrones de uso agregado. Esto también abre un camino natural hacia precios escalonados, donde los clientes enterprise pagan por infraestructura dedicada.
5. Cuando Escalar un Negocio SaaS Se Vuelve Caro: Inversión del Costo por Usuario en 100K Usuarios
Este es invisible para tus clientes, lo que en parte lo hace peligroso.
Lo Que Tu Equipo Nota
La factura de infraestructura se triplicó en los últimos seis meses. Tu número de usuarios creció aproximadamente un 50% en el mismo período. Las matemáticas que lucían convincentes en tu modelo de economía unitaria ya no funcionan. Según Informe de Flexera sobre el Estado de la Nube 2025, el 84% de las organizaciones identifican gestionar el gasto en la nube como su principal desafío cloud, con presupuestos de nube que ya superan las previsiones en un 17% en promedio. Los productos SaaS se topan con este muro de forma aguda alrededor de los 100.000 MAU, porque es ahí donde las ineficiencias arquitectónicas que eran tolerables a menor escala empiezan a acumularse en una erosión real de márgenes.
Los ingresos en SaaS crecen por asiento o por plan. Los costos de infraestructura crecen por interacción: cada llamada a la API (interfaz de programación de aplicaciones), cada consulta a la base de datos, cada gigabyte almacenado o transferido. Cuando esas curvas dejan de ser proporcionales, tienes una inversión del costo por usuario, y si no abordas la arquitectura subyacente, la inversión empeora a medida que creces.
3 Señales a Buscar en Tu Sistema
- Tendencia de costo por usuario activo en los últimos 90 días (no el gasto total, sino el gasto dividido por MAU, seguido semana a semana)
- Razón de recursos ociosos (¿qué porcentaje de tu cómputo provisionado está inactivo durante las horas de menor actividad?)
- Gasto en cómputo vs. ingresos desglosados por cohorte de clientes (¿ciertos niveles de plan o conjuntos de funcionalidades son genuinamente no rentables con los costos de infraestructura actuales?)
Alivio Rápido vs. Solución Duradera
Puedes intentar ajustar el tamaño de las instancias, pasar a cómputo spot para cargas no críticas y comprar capacidad reservada. Estas medidas valen la pena y deben implementarse, pero son optimizaciones, no arquitectura. Resolver el problema a nivel arquitectónico requiere atribución de costos por tenant, para saber exactamente cuánto cuesta servir a cada cliente, y marcas de funcionalidades para cargas pesadas, de modo que las funcionalidades con uso intensivo de recursos solo estén activas para los niveles cuyo precio soporta el costo. Además, una revisión de tus políticas de retención de datos y almacenamiento de logs casi siempre revela un desperdicio significativo en esta etapa: datos por los que pagas para almacenar y que nadie consulta.
6. El Desafío Oculto del Escalado SaaS en 150K Usuarios: Colapso Organizacional y de Procesos
Los lanzamientos de funcionalidades se ralentizan notablemente. Cuando algo falla, la resolución tarda más que antes. La incorporación de clientes, que solía llevar una semana, ahora tarda tres. Tu NPS (Net Promoter Score) empieza a caer aunque el producto en sí no ha empeorado.
Lo Que Tu Equipo Nota
Un despliegue en producción ahora requiere coordinar a cuatro o más personas. Nadie tiene una imagen clara de cómo interactúan todos los servicios. Cuando ocurre un incidente, la mitad del tiempo se gasta averiguando a quién pertenece el área. Los tickets de soporte hacen referencia a comportamientos que ingeniería no puede reproducir en un entorno de staging. La razón entre trabajo reactivo (arreglar lo que ya está roto) y trabajo proactivo (construir lo que aún no se ha roto) se ha invertido silenciosamente.
Por Qué Ocurre Esto al Escalar un SaaS
Este es el cuello de botella que la mayoría de los artículos sobre escalar un negocio SaaS omiten, porque parece organizacional en lugar de técnico. Pero es igual de predecible e igual de dañino que los cinco anteriores. Alrededor de 150.000 MAU, el número de personas en tu equipo y el número de servicios de los que son responsables han crecido hasta el punto donde la coordinación informal ya no funciona. La carga cognitiva de mantener el contexto compartido se vuelve demasiado alta, por lo que las decisiones se ralentizan. Una auditoría de desarrollo de software en esta etapa a menudo revela que los síntomas técnicos, fallos de despliegue, errores no reproducibles y brechas de monitoreo son consecuencia de problemas estructurales en cómo se organizan la propiedad y la observabilidad.
3 Señales a Buscar en Tu Sistema
- Tendencias del tiempo medio de detección (MTTD) y tiempo medio de resolución (MTTR) de incidentes en los últimos seis meses (ambos deben disminuir a medida que madura el producto; si aumentan, es una señal estructural)
- Frecuencia de despliegues por equipo o servicio (¿los despliegues se vuelven menos frecuentes y más ceremoniales?)
- Razón de trabajo de ingeniería reactivo vs. proactivo en el último trimestre (si el equipo dedica más del 40% de su tiempo a trabajo reactivo, la organización tiene un problema estructural, no solo un problema de backlog)
Alivio Rápido vs. Solución Duradera
El parche es agregar más proceso: más reuniones, más pasos de aprobación, más requisitos de documentación. Estos se sienten como soluciones porque reducen temporalmente el caos, pero también ralentizan todo lo demás. La solución adecuada a nivel arquitectónico alinea explícitamente los límites de propiedad con los servicios, de modo que cada componente del sistema tiene un equipo nombrado responsable de él. Significa guardias de atención con runbooks escritos, no solo conocimiento informal. Significa invertir en una plataforma de observabilidad para que cuando algo falle, el equipo pueda ver qué ocurrió y por qué, en lugar de tener que reproducirlo por suposición.
Cómo Saber a Cuál Desafío de Escalado SaaS Te Enfrentas Ahora
La secuencia anterior no es rígida al día, pero es confiable en su orden. Por lo tanto, si tu producto tiene entre 20.000 y 40.000 MAU y estás viendo tiempos de espera intermitentes, comienza con la sección 1. Si estás alrededor de 60.000 a 80.000 MAU y tu cola de soporte se llena con quejas de ‘los datos se veían mal’, comienza con la sección 3. Si estás por encima de 100.000 MAU y tu economía unitaria ha empeorado silenciosamente, la inversión del costo por usuario en la sección 5 es la causa más probable.
La disciplina clave es ejecutar las verificaciones de las tres señales para la sección que coincide con tu etapa actual antes de asumir que conoces la respuesta. Los síntomas en cada etapa pueden parecer engañosamente similares desde afuera, y las soluciones son lo suficientemente diferentes como para que confundirlas sea costoso. Una arquitectura de software bien diseñada y escalable es aquella en la que la instrumentación para el siguiente cuello de botella ya está en su lugar antes de que el cuello de botella surja.
Cuándo Buscar Ayuda Externa para los Desafíos de Escalado de tu Producto SaaS
El momento en que la mayoría de los equipos busca ayuda externa suele ser un cuello de botella demasiado tarde. Hay tres señales confiables de que el autodiagnóstico ya no es el enfoque correcto.
- Primero, tu monitoreo no cubre las señales que importan para tu etapa actual. No puedes arreglar lo que no puedes medir, y si las tres señales anteriores no devuelven datos, la brecha de observabilidad es lo primero que hay que abordar.
- Segundo, tu equipo lucha repetidamente contra los mismos problemas en la misma área. Si la misma categoría de incidente ha ocurrido tres o más veces en el último trimestre, se aplicó un parche cada vez en lugar de la solución arquitectónica.
- Tercero, las decisiones arquitectónicas tomadas hace 12 a 18 meses son ahora la restricción. La mayoría de los productos SaaS están diseñados para el número de usuarios que tienen hoy, no el que esperan en 18 meses. Cuando el crecimiento se acelera, la brecha entre la arquitectura actual y la requerida puede ser demasiado grande para que un equipo la cierre mientras mantiene el producto.
Si alguno de estos describe tu situación, es hora de tener una conversación estructurada sobre qué necesita cambiar y en qué orden, así que llámanos.
FAQ
¿Cómo se escala una aplicación SaaS?
Escalar una aplicación de negocio SaaS tiene menos que ver con ‘hacerla más rápida’ y más con identificar qué restricción específica se convierte en el cuello de botella en tu número actual de usuarios, solucionarla correctamente e instrumentar para la siguiente. Cada etapa se lista en el artículo anterior y tiene un conjunto distinto de síntomas, un método de confirmación y una solución arquitectónica que difiere del parche temporal. Los equipos que escalan de forma limpia son los que abordan cada cuello de botella en su raíz arquitectónica, no solo en su síntoma superficial.
¿Cuáles son los problemas comunes de escalado SaaS?
Los problemas más comunes de escalado SaaS, aproximadamente en el orden en que aparecen al crecer el número de usuarios, son:
- Agotamiento de conexiones a la base de datos (donde la aplicación se queda sin conexiones disponibles bajo carga concurrente)
- Saturación de la cola de trabajos en segundo plano (where asynchronous tasks like emails and webhooks accumulate faster than workers can process them)
- Fallos de invalidación de caché (donde se sirven datos obsoletos a los usuarios tras las actualizaciones)
- Degradación por vecino ruidoso (where one large tenant’s usage degrades performance for other tenants on shared infrastructure)
- Inversión del costo por usuario (where infrastructure costs grow faster than revenue as usage increases)
- Fallo de proceso organizacional (donde la carga de coordinación ralentiza la ingeniería a medida que crece la complejidad del equipo y del sistema)
¿Por qué se ralentiza mi SaaS al crecer el número de usuarios?
Las aplicaciones SaaS se ralentizan al crecer el número de usuarios porque la arquitectura que funciona bien con pocos usuarios tiene límites de capacidad específicos que se vuelven vinculantes a medida que aumenta la concurrencia. La causa temprana más común es el agotamiento del pool de conexiones: la aplicación no puede abrir nuevas conexiones a la base de datos lo suficientemente rápido para servir a todos los usuarios concurrentes, por lo que las solicitudes esperan en cola y agotan el tiempo. A medida que crece el número de usuarios, las colas de trabajos en segundo plano se llenan, las capas de caché sirven datos obsoletos y la infraestructura compartida empieza a mostrar contención entre tenants. Cada uno de estos fallos tiene un punto de activación predecible, lo que significa que son diagnosticables y prevenibles si la instrumentación adecuada está en su lugar antes de que el número de usuarios alcance el umbral.
Descubre cómo ayudamos a Recruit Media a construir un SaaS de reclutamiento adquirido por una empresa cotizada en Nasdaq con una capitalización de más de 250 millones