گائیڈز

Rate Limiting کیا ہے؟ ایپ بنانے والوں کے لیے سادہ رہنما

Rate limiting ایک ایسا اصول ہے جو کسی سسٹم سے کوئی شخص ایک مقررہ وقت میں کتنی درخواستیں کر سکتا ہے، اس پر حد لگاتا ہے، مثلاً فی منٹ 5 لاگ اِن کوششیں، یا فی گھنٹہ 100 API کالز۔ حد پوری ہونے کے بعد مزید درخواستیں مسترد کر دی جاتی ہیں (عموماً خرابی کوڈ 429 Too Many Requests کے ساتھ) جب تک وقفہ دوبارہ شروع نہ ہو۔ یہ ایپس کو بدسلوکی سے بچاتا ہے، ایک بھاری صارف کو سب کے لیے سست ہونے سے روکتا ہے، اور بے قابو اخراجات کو روکتا ہے۔

آپ کا اس سے دو طرف سے واسطہ پڑتا ہے: وہ سروسز جنہیں آپ کال کرتے ہیں آپ کو محدود کرتی ہیں، اور آپ کی اپنی ایپ کو اپنے صارفین کو محدود کرنا چاہیے۔

AI کے ساتھ بناتے وقت rate limiting کیوں اہم ہے

AI سے بنی ایپس اکثر ایسی ادائیگی والی سروسز سے جڑتی ہیں جیسے AI ماڈلز، ای میل، SMS، نقشے، اور ہر کال پر پیسہ خرچ ہوتا ہے۔ اس لیے rate limiting سیکیورٹی کا فیچر بھی ہے اور بجٹ کا بھی۔

  • لاگت پر قابو۔ اگر آپ کی ایپ میں "AI سے پوچھیں" باکس ہے اور کوئی حد نہیں، تو ایک بوٹ رات بھر میں ہزاروں درخواستیں بھیج سکتا ہے۔ ہر ایک کا پیسہ آپ دیتے ہیں۔
  • سیکیورٹی۔ لاگ اِن فارم پر حد نہ ہو تو حملہ آور کسی اکاؤنٹ کے لیے ہزاروں پاس ورڈ آزما سکتا ہے۔ فی منٹ چند کوششوں کی حد اسے ناقابلِ عمل بنا دیتی ہے۔
  • آن لائن رہنا۔ ایک غلط برتاؤ کرنے والی اسکرپٹ، بعض اوقات آپ کا اپنا کوڈ جو لوپ میں پھنس جائے، آپ کے ڈیٹا بیس کو بوجھل کر کے ایپ بند کر سکتا ہے۔
  • دوسری سروسز کی حدوں کا احترام۔ جب آپ کی ایپ کسی بیرونی API کو بہت زیادہ کال کرتی ہے تو 429 خرابیاں آپ کو ملتی ہیں، اور آپ کے صارفین کے فیچرز ٹوٹ جاتے ہیں۔

AI بلڈرز وہی بنائیں گے جو آپ مانگیں۔ اگر آپ حدوں کا ذکر نہیں کرتے تو وہ اکثر چھوڑ دی جاتی ہیں۔

ایک روزمرہ کی مثال

کافی شاپ کی مفت ری فل پالیسی کا تصور کریں: "ہر گاہک کو ہر وزٹ پر ایک مفت ری فل۔"

  • یہ کسی کو کافی سے لطف اندوز ہونے سے نہیں روکتا۔
  • یہ کسی ایک شخص کو کاؤنٹر پر پورا دن کھڑے ہو کر پورے دفتر کے لیے فلاسک بھرنے سے روکتا ہے۔
  • جب کوئی چوتھی ری فل مانگتا ہے تو بیریسٹا شائستگی سے کہتا ہے "ابھی نہیں" — یہی وہ 429 ہے۔

ایک اچھی rate limit عام گاہکوں کو نظر نہیں آتی اور صرف کسی غیر معمولی کام کرنے والے کو محسوس ہوتی ہے۔

rate limiting کیسے کام کرتا ہے

Rate limiter کو تین چیزیں درکار ہیں:

حصہکس سوال کا جواب دیتا ہےمثالیں
کونکس کی درخواستیں گنی جا رہی ہیں؟صارف اکاؤنٹ فی، IP پتہ فی، API کلید فی
کتنیحد کیا ہے؟5، 60، 1,000 درخواستیں
کس وقت کے اندرکس وقفے میں؟فی سیکنڈ، منٹ، گھنٹہ، دن

