Mehdy
4 سال پیش توسط Mehdy مطرح شد
5 پاسخ

پاسخگویی همزمان به چندین request در لاراول

سلام
من یک api کامل برای دسترسی اپلیکیشن موبایلی خودم ساختم که اپلیکیشن تمام اطلاعات خودش را از همین api ها میگیره و در صفحه لوگو logo ده تا جدول را آپدیت می‌کنه و وقتی همه چیز کامل بود که تقریبا ۲ ثانیه هم طول می‌کشه وارد صفحه اصلی میشه و مشکلم اینجاست که وقتی چندین نسخه از اپلیکیشن را به صورت همزمان اجرا میکنم کاملا مشخصه که صفحات با زمان بیشتری بارگیری میشن مثلاً اولی ۲ ثانیه دومی ۳ یا۴ ثانیه و بعدی ها زمان بیشتری طول میکشن حالا سوال اینجاست......
آیا همه ی درخواست ها با هم اجرا میشن یا پشت سر هم اجرا میشن؟
در زمان تهیه هاست چیز خاصی هست که نشان دهنده پاسخگویی بیشتر در زمان در خواست های همزمان باشه؟
آیا این موضوع به نحوه ی کد نویسی من مربوط میشه ؟


ثبت پرسش جدید
Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

سلام. درخواست‌ها که همزمان انجام میشن ولی نمیشه درباره مورد شما راحت نظر داد چون نمی‌دونیم وضعیت پرفورمنس شما چطوریه. با Laravel Telescope تست کنین و ببینین چه اتفاقی داره می‌افته. چهارتا یوزر واقعا نباید به سرور فشار بیاره. به قول مدیر فنی شرکتمون: اپلیکیشنی که با بیست‌تا یوزر دان میشه، بذارین دان بشه. :)
نتیجه تلسکوپ رو اگه گذاشتین من رو منشن کنین.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

این موضوع برمیگرده به نحوه تفسیر کدهای PHP توسط مفسر PHP
کدها در PHP به صورت synchronous اجرا میشند
یعنی تا زمانی که مفسر مشغول پردازش یک درخواست هست و داره ریسپانس رو تهیه میکنه، شروع به پردازش درخواست بعدی نمیکنه

هر چند قراره در نسخه ۸.۱ ویژگی های asynchronous رو اضافه کنند
اما تا اون زمان میتونی از PHP Swoole استفاده کنی و کدهات رو asynchronous اجرا کنی.


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

سلام
معمولا هیچ سیستم میزبانی (البته نه اشتراکی بی کیفیت ارزان) هیچ وقت با دو سه تا درخواست تاخیر داخل اجرا به وجود نمیاره. این مشکل چه شما مطرح می کنید ممکنه به پهنای باند هاست و یا سرور شما بر گرده.!
@Mehdyebrahimi


Mehdy
تخصص : کارشناس it
@Mehdyebrahimi 4 سال پیش آپدیت شد
0

روی اپلیکیشن یه حلقه ی تکرار اجرا کردم که هر حلقه یک thread. ایجاد کنه و هر ترد یک اتصال به api بزنه و api هم یک query در دیتا بیس اجرا کنه
جداول ایندکس شدن و طبق ترتیب ایندکس کوئری نوشتم
اینطوری تونستم با چهار دستگاه به صورت همزمان ۵۰۰ تا کانکشن در ۱ ثانیه بزنم تقریبا ۱۵۰ تا کانکشن در ۲۰ ثانیه پاسخ داده شد و بقیه ی اونها time out ,lشدن
به نظرتون okهست یا مورد داره؟
اصلا کسی می دونه اینستاگرام و تلگرام و.... چه طور به میلیون ها نفر پاسخگویی دارن یعنی چه طوری کانکشن ها جوابگو هست ؟


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

شما می تونید از نرم افزار های benchmark استفاده کنید. و براساس معیار این نرم افزار ها مقایسه های خودتون رو انجام بدید. سیستم های اینستاگرام و فیسبوک هم چیز زیاد پیچیده ای نیست. تنها کدهای نوشته شدشون بهینه هست و سرورهای قوی دارن که با اون load balance می کنن.
jmeter
ApacheBench tool
dbench
http_load
curl-loader
httperf
siege
vegeta
@Mehdyebrahimi


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

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