IPFS-ytelse: Raskere filhenting med dedikert gateway
Praktiske teknikker for å forbedre IPFS-filhentingshastighet: dedikerte gateways, caching-strategier, forhåndsinnlasting og CDN-integrasjon.
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.

- Bytt offentlige gateways ut med en dedikert gateway for å kutte IPFS-latens fra sekunder til under 200 ms.
- Offentlige gateways kjører et DHT-oppslag på kalde CID-er, noe som legger til 2–15 sekunder før innholdet løses opp.
- Pinn filer ved skrivetidspunktet, ikke ved lesetidspunktet, slik at gatewayen allerede har dem før den første forespørselen.
- Kombiner en dedikert gateway med en CDN-kant for å redusere global IPFS-latens til 10–50 ms.
«IPFS er tregt» er en av de vanligste klagene fra utviklere — og også en av de mest løsbare. Synderen er nesten alltid tilgangsmetoden, ikke protokollen i seg selv. Denne guiden dekker fire teknikker som eliminerer IPFS-latens i produksjon.

Hurtigreferanse: IPFS-tilgangsmetoder etter hastighet#
| Tilgangsmetode | Typisk TTFB | Når du skal bruke den |
|---|---|---|
Offentlig gateway (ipfs.io, dweb.link) | 2–15 s | Kun utvikling og testing |
| Dedikert gateway (pinnet innhold) | 50–200 ms | All produksjonstrafikk |
| Dedikert gateway + CDN-kant | 10–50 ms | Global brukerbase |
| Bildeoptimaliseringsendepunkt | <100 ms (varm) | Alt bildeinnhold |
Hvis du bruker offentlige gateways i produksjon, bytt til en dedikert gateway og det meste av latensen forsvinner umiddelbart.
Hvorfor offentlige gateways er trege#
Offentlige gateways utfører et DHT-oppslag (Distributed Hash Table) på hvert CID de ikke nylig har sett. DHT-oppslag betyr å spørre dusinvis av noder på tvers av nettverket for å finne hvem som holder innholdet — denne tur-retur-reisen tar 2–15 sekunder på en kald forespørsel.
Selv ved cache-treff betjener offentlige gateways millioner av brukere. Filen du nylig pinnet har lav cacheprioritet og kan bli fjernet mellom forespørsler.
Løsning 1: Dedikert gateway#
En dedikert gateway er privat for kontoen din. Filer du pinner caches på den gatewayen umiddelbart — ingen DHT-oppslag på noen forespørsel, kald eller varm.
# Før: offentlig gateway, treg og upålitelig
curl https://ipfs.io/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# Etter: dedikert gateway, rask og deterministisk
curl https://my-app.gw.ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiOpprett en gateway i IPFS.NINJA-dashbordet ditt og sett slug til å matche prosjektet ditt. Gateway-slugs støtter begrenset tilgangsmodus (token kreves) eller åpen modus for offentlige statiske ressurser.
Løsning 2: Pin ved skrivetidspunkt, ikke lesetidspunkt#
Pin filer i det øyeblikket de opprettes slik at gatewayen har dem før noen bruker ber om dem. Den raskeste forespørselen er den som aldri forårsaker en cache-miss.
# Last opp og pin i ett steg
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"
}'
# Svar — lagre CID-en, server url-en umiddelbart
# {
# "cid": "bafy...",
# "sizeMB": 0.24,
# "uris": {
# "ipfs": "ipfs://bafy...",
# "url": "https://ipfs.ninja/ipfs/bafy..."
# }
# }Hvis du har eksisterende CID-er fra en annen node eller pinningstjeneste, re-pin uten å laste opp på nytt:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"}'Se hvordan laste opp filer til IPFS for fullstendig API-referanse for opplasting.
Løsning 3: CDN foran gatewayen din#
Dedikerte gateways betjener fra en fast region. Hvis brukerne dine er spredt over kontinenter, legg til et CDN-kantlag for å betjene fra nærmeste tilstedeværelsespunkt.
Fordi IPFS er innholdsadressert — et gitt CID løses alltid til identiske byte — kan du cache for alltid:
Cache-Control: public, max-age=31536000, immutableCloudflare-eksempel (gratisplanen dekker de fleste statiske ressursarbeidsbelastninger):
- Legg til gateway-subdomenet ditt (
my-app.gw.ipfs.ninja) som en Cloudflare-proxied CNAME. - Opprett en Page Rule:
my-app.gw.ipfs.ninja/ipfs/*→ Cache Everything, Edge Cache TTL: en måned. - Den første forespørselen treffer gatewayen og caches på nærmeste kant-PoP. Alle etterfølgende forespørsler betjenes fra Cloudflare.
Resultat: global TTFB synker fra 50–200 ms til 10–50 ms.
Løsning 4: Bildeoptimaliserings-API#
Rå IPFS-bilder servert i full oppløsning bremser sider og skader Core Web Vitals. Bruk bildeoptimaliseringsendepunktet for å endre størrelse ved kanten og servere moderne formater:
# Original (full oppløsning via gateway)
https://my-app.gw.ipfs.ninja/ipfs/bafy...
# Endret størrelse til 800 px bred, konvertert til WebP
https://api.ipfs.ninja/image/bafy...?w=800&format=webp
# Kvadratisk miniatyrbilde
https://api.ipfs.ninja/image/bafy...?w=200&h=200&fit=coverI React:
function IPFSImage({ cid, width }) {
return (
<img
src={`https://api.ipfs.ninja/image/${cid}?w=${width}&format=webp`}
width={width}
loading="lazy"
decoding="async"
/>
);
}Optimeringsendepunktet cacher hver (cid, width, format)-kombinasjon — etterfølgende forespørsler med de samme parameterne hopper over origo fullstendig.
Sjekkliste#
- Bytt fra offentlige gateways til en dedikert gateway
- Pin innhold ved skrivetidspunkt (ved opplasting), ikke ved lesetidspunkt
- Sett
Cache-Control: immutablepå gateway-svar - Legg til CDN foran gatewayen for global trafikk
- Server bilder via optimeringsendepunktet i stedet for rå gateway-URLer
For bakgrunn om hvorfor pinning er viktig for tilgjengelighet — ikke bare hastighet — se hva er IPFS pinning.
Klar til å begynne å pinne? Opprett en gratis konto — 50 filer, 1 GB lagring, 2 GB båndbredde/mnd. Ingen kredittkort kreves.
Om denne artikkelen: Denne artikkelen ble utarbeidet av en AI-assistent ved hjelp av IPFS.NINJAs innholdsgenereringsarbeidsflyt, deretter gjennomgått og godkjent av Nacho Coll. Alle kodeeksempler ble verifisert mot det aktive IPFS.NINJA API-et. Hvis du oppdager en unøyaktighet, vennligst åpne en sak på https://github.com/ipfs-ninja/feedback. Les mer om hvordan vi bruker AI i innholdet vårt og møt menneskene bak IPFS.NINJA.
Ofte stilte spørsmål
Gjør en dedikert IPFS-gateway filhenting raskere?
Hvordan skiller IPFS-gateway-ytelse seg fra en tradisjonell CDN?
Hvilke faktorer begrenser hastigheten på IPFS-filhenting?
Kan jeg bruke IPFS.NINJA for å gjøre gateway-responstiden raskere for store filer?
Om denne artikkelen
Denne artikkelen er AI-assistert, gjennomgått av mennesker og produktverifisert mot den live IPFS.NINJA-plattformen før publisering. Se hvordan vi bruker AI i innholdet vårt .

Om forfatteren
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.