جب درخواست آتی ہے تو ایپ اس "کون" کی گنتی دیکھتی ہے۔ حد کے اندر: درخواست آگے جاتی ہے اور گنتی بڑھتی ہے۔ حد سے باہر: درخواست مسترد۔

گنتی کے کچھ عام طریقے یہ ہیں:

طریقہکیسے کام کرتا ہےتجارتی سمجھوتہ
فکسڈ ونڈوگنتی گھڑی کے مطابق دوبارہ شروع ہوتی ہے، مثلاً ہر منٹ کے شروع میںسادہ، مگر دو وقفوں کے جوڑ پر تیز پھٹن کی اجازت دیتا ہے
سلائیڈنگ ونڈوابھی سے پچھلے 60 سیکنڈ دیکھتا ہےہموار، مگر حساب میں قدرے زیادہ محنت
ٹوکن بکٹہر صارف کی ایک بالٹی ہے جو مستقل رفتار سے بھرتی ہے؛ ہر درخواست ایک ٹوکن لیتی ہےمختصر پھٹن کی اجازت دیتا ہے اور اوسط مستحکم رکھتا ہے

گنتیوں کو کسی تیز اور مشترکہ جگہ پر محفوظ ہونا چاہیے۔ ایک چھوٹے سرور پر یادداشت (memory) کام کر جاتی ہے۔ لیکن جب ایپ کئی مشینوں پر چلے تو گنتی عموماً Redis جیسے مشترکہ ذخیرے یا ڈیٹا بیس میں رکھی جاتی ہے، ورنہ ہر مشین اپنی گنتی کرے گی اور اصل حد کئی گنا بڑھ جائے گی۔

حد سے زیادہ درخواست کا جواب کیسا ہوتا ہے

جب کوئی درخواست حد سے زیادہ ہو تو ایک اچھی طرح بنی API یہ جواب دیتی ہے:

  • اسٹیٹس کوڈ 429 Too Many Requests۔
  • اکثر ایک Retry-After ہیڈر، جو بتاتا ہے کہ کتنے سیکنڈ انتظار کرنا ہے۔
  • کبھی کبھی ہیڈرز جو آپ کی حد اور اس وقفے میں باقی درخواستیں دکھاتے ہیں (نام فراہم کنندہ کے مطابق مختلف ہوتے ہیں)۔

آپ کی ایپ کو 429 پر انتظار کرکے بعد میں دوبارہ کوشش کرنی چاہیے، ترجیحاً exponential backoff کے ساتھ، یعنی ہر ناکام کوشش کے بعد کچھ زیادہ انتظار (1 سیکنڈ، پھر 2، پھر 4)، بجائے اس کے کہ سروس پر بار بار ہتھوڑے برسائے جائیں۔

ایک عملی مثال: AI رائٹنگ اسسٹنٹ

فرض کریں آپ نے ایک ایپ بنائی ہے جہاں صارفین متن چسپاں کرتے ہیں اور AI سے دوبارہ لکھوا لیتے ہیں۔

حد کے بغیر: کوئی اسکرپٹ رات بھر میں 20,000 درخواستیں بھیجتی ہے۔ آپ کا AI فراہم کنندہ کا بل بڑھ جاتا ہے، اور آپ کا اکاؤنٹ فراہم کنندہ کی اپنی rate limit تک پہنچ جاتا ہے، تو اصل صارفین کو صبح بھر خرابیاں نظر آتی ہیں۔

مناسب حدوں کے ساتھ:

  1. لاگ اِن صارف فی: مفت پلان پر فی گھنٹہ 30 دوبارہ لکھوائیاں، ادا شدہ پلان پر 300۔ حد سے زیادہ ہونے پر صارف کو نظر آتا ہے: "اس گھنٹے کی حد پوری ہو گئی ہے۔ 12 منٹ بعد دوبارہ کوشش کریں، یا اپ گریڈ کریں۔"
  2. سائن اپ فارم پر IP پتہ فی: فی گھنٹہ 5 سائن اپس، تاکہ بوٹس ہزاروں مفت اکاؤنٹ بنا کر فی صارف حد کو نہ توڑیں۔
  3. AI فراہم کنندہ کے ڈیش بورڈ میں خرچ کی حد، آخری دفاعی لکیر کے طور پر اگر باقی سب ناکام ہو جائے۔
  4. فراہم کنندہ کی حدوں کو سنبھالنا: اگر AI فراہم کنندہ 429 لوٹائے تو آپ کا سرور ایک یا دو بار انتظار کر کے دوبارہ کوشش کرتا ہے، پھر ایک دوستانہ پیغام دکھاتا ہے کہ "سسٹم مصروف ہے، دوبارہ کوشش کریں۔"

