IPFS jõudlus: kiirendage failide pärimist gateway'ga
Praktilised tehnikad IPFS-i failipärimise kiiruse parandamiseks: dedikeeritud gateway-d, vahemällu salvestamine, eellaadimine ja CDN-integratsioon.
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.

- Vaheta avalikud gateway'd dedikeeritud gateway vastu, et vähendada IPFS-i latentsust sekunditelt alla 200 ms.
- Avalikud gateway'd teevad külmade CID-ide puhul DHT otsingu, mis lisab 2–15 sekundit enne sisu lahendumist.
- Pin-i failid kirjutamise ajal, mitte lugemise ajal, et gateway'l oleks need juba olemas enne esimest päringut.
- Kombineeri dedikeeritud gateway CDN edge'iga, et vähendada globaalset IPFS-i latentsust 10–50 ms-ni.
„IPFS on aeglane” on üks levinumaid arendajate kaebusi — ja ka üks kõige paremini lahendatavaid. Süüdlane on peaaegu alati juurdepääsumeetod, mitte protokoll ise. See juhend käsitleb nelja tehnikat, mis kõrvaldavad IPFS-i latentsuse tootmiskeskkonnas.

Valige oma IPFS-i juurdepääsumeetod kiiruse järgi#
| Juurdepääsumeetod | Tüüpiline TTFB | Millal kasutada |
|---|---|---|
Avalik gateway (ipfs.io, dweb.link) | 2–15 s | Ainult arendus ja testimine |
| Dedikeeritud gateway (pinnitud sisu) | 50–200 ms | Kogu tootmisliiklus |
| Dedikeeritud gateway + CDN edge | 10–50 ms | Globaalne kasutajabaas |
| Pildioptimeerimise endpoint | <100 ms (soe) | Kogu pildisisu |
Kui kasutate tootmiskeskkonnas avalikke gateway-sid, minge üle dedikeeritud gateway-le ja enamik latentsusest kaob kohe.
Miks on avalikud gateway-d aeglased#
Avalikud gateway-d teevad DHT (Distributed Hash Table) otsingu iga CID-i jaoks, mida nad pole hiljuti näinud. DHT otsing tähendab kümnete eakaaslaste pärimist üle võrgu, et leida sisu hoidja — see edasi-tagasi sõit võtab külmal päringul 2–15 sekundit.
Isegi vahemälu tabamuse korral teenindavad avalikud gateway-d miljoneid kasutajaid. Teie äsja pinnitud failil on madal vahemälu prioriteet ja see võib päringute vahel kustutada.
Lahendus 1: Dedikeeritud gateway#
Dedikeeritud gateway on privaatne teie kontole. Teie poolt pinnitud failid salvestatakse sellele gateway-le kohe vahemällu — DHT otsingutt ei toimu ühegi päringu, olgu see külm või soe, puhul.
# Enne: avalik gateway, aeglane ja ebausaldusvääsrne
curl https://ipfs.io/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# Pärast: dedikeeritud gateway, kiire ja deterministlik
curl https://my-app.gw.ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiLooge gateway oma IPFS.NINJA armatuurlaual ja seadke slug oma projekti nimele vastavaks. Gateway slugid toetavad piiratud juurdepääsu režiimi (nõutav token) või avalikku režiimi avalike staatiliste varade jaoks.
Lahendus 2: Pinni kirjutamise ajal, mitte lugemise ajal#
Pinni failid kohe nende loomise hetkel, et gateway-l oleksid need enne kasutajate päringuid. Kiireim päring on see, mis ei põhjusta vahemälu puudujääki.
# Laadige üles ja pinnige ühe sammuga
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"
}'
# Vastus — salvestage CID, teenindage url kohe
# {
# "cid": "bafy...",
# "sizeMB": 0.24,
# "uris": {
# "ipfs": "ipfs://bafy...",
# "url": "https://ipfs.ninja/ipfs/bafy..."
# }
# }Kui teil on olemasolevad CID-id teisest sõlmest või pinnimise teenusest, pinnige uuesti ilma uuesti üles laadimata:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"}'Vaadake kuidas laadida faile IPFS-i täieliku üleslaadimise API viite jaoks.
Lahendus 3: CDN teie gateway ees#
Dedikeeritud gateway-d teenindavad kindlast piirkonnast. Kui teie kasutajad asuvad eri mandritel, lisage CDN edge kiht, et teenindada lähimast kohalolekupunktist.
Kuna IPFS kasutab sisuaadressi — antud CID lahendub alati identseteks baitideks — saate vahemällu salvestada igaveseks:
Cache-Control: public, max-age=31536000, immutableCloudflare näide (tasuta tase katab enamiku staatiliste varade koormust):
- Lisage oma gateway alamdomeen (
my-app.gw.ipfs.ninja) Cloudflare’i puhverserveri CNAME-ina. - Looge lehereegel:
my-app.gw.ipfs.ninja/ipfs/*→ Cache Everything, Edge Cache TTL: a month. - Esimene päring tabab gateway-d ja salvestatakse lähima edge PoP-i vahemällu. Kõik järgnevad päringud teenindatakse Cloudflare’ist.
Tulemus: globaalne TTFB langeb 50–200 ms-lt 10–50 ms-le.
Lahendus 4: Pildioptimeerimise API#
Täisresolutsioonis töötlemata IPFS-i pildid aeglustavad lehti ja kahjustavad Core Web Vitals’i. Kasutage pildioptimeerimise endpointi suuruse muutmiseks edge’il ja kaasaegsete formaatide teenindamiseks:
# Originaal (täisresolutsioon gateway kaudu)
https://my-app.gw.ipfs.ninja/ipfs/bafy...
# Muudetud suurus 800 px laiuseks, teisendatud WebP-ks
https://api.ipfs.ninja/image/bafy...?w=800&format=webp
# Ruudukujuline pisipilt
https://api.ipfs.ninja/image/bafy...?w=200&h=200&fit=coverReactis:
function IPFSImage({ cid, width }) {
return (
<img
src={`https://api.ipfs.ninja/image/${cid}?w=${width}&format=webp`}
width={width}
loading="lazy"
decoding="async"
/>
);
}Optimeerimise endpoint salvestab vahemällu iga (cid, width, format) kombinatsiooni — järgnevad päringud samade parameetritega jätavad algallika täielikult vahele.
Kontrollnimekiri#
- Vahetage avalikud gateway-d dedikeeritud gateway vastu
- Pinnige sisu kirjutamise ajal (üleslaadimisel), mitte lugemise ajal
- Seadke gateway vastustele
Cache-Control: immutable - Lisage globaalse liikluse jaoks gateway ette CDN
- Teenindage pilte optimeerimise endpointi kaudu, mitte töötlemata gateway URL-ide kaudu
Taustateabe saamiseks, miks pinnimine on oluline kättesaadavuse — mitte ainult kiiruse — seisukohast, vaadake mis on IPFS pinnimine.
Valmis pinnimist alustama? Looge tasuta konto — 50 faili, 1 GB salvestusruumi, 2 GB ribalaiust kuus. Krediitkaarti pole vaja.
Selle artikli kohta: see artikkel koostati AI assistendi abil, kasutades IPFS.NINJA sisu genereerimise töövoogu, seejärel vaatas selle üle ja kiitis heaks Nacho Coll. Kõik koodinäited kontrolliti IPFS.NINJA live API vastu. Kui märkate ebatäpsust, avage küsimus aadressil https://github.com/ipfs-ninja/feedback. Lugege lisateavet kuidas me kasutame AI-d oma sisus ja tutvuge IPFS.NINJA inimestega.
Selle artikli kohta
See artikkel loodi tehisintellekti abiga, inimese poolt üle vaadatud ja enne avaldamist kontrollitud IPFS.NINJA platvormil. Loe, kuidas me tehisintellekti oma sisus kasutame .

Autorist
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.
