IPFS পারফরম্যান্স: ফাইল রিট্রিভাল ও gateway রেসপন্স দ্রুত করুন
IPFS ফাইল রিট্রিভাল দ্রুত করার ব্যবহারিক কৌশল: ডেডিকেটেড gateway, ক্যাশিং স্ট্র্যাটেজি, প্রিলোডিং এবং 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.

- IPFS লেটেন্সি সেকেন্ড থেকে ২০০ ms-এর নিচে নামিয়ে আনতে পাবলিক gateway-এর বদলে একটি ডেডিকেটেড gateway ব্যবহার করুন।
- পাবলিক gateway গুলো কোল্ড CID-এর ক্ষেত্রে একটি DHT lookup চালায়, যা কন্টেন্ট resolve হওয়ার আগে ২-১৫ সেকেন্ড যোগ করে।
- রাইট টাইমে ফাইল পিন করুন, রিড টাইমে নয়, যাতে প্রথম রিকোয়েস্টের আগেই gateway-এর কাছে সেগুলো থাকে।
- গ্লোবাল IPFS লেটেন্সি ১০-৫০ ms-এ নামিয়ে আনতে একটি ডেডিকেটেড gateway-কে CDN edge-এর সাথে জুড়ে দিন।
“IPFS ধীর” — এটি ডেভেলপারদের সবচেয়ে সাধারণ অভিযোগ এবং সবচেয়ে সহজে সমাধানযোগ্যও। সমস্যার কারণ প্রায় সবসময় অ্যাক্সেস পদ্ধতি, প্রোটোকল নয়। এই গাইডে চারটি কৌশল আলোচনা করা হয়েছে যা production-এ IPFS লেটেন্সি দূর করে।

