Rendimiento IPFS: Acelera la Recuperación con Gateways
Técnicas prácticas para mejorar la velocidad de recuperación de archivos IPFS: gateways dedicados, estrategias de caché, precarga e integración CDN.
Nacho founded IPFS.NINJA to make content-addressed storage feel as simple as an S3 PUT — a single API call, a permanent CID, no wallets or peer discovery to reason about.

- Cambia los gateways públicos por un gateway dedicado para reducir la latencia de IPFS de segundos a menos de 200 ms.
- Los gateways públicos ejecutan una búsqueda DHT en CIDs fríos, lo que añade entre 2 y 15 segundos antes de que el contenido resuelva.
- Fija los archivos en el momento de escritura, no de lectura, para que el gateway ya los tenga listos antes de la primera solicitud.
- Combina un gateway dedicado con un edge de CDN para bajar la latencia global de IPFS a entre 10 y 50 ms.
“IPFS es lento” es una de las quejas más comunes entre desarrolladores — y también una de las más solucionables. El culpable casi siempre es el método de acceso, no el protocolo en sí. Esta guía cubre cuatro técnicas que eliminan la latencia de IPFS en producción.

Elige tu método de acceso a IPFS por velocidad#
| Método de acceso | TTFB típico | Cuándo usarlo |
|---|---|---|
Gateway público (ipfs.io, dweb.link) | 2–15 s | Solo desarrollo y pruebas |
| Gateway dedicado (contenido anclado) | 50–200 ms | Todo el tráfico de producción |
| Gateway dedicado + CDN edge | 10–50 ms | Base de usuarios global |
| Endpoint de optimización de imágenes | <100 ms (caliente) | Todo el contenido de imágenes |
Si estás usando gateways públicos en producción, cambia a un gateway dedicado y la mayor parte de tu latencia desaparecerá de inmediato.
Por qué los gateways públicos son lentos#
Los gateways públicos realizan una búsqueda DHT (Distributed Hash Table) para cada CID que no han visto recientemente. La búsqueda DHT implica consultar docenas de peers a lo largo de la red para encontrar quién tiene el contenido — ese viaje de ida y vuelta tarda de 2 a 15 segundos en una solicitud en frío.
Incluso con un acierto de caché, los gateways públicos atienden a millones de usuarios. Tu archivo recién anclado tiene baja prioridad en caché y puede ser desalojado entre solicitudes.
Solución 1: Gateway dedicado#
Un gateway dedicado es privado para tu cuenta. Los archivos que anclas se almacenan en caché en ese gateway de inmediato — sin búsqueda DHT en ninguna solicitud, en frío o en caliente.
# Antes: gateway público, lento e impredecible
curl https://ipfs.io/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# Después: gateway dedicado, rápido y determinista
curl https://my-app.gw.ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiCrea un gateway en tu panel de IPFS.NINJA y establece el slug para que coincida con tu proyecto. Los slugs de gateway admiten modo de acceso restringido (se requiere token) o modo abierto para recursos estáticos públicos.
Solución 2: Ancla al escribir, no al leer#
Ancla los archivos en el momento en que se crean para que el gateway los tenga antes de que cualquier usuario los solicite. La solicitud más rápida es aquella que nunca provoca un fallo de caché.
# Sube y ancla en un solo paso
curl -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{
"content": {
"data": "BASE64_ENCODED_CONTENT",
"type": "image/png"
},
"description": "Product hero image v2"
}'
# Respuesta — guarda el CID, sirve la URL de inmediato
# {
# "cid": "bafy...",
# "sizeMB": 0.24,
# "uris": {
# "ipfs": "ipfs://bafy...",
# "url": "https://ipfs.ninja/ipfs/bafy..."
# }
# }Si tienes CIDs existentes de otro nodo o servicio de anclado, vuelve a anclar sin volver a subir:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"}'Consulta cómo subir archivos a IPFS para la referencia completa de la API de subida.
Solución 3: CDN delante de tu gateway#
Los gateways dedicados sirven desde una región fija. Si tus usuarios abarcan continentes, añade una capa de CDN edge para servir desde el punto de presencia más cercano.
Como IPFS es direccionado por contenido — un CID dado siempre se resuelve en bytes idénticos — puedes almacenar en caché para siempre:
Cache-Control: public, max-age=31536000, immutableEjemplo con Cloudflare (el nivel gratuito cubre la mayoría de cargas de trabajo con recursos estáticos):
- Agrega el subdominio de tu gateway (
my-app.gw.ipfs.ninja) como un CNAME proxiado de Cloudflare. - Crea una regla de página:
my-app.gw.ipfs.ninja/ipfs/*→ Cache Everything, Edge Cache TTL: un mes. - La primera solicitud llega al gateway y se almacena en caché en el PoP edge más cercano. Todas las solicitudes posteriores se sirven desde Cloudflare.
Resultado: el TTFB global baja de 50–200 ms a 10–50 ms.
Solución 4: API de optimización de imágenes#
Las imágenes IPFS sin procesar servidas en resolución completa ralentizan las páginas y perjudican los Core Web Vitals. Usa el endpoint de optimización de imágenes para redimensionar en el edge y servir formatos modernos:
# Original (resolución completa vía gateway)
https://my-app.gw.ipfs.ninja/ipfs/bafy...
# Redimensionado a 800 px de ancho, convertido a WebP
https://api.ipfs.ninja/image/bafy...?w=800&format=webp
# Miniatura cuadrada
https://api.ipfs.ninja/image/bafy...?w=200&h=200&fit=coverEn React:
function IPFSImage({ cid, width }) {
return (
<img
src={`https://api.ipfs.ninja/image/${cid}?w=${width}&format=webp`}
width={width}
loading="lazy"
decoding="async"
/>
);
}El endpoint de optimización almacena en caché cada combinación de (cid, width, format) — las solicitudes posteriores con los mismos parámetros omiten el origen por completo.
Lista de verificación#
- Cambia de gateways públicos a un gateway dedicado
- Ancla el contenido al escribir (al subir), no al leer
- Establece
Cache-Control: immutableen las respuestas del gateway - Agrega CDN delante del gateway para el tráfico global
- Sirve imágenes a través del endpoint de optimización en lugar de URLs de gateway sin procesar
Para información sobre por qué el anclado importa para la disponibilidad — no solo para la velocidad — consulta qué es el anclado IPFS.
¿Listo para empezar a anclar? Crea una cuenta gratuita — 50 archivos, 1 GB de almacenamiento, 2 GB de ancho de banda/mes. No se requiere tarjeta de crédito.
Acerca de este artículo: Este artículo fue redactado por un asistente de IA utilizando el flujo de generación de contenido de IPFS.NINJA, y luego revisado y aprobado por Nacho Coll. Todos los ejemplos de código fueron verificados contra la API en vivo de IPFS.NINJA. Si detectas una inexactitud, abre un issue en https://github.com/ipfs-ninja/feedback. Lee más sobre cómo usamos la IA en nuestro contenido y conoce a las personas detrás de IPFS.NINJA.
Sobre este artículo
Este artículo fue asistido por IA, revisado por humanos y verificado en la plataforma real de IPFS.NINJA antes de su publicación. Descubre cómo usamos la IA en nuestro contenido .

Sobre el autor
Nacho Coll
Founder & Engineer at IPFS.NINJA
Nacho founded IPFS.NINJA to make content-addressed storage feel as simple as an S3 PUT — a single API call, a permanent CID, no wallets or peer discovery to reason about. Writes about IPFS internals, decentralized storage patterns, and the pinning-service landscape from the operator side of the wire.