حدیں سرور پر جانچی جاتی ہیں۔ ایسی حد جو صرف براؤزر میں ہو، مثلاً 30 کلک کے بعد بٹن غیر فعال کرنا، کوئی بھی شخص آپ کی API کو براہِ راست کال کر کے نظرانداز کر سکتا ہے۔

اہم اصطلاحات

اصطلاحمطلب
Rate limitایک وقفے میں درخواستوں کی زیادہ سے زیادہ تعداد۔
کوٹہزیادہ بڑی گنجائش، اکثر روزانہ یا ماہانہ، کبھی ادا شدہ پلان سے منسلک۔
429"بہت زیادہ درخواستیں" کے لیے HTTP اسٹیٹس کوڈ۔
Retry-Afterجواب کا ہیڈر جو بتاتا ہے کہ دوبارہ کوشش سے پہلے کتنا انتظار کرنا ہے۔
Throttlingحد سے زیادہ درخواستوں کو سست کرنا یا انکار کرنا۔ اکثر اسی کے مترادف استعمال ہوتا ہے۔
Exponential backoffدوبارہ کوششوں کے درمیان بتدریج زیادہ انتظار۔
Burstایک ساتھ بہت سی درخواستوں کا مختصر اضافہ۔
Brute-force حملہپاس ورڈ یا کوڈ کی بہت بڑی تعداد آزمانا، جب تک ایک درست نہ ہو جائے۔

عام غلط فہمیاں

  • "Rate limiting صرف بڑی ایپس کے لیے ہے۔" چھوٹی ایپس بھی ہدف ہوتی ہیں، کیونکہ بوٹس کھلے فارمز اور AI endpoints کے لیے پوری انٹرنیٹ اسکین کرتے ہیں۔ بدسلوکی کی لاگت آپ کے سائز پر منحصر نہیں۔
  • "بٹن چھپا دینا کافی ہے۔" براؤزر کی طرف کی حدیں ایک مہربانی ہیں، تحفظ نہیں۔ اصل حدیں سرور پر نافذ ہونی چاہئیں۔
  • "فی IP حدیں ہمیشہ منصفانہ ہوتی ہیں۔" بہت سے لوگ ایک IP پتہ شیئر کرتے ہیں، جیسے دفتر، اسکول یا موبائل نیٹ ورک۔ لاگ اِن ہونے کے بعد فی صارف حدیں زیادہ منصفانہ ہوتی ہیں۔
  • "429 کا مطلب ہے سروس خراب ہے۔" اس کا مطلب ہے کہ آپ اسے بہت زیادہ کال کر رہے ہیں۔ اپنا کوڈ لوپس کے لیے چیک کریں، اور جو نتائج بار بار نہیں بدلتے انہیں کیش کریں، دیکھیں کیشنگ کیا ہے۔
  • "Rate limiting خرچ کی حد کی جگہ لے لیتا ہے۔" دونوں استعمال کریں۔ ایپ کی حدوں میں بگ ہو سکتے ہیں؛ فراہم کنندہ کی خرچ کی حد آپ کی آخری ضمانت ہے۔

AI بلڈر سے کیا پوچھیں

  • "لاگ اِن، سائن اپ، پاس ورڈ ری سیٹ اور AI endpoint پر سرور کی طرف سے rate limiting شامل کریں۔ معقول حدیں تجویز کریں۔"
  • "ہر لاگ اِن AI صارف کو فی گھنٹہ [N] AI درخواستوں تک محدود کریں، اور حد پر انتظار کے وقت کے ساتھ واضح پیغام دکھائیں۔"
  • "جب کوئی بیرونی API 429 لوٹائے تو 3 بار تک exponential backoff کے ساتھ دوبارہ کوشش کریں، پھر ایک دوستانہ خرابی دکھائیں۔"
  • "rate-limit کے کاؤنٹرز کہاں محفوظ ہیں؟ اگر ایپ ایک سے زیادہ مشینوں پر چلے تو کیا وہ تب بھی کام کریں گے؟"
  • "جب بھی کوئی صارف یا IP حد تک پہنچے، لاگ کریں تاکہ بدسلوکی کو پہچانا جا سکے۔"
  • "یہ ایپ کون سی بیرونی سروسز کال کرتی ہے، اور ان کی rate limits کیا ہیں؟"