গতি অনুযায়ী IPFS অ্যাক্সেস পদ্ধতি বেছে নিন#
| অ্যাক্সেস পদ্ধতি | সাধারণ TTFB | কখন ব্যবহার করবেন |
|---|---|---|
পাবলিক gateway (ipfs.io, dweb.link) | ২–১৫ সেকেন্ড | শুধুমাত্র ডেভেলপমেন্ট ও টেস্টিং |
| Dedicated gateway (pinned কন্টেন্ট) | ৫০–২০০ মিলিসেকেন্ড | সমস্ত production ট্রাফিক |
| Dedicated gateway + CDN edge | ১০–৫০ মিলিসেকেন্ড | গ্লোবাল ইউজার বেস |
| ইমেজ অপ্টিমাইজেশন endpoint | <১০০ মিলিসেকেন্ড (warm) | সমস্ত ইমেজ কন্টেন্ট |
যদি আপনি production-এ পাবলিক gateway ব্যবহার করেন, dedicated gateway-তে স্যুইচ করুন — বেশিরভাগ লেটেন্সি তাৎক্ষণিকভাবে চলে যাবে।
পাবলিক gateway কেন ধীর#
পাবলিক gateway প্রতিটি CID-এর জন্য DHT (Distributed Hash Table) লুকআপ করে যদি সেটি সাম্প্রতিক ক্যাশে না থাকে। DHT লুকআপ মানে নেটওয়ার্কে ডজনখানেক peer-কে কোয়েরি করা — এই রাউন্ড-ট্রিপ একটি cold রিকোয়েস্টে ২–১৫ সেকেন্ড সময় নেয়।
ক্যাশ হিটেও পাবলিক gateway লক্ষ লক্ষ ব্যবহারকারীকে সেবা দেয়। আপনার সদ্য pinned ফাইলের ক্যাশ প্রায়রিটি কম এবং রিকোয়েস্টের মাঝে evict হয়ে যেতে পারে।
সমাধান ১: Dedicated Gateway#
Dedicated gateway আপনার অ্যাকাউন্টের জন্য প্রাইভেট। আপনার pin করা ফাইলগুলি সঙ্গে সঙ্গে সেই gateway-তে ক্যাশ হয় — cold বা warm যেকোনো রিকোয়েস্টে কোনো DHT লুকআপ নেই।
# আগে: পাবলিক gateway, ধীর ও অনির্ভরযোগ্য
curl https://ipfs.io/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# পরে: dedicated gateway, দ্রুত ও নির্ধারণযোগ্য
curl https://my-app.gw.ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiআপনার IPFS.NINJA ড্যাশবোর্ড-এ একটি gateway তৈরি করুন এবং slug আপনার প্রজেক্টের সাথে মিলিয়ে সেট করুন। Gateway slug সীমাবদ্ধ অ্যাক্সেস মোড (টোকেন প্রয়োজন) বা পাবলিক স্ট্যাটিক অ্যাসেটের জন্য ওপেন মোড সমর্থন করে।
সমাধান ২: রিড টাইমে নয়, রাইট টাইমে Pin করুন#
ফাইল তৈরির সাথে সাথেই pin করুন যাতে কোনো ইউজার রিকোয়েস্ট করার আগেই gateway-তে থাকে। সবচেয়ে দ্রুত রিকোয়েস্ট সেটি যা কখনো cache miss ঘটায় না।
# একধাপে আপলোড ও pin
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"
}'
# রেসপন্স — CID সংরক্ষণ করুন, তাৎক্ষণিকভাবে url সার্ভ করুন
# {
# "cid": "bafy...",
# "sizeMB": 0.24,
# "uris": {
# "ipfs": "ipfs://bafy...",
# "url": "https://ipfs.ninja/ipfs/bafy..."
# }
# }অন্য নোড বা pinning সার্ভিস থেকে বিদ্যমান CID থাকলে, পুনরায় আপলোড না করে re-pin করুন:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"}'সম্পূর্ণ upload API রেফারেন্সের জন্য দেখুন IPFS-এ ফাইল আপলোড করবেন কীভাবে।
সমাধান ৩: Gateway-এর সামনে CDN#
Dedicated gateway নির্দিষ্ট একটি অঞ্চল থেকে সার্ভ করে। যদি আপনার ইউজার বিভিন্ন মহাদেশে ছড়িয়ে থাকে, নিকটতম point of presence থেকে সার্ভ করতে CDN edge লেয়ার যোগ করুন।
IPFS content-addressed হওয়ায় — একটি CID সবসময় একই বাইটে রিজলভ হয় — আপনি চিরকালের জন্য ক্যাশ করতে পারেন:
Cache-Control: public, max-age=31536000, immutableCloudflare উদাহরণ (বিনামূল্যের টিয়ার বেশিরভাগ স্ট্যাটিক-অ্যাসেট workload কভার করে):
- আপনার gateway সাবডোমেইন (
my-app.gw.ipfs.ninja) Cloudflare proxied CNAME হিসেবে যোগ করুন। - একটি Page Rule তৈরি করুন:
my-app.gw.ipfs.ninja/ipfs/*→ Cache Everything, Edge Cache TTL: a month। - প্রথম রিকোয়েস্ট gateway-এ পৌঁছায় এবং নিকটতম edge PoP-এ ক্যাশ হয়। পরবর্তী সমস্ত রিকোয়েস্ট Cloudflare থেকে সার্ভ হয়।
ফলাফল: গ্লোবাল TTFB ৫০–২০০ মিলিসেকেন্ড থেকে ১০–৫০ মিলিসেকেন্ডে নামে।
সমাধান ৪: ইমেজ অপ্টিমাইজেশন API#
পূর্ণ রেজোলিউশনে সার্ভ করা raw IPFS ইমেজ পেজ ধীর করে এবং Core Web Vitals ক্ষতিগ্রস্ত করে। edge-এ resize করতে এবং আধুনিক ফরম্যাটে সার্ভ করতে ইমেজ অপ্টিমাইজেশন endpoint ব্যবহার করুন:
# অরিজিনাল (gateway-এর মাধ্যমে পূর্ণ রেজোলিউশন)
https://my-app.gw.ipfs.ninja/ipfs/bafy...
# ৮০০ পিক্সেল প্রস্থে resize, WebP-তে রূপান্তর
https://api.ipfs.ninja/image/bafy...?w=800&format=webp
# স্কোয়ার থাম্বনেইল
https://api.ipfs.ninja/image/bafy...?w=200&h=200&fit=coverReact-এ:
function IPFSImage({ cid, width }) {
return (
<img
src={`https://api.ipfs.ninja/image/${cid}?w=${width}&format=webp`}
width={width}
loading="lazy"
decoding="async"
/>
);
}অপ্টিমাইজেশন endpoint প্রতিটি (cid, width, format) কম্বিনেশন ক্যাশ করে — একই প্যারামিটারের পরবর্তী রিকোয়েস্ট origin-এ পৌঁছায় না।
চেকলিস্ট#
- পাবলিক gateway থেকে dedicated gateway-তে স্যুইচ করুন
- রিড টাইমে নয়, রাইট টাইমে (আপলোডে) কন্টেন্ট pin করুন
- Gateway রেসপন্সে
Cache-Control: immutableসেট করুন - গ্লোবাল ট্রাফিকের জন্য gateway-এর সামনে CDN যোগ করুন
- Raw gateway URL-এর বদলে অপ্টিমাইজেশন endpoint দিয়ে ইমেজ সার্ভ করুন
শুধু গতি নয়, প্রাপ্যতার জন্য কেন pinning গুরুত্বপূর্ণ তার পটভূমির জন্য দেখুন IPFS pinning কী।
Pin শুরু করতে প্রস্তুত? বিনামূল্যে অ্যাকাউন্ট তৈরি করুন — ৫০টি ফাইল, ১ GB স্টোরেজ, ২ GB ব্যান্ডউইথ/মাস। ক্রেডিট কার্ড প্রয়োজন নেই।
এই নিবন্ধ সম্পর্কে: এই নিবন্ধটি IPFS.NINJA-র কন্টেন্ট জেনারেশন ওয়ার্কফ্লো ব্যবহার করে একটি AI অ্যাসিস্ট্যান্ট দ্বারা ড্রাফট করা হয়েছে, তারপর Nacho Coll দ্বারা পর্যালোচনা ও অনুমোদিত হয়েছে। সমস্ত কোড উদাহরণ লাইভ IPFS.NINJA API-এর বিপরীতে যাচাই করা হয়েছে। যদি কোনো অসংগতি খুঁজে পান, অনুগ্রহ করে https://github.com/ipfs-ninja/feedback-এ একটি issue খুলুন। আমরা কীভাবে আমাদের কন্টেন্টে AI ব্যবহার করি সে সম্পর্কে আরও পড়ুন এবং IPFS.NINJA-র পিছনের মানুষদের সাথে পরিচিত হন।
এই নিবন্ধ সম্পর্কে
এই নিবন্ধটি AI-এর সহায়তায় তৈরি, মানুষ দ্বারা পর্যালোচিত এবং প্রকাশের আগে লাইভ IPFS.NINJA প্ল্যাটফর্মে যাচাই করা হয়েছে। আমরা কীভাবে কনটেন্টে AI ব্যবহার করি জানুন .

লেখক সম্পর্কে
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.
