راکت
masoud net
masoud net
توسط masoud net مطرح شد
5 پاسخ

سوال در مورد request

ما زمانی که api می نویسیم جندین درخواست(request) می فرستیم به سرور اینجوری حجم درخواستها بالا میره و امکان داره سرور هنگ کنه چیکار کنیم این درخواست ها کم بشه


ثبت پرسش جدید
مهدی معتمدی
مهدی معتمدی
تخصص :مهندس نرم افزار
@mahdi.motamedi7 سال پیشمطرح شد
0

در زبان یا فریم ورکی که api خود را برنامه نویسی کرده اید، بایستی از کتابخانه های rate limit به صورت middle ware و ... استفاده کنید تا یک کاربر بیش از حد درخواست ارسال نکند.

برای مثال در فریم ورک لاراول این کتابخانه وجود دارد:
https://github.com/GrahamCampbell/Laravel-Throttle

یا در Node.js و express:
https://www.npmjs.com/package/express-rate-limit


Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@netwons
بستگی به تعداد درخواست
منابع سرور و کانفیگ سرور داره

در حد میلیونی باشه درخواست و منابع سرور کم باشه ، بله افت پردازش و هنگی هست


developer
developer
تخصص :برنامه نویس
@developer7 سال پیشمطرح شد
0

خب الگوریتم ها رو بهینه کنید تا جایی که کمترین ریکوئست رو لازم باشه بدید
توی میدلورهای لاراول توی کرنل بخش api میتونید تعداد حداکثر ریکوئست یک کاربر رو مشخص کنید که نتونه با ربات سرور رو دان کنه

'api' => [
        'throttle:60,1',
        'auth:api',
    ],

Mohsen Hassanshahi
Mohsen Hassanshahi
تخصص :برنامه نویس
@a.hassanshahi747 سال پیشمطرح شد
0

این نمونه کدی که آقای صفدری گذاشتن بهترین کار هست که می تونید انجام بدید،
خیلی هم راحته فقط باید توی Route ها Middleware رو فراخوانی کنید.
این دوتا عدد روبه روی throttle هم قابل تغییر هستن
عدد اول تعداد مجاز درخواست هست
عدد دوم برحسب دقیقه نوشته میشه
در کد بالا مشخص کرده که 60 درخواست در یک دقیقه می تونه کاربر درخواست کنه


masoud net
masoud net
@netwons7 سال پیشمطرح شد
0

خوب حساب کنیم ما ۱۰۰۰ کاربر هم زمان در سایت ما هر کدوم یک درخواست میفرسته در کل میشه ۱۰۰۰ requestدر یک ثانیه می دونید چه حجمی از سی پی یو درگیر میشه من میخوام این رو کنترل کنم آیا روشی هست برای بهینه کردن یا ساپورت کردن ۱۰۰۰ نفر در یک ثانیه؟
منظورم اینکه این درخواستها رو میشه بریزیم توی رم تا طرف اول بیاد توی رم اگر ان درخواست در رم بود از رم بخونه در غیر این صورت بره از دیتابیس بخونه فکر کنم اینجوری سی پی یو سرور درگیر نمیشه
بزار یک مثال قابل فهم بزنم من یک فایل تکس دارم داخل این فایل ۲۰۰ تا اسم سایت وجود دارهحالا من برنامه نوشتم که بره برای من اطلاعات whoisاین سایتها رو دربیاره و به من نمایش بده اینجا باعث میشه سیستم کرش کنه یا cpuبیشتر درگیر بشه و کارایی سیستم بیاد پایین.بجز از محدود کردن کاربر به تعداد درخواستها آیا راهی وجود داره برای حل این مشکل


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام