IPFS performanse: ubrzajte preuzimanje s gateway-em
Praktične tehnike za poboljšanje brzine preuzimanja IPFS fajlova: namenski gatewayi, strategije kešovanja, predučitavanje i CDN integracija.
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.

- Zamenite javne gateway-e namenskim gateway-em da smanjite IPFS latenciju sa sekundi na manje od 200 ms.
- Javni gateway-i izvršavaju DHT pretragu na hladnim CID-ovima, dodajući 2–15 sekundi pre nego što se sadržaj razreši.
- Pinujte fajlove u trenutku pisanja, a ne čitanja, tako da ih gateway već poseduje pre prvog zahteva.
- Kombinujte namenski gateway sa CDN edge-om da smanjite globalnu IPFS latenciju na 10–50 ms.
“IPFS je spor” jedna je od najčešćih pritužbi programera — i ujedno jedna od najlakše rešivih. Krivac je gotovo uvek metod pristupa, a ne sam protokol. Ovaj vodič pokriva četiri tehnike koje eliminišu IPFS latenciju u produkciji.

Izaberite IPFS metod pristupa po brzini#
| Metod pristupa | Tipičan TTFB | Kada koristiti |
|---|---|---|
Javni gateway (ipfs.io, dweb.link) | 2–15 s | Samo razvoj i testiranje |
| Namenski gateway (pinovan sadržaj) | 50–200 ms | Sav produkcioni saobraćaj |
| Namenski gateway + CDN edge | 10–50 ms | Globalna baza korisnika |
| Endpoint za optimizaciju slika | <100 ms (toplo) | Sav sadržaj sa slikama |
Ako koristite javne gatewaye u produkciji, pređite na namenski gateway i većina latencije odmah nestaje.
Zašto su javni gatewayi spori#
Javni gatewayi izvršavaju DHT (Distributed Hash Table) pretragu za svaki CID koji nisu nedavno videli. DHT pretraga znači upitivanje desetina peera širom mreže da se pronađe ko drži sadržaj — taj krug traje 2–15 sekundi na hladnom zahtevu.
Čak i na pogodak keša, javni gatewayi opslužuju milione korisnika. Vaš nedavno pinovani fajl ima niski prioritet keša i može biti izbačen između zahteva.
Rešenje 1: Namenski gateway#
Namenski gateway je privatan za vaš nalog. Fajlovi koje pinujete odmah se keširaju na tom gatewayu — bez DHT pretrage ni na jednom zahtevu, hladnom ili toplom.
# Pre: javni gateway, spor i nepouzdan
curl https://ipfs.io/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# Posle: namenski gateway, brz i predvidljiv
curl https://my-app.gw.ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiKreirajte gateway u vašem IPFS.NINJA dashboard-u i postavite slug da odgovara vašem projektu. Gateway slugovi podržavaju restricted access mode (potreban token) ili open mode za javne statičke resurse.
Rešenje 2: Pinujte pri pisanju, ne pri čitanju#
Pinujte fajlove u trenutku kada se kreiraju kako bi gateway imao sadržaj pre nego što ga bilo koji korisnik zatraži. Najbrži zahtev je onaj koji nikada ne izaziva promašaj keša.
# Upload i pinovanje u jednom koraku
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"
}'
# Odgovor — sačuvajte CID, odmah servirajte url
# {
# "cid": "bafy...",
# "sizeMB": 0.24,
# "uris": {
# "ipfs": "ipfs://bafy...",
# "url": "https://ipfs.ninja/ipfs/bafy..."
# }
# }Ako imate postojeće CID-ove sa drugog čvora ili servisa za pinovanje, ponovo pinovajte bez ponovnog uploada:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"}'Pogledajte kako da uploadujete fajlove na IPFS za kompletan API referentni vodič.
Rešenje 3: CDN ispred vašeg gatewayi#
Namenski gatewayi serviraju iz fiksnog regiona. Ako su vaši korisnici raspoređeni po kontinentima, dodajte CDN edge sloj da servirate iz najbliže tačke prisustva.
Budući da je IPFS content-addressed — dati CID uvek razrešava na identične bajtove — možete keširati zauvek:
Cache-Control: public, max-age=31536000, immutablePrimer sa Cloudflare-om (besplatni nivo pokriva većinu radnih opterećenja sa statičkim resursima):
- Dodajte subdomenu vašeg gatewayi (
my-app.gw.ipfs.ninja) kao Cloudflare proxied CNAME. - Kreirajte Page Rule:
my-app.gw.ipfs.ninja/ipfs/*→ Cache Everything, Edge Cache TTL: mesec dana. - Prvi zahtev pogađa gateway i keširaju se na najbližem edge PoP-u. Svi naredni zahtevi serviraju se sa Cloudflare-a.
Rezultat: globalni TTFB pada sa 50–200 ms na 10–50 ms.
Rešenje 4: API za optimizaciju slika#
Sirove IPFS slike serviran u punoj rezoluciji usporavaju stranice i štete Core Web Vitals metrici. Koristite endpoint za optimizaciju slika da biste promenili veličinu na edge-u i servirali moderne formate:
# Original (puna rezolucija putem gatewayi)
https://my-app.gw.ipfs.ninja/ipfs/bafy...
# Promenjeno na 800 px širine, konvertovano u WebP
https://api.ipfs.ninja/image/bafy...?w=800&format=webp
# Kvadratna minijatura
https://api.ipfs.ninja/image/bafy...?w=200&h=200&fit=coverU React-u:
function IPFSImage({ cid, width }) {
return (
<img
src={`https://api.ipfs.ninja/image/${cid}?w=${width}&format=webp`}
width={width}
loading="lazy"
decoding="async"
/>
);
}Endpoint za optimizaciju keširа svaku kombinaciju (cid, width, format) — naredni zahtevi sa istim parametrima u potpunosti preskačу origin.
Kontrolna lista#
- Pređite sa javnih gatewayi na namenski gateway
- Pinujte sadržaj pri pisanju (tokom uploada), ne pri čitanju
- Postavite
Cache-Control: immutablena odgovore gatewayi - Dodajte CDN ispred gatewayi za globalni saobraćaj
- Servirajte slike putem endpointa za optimizaciju umesto sirovih URL-ova gatewayi
Za pozadinu o tome zašto je pinovanje važno za dostupnost — ne samo brzinu — pogledajte šta je IPFS pinovanje.
Spremni da počnete sa pinovanjem? Kreirajte besplatan nalog — 50 fajlova, 1 GB storage, 2 GB propusnost/mesec. Nije potrebna kreditna kartica.
O ovom članku: Ovaj članak je kreiran uz pomoć AI asistenta koristeći IPFS.NINJA workflow za generisanje sadržaja, a zatim pregledao i odobrio Nacho Coll. Svi primeri koda su provereni na živom IPFS.NINJA API-ju. Ako primetite netačnost, molimo vas otvorite issue na https://github.com/ipfs-ninja/feedback. Saznajte više o tome kako koristimo AI u našem sadržaju i upoznajte ljude iza IPFS.NINJA.
О овом чланку
Овај чланак је написан уз помоћ вештачке интелигенције, проверен од стране човека и потврђен на живој IPFS.NINJA платформи пре објављивања. Сазнајте како користимо АИ у нашем садржају .

О аутору
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.