Mythex میں Rate limiting

Mythex کی دستاویزات AI فیچرز کے بارے میں صاف ہیں: آپ کی بنائی ہوئی ایپس میں rate limits، حفاظتی اور لاگت کے کنٹرول آپ کے ڈیزائن کرنے کی ذمہ داری ہیں، دیکھیں AI ایپ بنائیں۔ فیچر کے ساتھ ہی ایجنٹ سے حدیں شامل کرنے کو کہیں۔ Pro پر، شائع شدہ سروس زیادہ ٹریفک کے وقت تین مشینوں تک چل سکتی ہے (دیکھیں Hosting limits)، اس لیے ایسے کاؤنٹرز مانگیں جو ایک سرور کی یادداشت کے بجائے ڈیٹا بیس میں رہیں۔

متعلقہ مطالعہ: API کیا ہے، LLM APIs کیسے استعمال کریں اور AI سے بنی ایپس کے لیے سیکیورٹی چیک لسٹ۔

سوالات

Rate limiting سادہ الفاظ میں کیا ہے؟

Rate limiting ایک اصول ہے جو کسی صارف، ڈیوائس یا ایپ کی طرف سے ایک مخصوص وقت میں درخواستوں کی زیادہ سے زیادہ تعداد طے کرتا ہے، مثلاً فی منٹ 5 لاگ اِن کوششیں یا فی گھنٹہ 100 API کالز۔ حد سے زیادہ درخواستیں وقفہ ختم ہونے تک مسترد کر دی جاتی ہیں۔

429 Too Many Requests کی خرابی کا کیا مطلب ہے؟

HTTP اسٹیٹس 429 کا مطلب ہے کہ آپ نے بہت کم وقت میں بہت زیادہ درخواستیں بھیجیں اور rate limit تک پہنچ گئے۔ جواب میں اکثر Retry-After ہیڈر ہوتا ہے جو بتاتا ہے کہ کتنی دیر انتظار کرنا ہے۔ حل یہ ہے کہ رفتار کم کریں، وقفے کے بعد دوبارہ کوشش کریں، یا سروس کو کال کرنے کی تعداد کم کریں۔

میری AI سے چلنے والی ایپ کو rate limiting کی ضرورت کیوں ہے؟

ہر AI درخواست ٹوکنز کی صورت میں آپ کا پیسہ خرچ کرتی ہے۔ حد کے بغیر ایک صارف یا ایک بوٹ ہزاروں درخواستیں بھیج کر بھاری بل بنا سکتا ہے یا آپ کا فراہم کنندہ کوٹہ ختم کر سکتا ہے، جس سے سب کے لیے فیچر بند ہو جاتا ہے۔ فی صارف حدیں لاگت کو قابلِ پیش گوئی رکھتی ہیں۔

کیا rate limiting اور throttling ایک ہی چیز ہیں؟

یہ آپس میں گہرے تعلق رکھتے ہیں اور اکثر ایک دوسرے کی جگہ استعمال ہوتے ہیں۔ Rate limiting عموماً حد سے زیادہ درخواستوں کو مسترد کرنے کو کہتے ہیں، جبکہ throttling کا مطلب انہیں سست کرنا یا قطار میں رکھنا بھی ہو سکتا ہے، بجائے اس کے کہ انہیں فوراً انکار کیا جائے۔

کیا rate limiting DDoS حملوں کو روکتا ہے؟

یہ چھوٹے سیلاب اور انفرادی صارفین یا IP پتوں کی طرف سے بدسلوکی میں مدد کرتا ہے، لیکن بڑا تقسیم شدہ حملہ بہت سے پتوں سے ایک ساتھ آتا ہے۔ ایسے حملوں سے بچاؤ عموماً نیٹ ورک یا CDN کی سطح پر ہوتا ہے، ٹریفک آپ کی ایپ تک پہنچنے سے پہلے۔

Mythex · Pricing · AI کے ساتھ کچھ بھی بنائیں · ویب سائٹ اور ایپ ٹیمپلیٹس · Mythex کا موازنہ · AI سے ایپ بنانے کی اصطلاحات · AI سے ایپ بنانے کے مفت ٹولز · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)