Convex Autoalojado vs Nivel Gratuito de Cloud: Benchmarks 2026
Convex autoalojado vs nivel gratuito de cloud: resultados reales de benchmarks con pruebas de carga de oha comparando tiempos de respuesta, throughput e impacto del CDN en el rendimiento.
Actualizado Publicado 24 min de lectura

Convex autoalojado vs nivel gratuito de cloud: ¿cuál es más rápido? Sométí ambos despliegues a pruebas de carga con oha para obtener números reales de benchmark en lugar de promesas de marketing, y la diferencia resultó ser mayor de lo que esperaba.
Puse la misma app en tiempo real construida con Astro y Convex delante de Convex ejecutándose en un VPS y en el nivel gratuito de cloud gestionado, y luego cambié una sola cosa cada vez: dónde se ubica el CDN. Cuatro configuraciones, 1.000 peticiones cada una. Aquí están los números.
Notas del benchmark para 2026
Desde que ejecuté estas pruebas en noviembre de 2025, Convex liberó el código de su backend (get-convex/convex-backend en GitHub), así que el autoalojamiento es ahora una vía con soporte oficial en lugar de algo que tenías que montar por tu cuenta. El despliegue basado en Docker que analicé funciona igual hoy, y los pasos de configuración junto con las etiquetas de imagen actuales están en mi guía sobre cómo autoalojar Convex con Docker Compose o Dokploy.
Actualizado para 2026
Todos los números de abajo provienen de una única ejecución de pruebas de noviembre de 2025. La arquitectura autoalojada no ha cambiado, pero la versión del backend ha avanzado y los límites del nivel gratuito de cloud cambian con frecuencia, así que consulta la página de precios actual de Convex antes de decantarte por cualquiera de las dos opciones.
Configuración de las pruebas y metodología
Usé oha para las pruebas de carga. Es una herramienta de pruebas de carga HTTP escrita en Rust que muestra cómo gestiona cada configuración las peticiones concurrentes, y trata cualquier URL de la misma manera. Puedes ejecutar la misma prueba contra tu propio servidor antes de confiarle tráfico de producción; lo cubro por separado en cómo hacer benchmark de servidores cloud (VPS).
Parámetros de las pruebas
Todas las pruebas se ejecutaron con los siguientes parámetros:
| Parámetro | Valor | Descripción |
|---|---|---|
| Peticiones totales | 1.000 | Número de peticiones HTTP a enviar |
| Conexiones concurrentes | 500 | Usuarios simulados accediendo simultáneamente |
| Límite de tasa | 50 pet/seg | Tasa de peticiones controlada para consistencia |
El comando utilizado:
oha -n 1000 -c 500 -q 50 https://target-url/Qué mide oha
oha informa de:
- Tasa de éxito: porcentaje de peticiones que devolvieron HTTP 200
- Tiempo medio de respuesta: tiempo medio desde la petición hasta la respuesta
- Distribución de tiempos de respuesta: desglose por percentiles que muestra la consistencia
- Throughput: peticiones gestionadas por segundo
- Tiempo de DNS+dialup: sobrecarga del establecimiento de la conexión
Estas métricas muestran tanto el rendimiento bruto como la fiabilidad bajo carga.
Configuraciones probadas
Probé cuatro configuraciones:
- Autoalojado (sin CDN): backend de Convex ejecutándose en un VPS, accedido directamente
- Autoalojado (CDN completo): CDN de Cloudflare activo tanto para el sitio web como para los endpoints de Convex
- Autoalojado (CDN solo en el sitio): CDN de Cloudflare para el sitio web, acceso directo a Convex
- Nivel gratuito de Cloud Convex: Convex estándar alojado en cloud con Cloudflare en el frontend
Una aclaración antes de los números, porque es la configuración incorrecta más común: «CDN completo» significa que los endpoints de la API de Convex también pasan por el proxy de Cloudflare, no solo el sitio estático. Enviar solo el sitio web por el edge mientras la API va directa te da aproximadamente los números de «CDN solo en el sitio».
Guía de autoalojamiento
Si quieres desplegar tu propia instancia de Convex, consulta mi guía Autoaloja Convex en 2026: guía de configuración con Docker Compose y Dokploy. ¿Aún eligiendo herramienta de despliegue? También comparé Coolify vs Dokploy vs Kamal 2.
Resultados del benchmark
El titular: el rendimiento de Convex autoalojado superó al nivel gratuito de cloud en todas las métricas, y el mayor factor individual fue dónde se ubica el CDN, no el backend en sí.
Comparación visual
Tabla resumen
Aquí están los resultados completos del benchmark de Convex de las cuatro ejecuciones:
| Configuración | Resp. media | Más rápida | Más lenta | Pet/seg | Tasa de éxito |
|---|---|---|---|---|---|
| Autoalojado (CDN completo) | 0.16s | 0.08s | 0.37s | 49.65 | 100% |
| Autoalojado (CDN sitio) | 0.63s | 0.17s | 2.57s | 47.74 | 100% |
| Autoalojado (sin CDN) | 0.98s | 0.28s | 2.88s | 47.22 | 100% |
| Cloud Convex | 1.88s | 0.21s | 4.53s | 44.42 | 100% |
Todas las cifras provienen de una única ejecución de pruebas de noviembre de 2025. Lee la sección de advertencias de abajo antes de citarlas en otro lugar.
Resultados detallados
Autoalojado sin CDN
Acceso directo a Convex autoalojado, sin CDN. Las peticiones llegan directamente al origen en el VPS.
# Cloudflare proxy OFF for the Convex host: requests go straight to the VPS
oha -n 1000 -c 500 -q 50 https://sh-convex.bitbuddies.me/
Summary:
Success rate: 100.00%
Total: 21.1762 secs
Slowest: 2.8789 secs
Fastest: 0.2811 secs
Average: 0.9796 secs
Requests/sec: 47.2227
Total data: 125.04 MiB
Size/request: 128.05 KiB
Size/sec: 5.90 MiB
Response time histogram:
0.281 [1] |
0.541 [65] |■■■■
0.801 [196] |■■■■■■■■■■■■
1.060 [507] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
1.320 [114] |■■■■■■■
1.580 [43] |■■
1.840 [39] |■■
2.100 [17] |■
2.359 [7] |
2.619 [3] |
2.879 [8] |
Response time distribution:
10.00% in 0.5999 secs
25.00% in 0.7839 secs
50.00% in 0.9395 secs
75.00% in 1.0484 secs
90.00% in 1.3932 secs
95.00% in 1.6885 secs
99.00% in 2.5827 secs
99.90% in 2.8789 secs
99.99% in 2.8789 secs
Details (average, fastest, slowest):
DNS+dialup: 0.1573 secs, 0.1193 secs, 0.2184 secs
DNS-lookup: 0.0001 secs, 0.0000 secs, 0.0010 secs
Status code distribution:
[200] 1000 responsesLa configuración promedió alrededor de 1 segundo por petición, con 507 de las 1000 peticiones terminando entre 0.8 y 1.0 segundos. DNS+dialup tardó unos 0.16 segundos de media, una sobrecarga apreciable. Esto nos da una línea base del rendimiento bruto del servidor, y los 128 KiB por petición son lo que el origen sirve sin comprimir.
Autoalojado con CDN completo de Cloudflare
Mismo VPS, pero Cloudflare actuó como proxy tanto del sitio web como de los endpoints de la API de Convex. El host es el mismo que en la ejecución anterior; lo que cambió fue el estado del proxy, y se ve en el payload: las respuestas volvieron comprimidas desde el edge.
# Same VPS, Cloudflare proxy ON for both site and Convex endpoints
oha -n 1000 -c 500 -q 50 https://sh-convex.bitbuddies.me/
Summary:
Success rate: 100.00%
Total: 20.1391 secs
Slowest: 0.3701 secs
Fastest: 0.0803 secs
Average: 0.1592 secs
Requests/sec: 49.6546
Total data: 14.49 MiB
Size/request: 14.83 KiB
Size/sec: 736.54 KiB
Response time histogram:
0.080 [1] |
0.109 [97] |■■■■■■■■■
0.138 [219] |■■■■■■■■■■■■■■■■■■■■■
0.167 [324] |■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.196 [194] |■■■■■■■■■■■■■■■■■■■
0.225 [96] |■■■■■■■■■
0.254 [44] |■■■■
0.283 [15] |■
0.312 [6] |
0.341 [3] |
0.370 [1] |
Response time distribution:
10.00% in 0.1096 secs
25.00% in 0.1302 secs
50.00% in 0.1541 secs
75.00% in 0.1812 secs
90.00% in 0.2119 secs
95.00% in 0.2340 secs
99.00% in 0.2845 secs
99.90% in 0.3701 secs
99.99% in 0.3701 secs
Details (average, fastest, slowest):
DNS+dialup: 0.0371 secs, 0.0230 secs, 0.0795 secs
DNS-lookup: 0.0001 secs, 0.0000 secs, 0.0007 secs
Status code distribution:
[200] 1000 responsesEsta configuración fue rápida y consistente. Los tiempos de respuesta se mantuvieron entre 0.08 y 0.37 segundos, con una media de 0.16 s. El throughput alcanzó 49.65 pet/seg, e incluso el percentil 99 se mantuvo por debajo de 0.3 segundos. La compresión del CDN redujo la transferencia de datos de 128 KiB a 14.8 KiB por petición.
Autoalojado con CDN solo en el sitio
Cloudflare actuó como proxy del sitio web, mientras que los endpoints de Convex evitaron el edge y fueron directos al origen.
# Cloudflare proxy ON for the site only: Convex endpoints go direct to the VPS
oha -n 1000 -c 500 -q 50 https://sh-convex.bitbuddies.me/
Summary:
Success rate: 100.00%
Total: 20.9452 secs
Slowest: 2.5710 secs
Fastest: 0.1678 secs
Average: 0.6271 secs
Requests/sec: 47.7436
Total data: 17.21 MiB
Size/request: 17.62 KiB
Size/sec: 841.16 KiB
Response time histogram:
0.168 [1] |
0.408 [246] |■■■■■■■■■■■■■■■■■■■■■■■■■■
0.648 [374] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.889 [251] |■■■■■■■■■■■■■■■■■■■■■■■■■■■
1.129 [81] |■■■■■■■■
1.369 [10] |
1.610 [14] |■
1.850 [10] |
2.090 [1] |
2.331 [9] |
2.571 [3] |
Response time distribution:
10.00% in 0.3242 secs
25.00% in 0.4105 secs
50.00% in 0.5658 secs
75.00% in 0.7757 secs
90.00% in 0.9235 secs
95.00% in 1.1089 secs
99.00% in 2.2318 secs
99.90% in 2.5710 secs
99.99% in 2.5710 secs
Details (average, fastest, slowest):
DNS+dialup: 0.0362 secs, 0.0247 secs, 0.0669 secs
DNS-lookup: 0.0001 secs, 0.0000 secs, 0.0026 secs
Status code distribution:
[200] 1000 responsesEl rendimiento fue decente pero mostró más varianza que la configuración con CDN completo. La mayoría de las peticiones (374 de 1000) terminaron en 0.4-0.6 segundos, pero el percentil 99 llegó a 2.2 segundos. El tiempo de DNS+dialup mejoró a 0.04 s frente a 0.16 s sin ningún CDN, gracias a que el sitio está detrás de Cloudflare.
Nivel gratuito de Cloud Convex
Convex alojado en cloud con el frontend de la aplicación usando Cloudflare.
# Cloud-hosted Convex, site behind Cloudflare
oha -n 1000 -c 500 -q 50 https://bitbuddies.me/
Summary:
Success rate: 100.00%
Total: 22.5101 secs
Slowest: 4.5336 secs
Fastest: 0.2140 secs
Average: 1.8782 secs
Requests/sec: 44.4246
Total data: 17.23 MiB
Size/request: 17.64 KiB
Size/sec: 783.66 KiB
Response time histogram:
0.214 [1] |
0.646 [34] |■■■■■
1.078 [171] |■■■■■■■■■■■■■■■■■■■■■■■
1.510 [209] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■
1.942 [108] |■■■■■■■■■■■■■■■
2.374 [192] |■■■■■■■■■■■■■■■■■■■■■■■■■■
2.806 [147] |■■■■■■■■■■■■■■■■■■■■
3.238 [77] |■■■■■■■■■■
3.670 [48] |■■■■■■■
4.102 [4] |
4.534 [9] |■
Response time distribution:
10.00% in 0.8744 secs
25.00% in 1.1786 secs
50.00% in 1.8554 secs
75.00% in 2.4471 secs
90.00% in 3.0030 secs
95.00% in 3.3444 secs
99.00% in 3.8191 secs
99.90% in 4.5336 secs
99.99% in 4.5336 secs
Details (average, fastest, slowest):
DNS+dialup: 0.0399 secs, 0.0244 secs, 0.1982 secs
DNS-lookup: 0.0001 secs, 0.0000 secs, 0.0141 secs
Status code distribution:
[200] 1000 responsesEsta fue la configuración más lenta, con una media de 1.88 segundos por petición. Los tiempos de respuesta variaron ampliamente de 0.21 s a 4.53 s, y el throughput cayó a 44.42 pet/seg. Mi mejor hipótesis para esa dispersión tan amplia es la distancia geográfica a los servidores cloud de Convex, pero es una hipótesis: no medí la ruta de red, así que trátala como no verificada.
Análisis y conclusiones
Comparación de rendimiento
En el rendimiento de Convex autoalojado frente al nivel gratuito de cloud, todas las métricas apuntan en la misma dirección:
| Métrica | Ganador | Mejora vs Cloud |
|---|---|---|
| Tiempo medio de respuesta | Autoalojado + CDN completo | 11.75x más rápido |
| Respuesta más rápida | Autoalojado + CDN completo | 2.6x más rápido |
| Consistencia (percentil 99) | Autoalojado + CDN completo | 13.4x mejor |
| Throughput | Autoalojado + CDN completo | 12% mayor |
Por qué el autoalojado rinde mejor
Varios factores explican el resultado de este benchmark:
- Proximidad geográfica: puedes ubicar el servidor cerca de tus usuarios
- Caché del CDN: Cloudflare cachea los recursos estáticos y optimiza las respuestas de la API
- Recursos dedicados: sin compartir infraestructura con otros inquilinos
- Ruta de red: menos saltos cuando el CDN está bien configurado
- Terminación SSL: el CDN gestiona SSL en el edge, reduciendo la carga del backend
El impacto del CDN
Combinar Convex con un CDN de Cloudflare produjo el mayor cambio de una sola variable en estas pruebas. Mismo servidor, misma app, solo cambió la configuración del edge:
| Configuración | Resp. media | vs sin CDN |
|---|---|---|
| CDN completo (sitio + API) | 0.16s | 6.1x más rápido |
| Solo CDN en el sitio | 0.63s | 1.6x más rápido |
| Sin CDN | 0.98s | base |
La configuración del CDN importa
Tener un CDN no basta. La mayor parte de la mejora de rendimiento proviene de enrutar también los endpoints de la API de Convex a través del CDN, no solo los recursos estáticos del sitio web.
Comparación de transferencia de datos
| Configuración | Tamaño/petición | Datos/seg |
|---|---|---|
| Autoalojado (sin CDN) | 128 KiB | 5.90 MiB |
| Autoalojado (CDN completo) | 14.8 KiB | 736 KiB |
| Autoalojado (CDN sitio) | 17.6 KiB | 841 KiB |
| Cloud Convex | 17.6 KiB | 784 KiB |
Las configuraciones con CDN comprimieron las respuestas: un 88 % menos de datos por petición que el origen sin comprimir. Eso importa además de la latencia: menos ancho de banda por petición significa que el VPS de origen puede absorber más tráfico antes de que la CPU o la red se conviertan en el cuello de botella.
Advertencias y cómo reproducir estas pruebas
Antes de tomar la cifra de 12x y planificar una arquitectura a su alrededor, debes saber qué mide y qué no mide este benchmark:
- Una única ubicación de cliente. Todas las ejecuciones salieron de una conexión en una región. La distancia de tus usuarios al origen y al edge de Cloudflare más cercano moverá estos números.
- Solo HTTP GET contra la página de inicio de la app. Sin mutaciones, sin suscripciones WebSocket. La sincronización en tiempo real es un patrón de tráfico distinto y no se midió aquí.
- Una muestra de 1.000 peticiones a 50 pet/seg es suficiente para comparar configuraciones lado a lado. No es una prueba de estrés, y nada aquí te dice dónde se rompen estas configuraciones.
- Las ejecuciones con CDN tenían la caché caliente. Lancé la URL varias veces antes de registrar, así que estos números reflejan el estado estable, no los fallos de caché en frío.
- El resultado de cloud incluye varianza de multiinquilino que no puedes controlar. Otra región o un día más ocupado en Convex Cloud produciría números diferentes.
Si quieres comparar tus propias configuraciones de forma justa, esta es la lista de comprobación que yo seguiría:
- Instala oha:
brew install ohaen Mac,cargo install ohaen Linux, owinget install hatoo.ohaen Windows - Fija los mismos flags en cada ejecución:
oha -n 1000 -c 500 -q 50 https://your-url/ - Calienta la caché del CDN con unas peticiones manuales primero, o tu ejecución medirá fallos de caché en frío
- Ejecuta desde la región donde viven tus usuarios, no desde donde te resulte cómodo
- Prueba con CDN activado y desactivado para ver qué aporta el edge
- Compara p50 y p99, no solo la media. Las medias ocultan la latencia de cola, y la latencia de cola es de lo que se quejan los usuarios
Cuándo elegir cada opción
Elige autoalojado + CDN completo cuando
- El rendimiento importa para tu aplicación
- Tus usuarios se concentran en regiones específicas
- Quieres tiempos de respuesta predecibles
- Te sientes cómodo operando un servidor
- Los tiempos de respuesta por debajo de 200 ms son importantes
Elige el nivel gratuito de Cloud Convex cuando
Cuando ejecuté las pruebas originales, el nivel gratuito cubría 1M de llamadas a funciones al mes y 1 GB de almacenamiento. A septiembre de 2026, la página de planes de Convex lista el nivel gratuito con 1M de llamadas a funciones, 0.5 GB de almacenamiento de base de datos y 1 GB de almacenamiento de archivos. Consulta la página actual antes de planificar con esos números, porque cambian.
- Estás prototipando o en desarrollo
- El tráfico se mantiene bien dentro de los límites del nivel gratuito
- No quieres gestionar infraestructura
- La distribución geográfica no importa
- Los tiempos de respuesta de 1-2 segundos son aceptables
Si te quedas en la vía cloud para la app en sí, el edge sigue importando. La misma app desplegada de forma gestionada se cubre en cómo desplegar Astro + Convex en Vercel.
Recomendaciones
Basándome en estos benchmarks:
Para aplicaciones en producción
- Autoaloja Convex con Docker Compose o Dokploy en un VPS cerca de tus usuarios
- Usa Cloudflare tanto para el sitio web como para los endpoints de Convex
- Configura reglas de caché para las respuestas de tu API
- Vuelve a ejecutar oha después de cada cambio de configuración para saber qué te ha dado cada cambio
Para desarrollo/staging
- El nivel gratuito de Cloud Convex funciona bien
- Usa el autoalojado para pruebas de rendimiento antes de producción
- Mantén las configuraciones de desarrollo y producción similares, o sigue la guía de despliegue en Vercel para Astro + Convex si prefieres mantener staging totalmente gestionado
Configuración óptima de infraestructura
| Componente | Recomendación |
|---|---|
| Proveedor de VPS | Hetzner Cloud, DigitalOcean o AWS en la región de tus usuarios (datos primero: comparativa de rendimiento de VPS ARM entre Hetzner y Oracle) |
| Especificaciones del VPS | 4 GB de RAM mínimo para PostgreSQL |
| CDN | Cloudflare (el nivel gratuito funciona bien) |
| Base de datos | PostgreSQL para producción, SQLite para desarrollo |
| SSL | Deja que el CDN gestione la terminación SSL |
Los precios de los VPS subieron en todos los proveedores en 2026 — si estás reconsiderando una máquina alquilada, mira qué cambió y cuándo gana un mini PC.
Coste mensual aproximado, según mis propias estimaciones: un VPS de 8-20 $ más el nivel gratuito de Cloudflare queda en unos 10-25 $ en total. Para elegir entre proveedores, mira DigitalOcean vs Vultr vs Hetzner: qué VPS es mejor.
Conclusión
Convex autoalojado con un CDN fue unas 12 veces más rápido que el nivel gratuito alojado en cloud en estas pruebas. La diferencia en tiempos de respuesta es sustancial, especialmente para aplicaciones en producción donde los usuarios notan la latencia.
Pero el rendimiento no es el único factor. La opción cloud gestiona la infraestructura por ti, lo que importa durante el desarrollo o cuando no tienes tiempo de administrar servidores. Si los tiempos de respuesta por debajo del segundo no son críticos, la versión cloud funciona bien.
Para aplicaciones en producción donde el rendimiento importa, configurar Convex autoalojado con un CDN merece el esfuerzo.
Empieza con ConvexRecursos relacionados
- Autoaloja Convex en 2026: guía de configuración con Docker Compose y Dokploy
- Construye una app en tiempo real con Astro y Convex
- Despliega Astro + Convex en Vercel: configuración de producción 2026
- Pruebas de rendimiento web con oha
- Cómo hacer benchmark de servidores cloud (VPS)
- Review de Hetzner Cloud 2026
- Configura copias de seguridad de Dokploy con Cloudflare R2
Preguntas frecuentes
¿Cómo ejecuto estos benchmarks yo mismo?
El comando es el mismo para cualquier objetivo:
oha -n 1000 -c 500 -q 50 https://your-convex-app-url/Ajusta los parámetros según tus necesidades de prueba:
-n: número total de peticiones-c: conexiones concurrentes-q: límite de tasa (peticiones por segundo)
Para una comparación justa entre dos configuraciones, sigue la lista de comprobación de reproducción de arriba y cambia una variable cada vez.
¿Es Cloudflare necesario para un buen rendimiento?
No necesitas Cloudflare estrictamente, pero un CDN te da:
- Terminación SSL en ubicaciones edge
- Distribución geográfica del contenido
- Protección DDoS
- Compresión y optimización
El nivel gratuito de Cloudflare es suficiente para la mayoría de los despliegues autoalojados de Convex. Si quieres una alternativa más barata, Bunny.net CDN es la primera que miraría. Cubro los pros y contras en mi review de Bunny.net (más barato que Cloudflare). Fastly o Amazon CloudFront harían el mismo trabajo.
¿Cuáles son los límites del nivel gratuito de Convex?
Cuando ejecuté las pruebas originales, el nivel gratuito incluía 1M de llamadas a funciones al mes y 1 GB de almacenamiento. A septiembre de 2026, la página de planes lista el nivel gratuito con 1M de llamadas a funciones, 0.5 GB de almacenamiento de base de datos y 1 GB de almacenamiento de archivos. Consulta la página actual antes de confiar en cualquiera de esos números, ya que las condiciones cambian.
| Nivel gratuito de cloud | Autoalojado | |
|---|---|---|
| Coste mensual | 0 $ | ~8-20 $ de VPS más nivel gratuito de Cloudflare, unos 10-25 $ en total |
| Tú gestionas | Nada | Un VPS (notas de precios en mi review de Hetzner Cloud) |
| Límites | Se aplican los topes del nivel gratuito | Tu hardware |
El autoalojamiento se vuelve rentable cuando superas los límites del nivel gratuito o necesitas las cifras de latencia del benchmark de arriba.
¿El autoalojamiento afecta al rendimiento de la sincronización en tiempo real?
El mecanismo de sincronización es el mismo en ambos despliegues. Lo que midió este benchmark es el rendimiento de petición/respuesta HTTP, que afecta a:
- Cargas iniciales de página
- Obtención de datos
- Llamadas a funciones
Las actualizaciones en tiempo real basadas en WebSocket no se midieron aquí. Esperaría que se beneficiaran de la misma proximidad geográfica, pero eso es una inferencia, no una medición.
¿El backend de Convex es ahora oficialmente de código abierto?
Sí. Convex liberó el código de su backend (get-convex/convex-backend en GitHub), y por eso el autoalojamiento tiene ahora una vía oficial y por eso mi guía de configuración existe en su forma actual. Para los detalles más recientes de licencia y soporte, consulta el README del repositorio y la documentación de Convex directamente, ya que es donde los cambios aparecen primero.


