سلام
من یک api کامل برای دسترسی اپلیکیشن موبایلی خودم ساختم که اپلیکیشن تمام اطلاعات خودش را از همین api ها میگیره و در صفحه لوگو logo ده تا جدول را آپدیت میکنه و وقتی همه چیز کامل بود که تقریبا ۲ ثانیه هم طول میکشه وارد صفحه اصلی میشه و مشکلم اینجاست که وقتی چندین نسخه از اپلیکیشن را به صورت همزمان اجرا میکنم کاملا مشخصه که صفحات با زمان بیشتری بارگیری میشن مثلاً اولی ۲ ثانیه دومی ۳ یا۴ ثانیه و بعدی ها زمان بیشتری طول میکشن حالا سوال اینجاست......
آیا همه ی درخواست ها با هم اجرا میشن یا پشت سر هم اجرا میشن؟
در زمان تهیه هاست چیز خاصی هست که نشان دهنده پاسخگویی بیشتر در زمان در خواست های همزمان باشه؟
آیا این موضوع به نحوه ی کد نویسی من مربوط میشه ؟
سلام. درخواستها که همزمان انجام میشن ولی نمیشه درباره مورد شما راحت نظر داد چون نمیدونیم وضعیت پرفورمنس شما چطوریه. با Laravel Telescope تست کنین و ببینین چه اتفاقی داره میافته. چهارتا یوزر واقعا نباید به سرور فشار بیاره. به قول مدیر فنی شرکتمون: اپلیکیشنی که با بیستتا یوزر دان میشه، بذارین دان بشه. :)
نتیجه تلسکوپ رو اگه گذاشتین من رو منشن کنین.
این موضوع برمیگرده به نحوه تفسیر کدهای PHP توسط مفسر PHP
کدها در PHP به صورت synchronous اجرا میشند
یعنی تا زمانی که مفسر مشغول پردازش یک درخواست هست و داره ریسپانس رو تهیه میکنه، شروع به پردازش درخواست بعدی نمیکنه
هر چند قراره در نسخه ۸.۱ ویژگی های asynchronous رو اضافه کنند
اما تا اون زمان میتونی از PHP Swoole استفاده کنی و کدهات رو asynchronous اجرا کنی.
سلام
معمولا هیچ سیستم میزبانی (البته نه اشتراکی بی کیفیت ارزان) هیچ وقت با دو سه تا درخواست تاخیر داخل اجرا به وجود نمیاره. این مشکل چه شما مطرح می کنید ممکنه به پهنای باند هاست و یا سرور شما بر گرده.!
@Mehdyebrahimi
روی اپلیکیشن یه حلقه ی تکرار اجرا کردم که هر حلقه یک thread. ایجاد کنه و هر ترد یک اتصال به api بزنه و api هم یک query در دیتا بیس اجرا کنه
جداول ایندکس شدن و طبق ترتیب ایندکس کوئری نوشتم
اینطوری تونستم با چهار دستگاه به صورت همزمان ۵۰۰ تا کانکشن در ۱ ثانیه بزنم تقریبا ۱۵۰ تا کانکشن در ۲۰ ثانیه پاسخ داده شد و بقیه ی اونها time out ,lشدن
به نظرتون okهست یا مورد داره؟
اصلا کسی می دونه اینستاگرام و تلگرام و.... چه طور به میلیون ها نفر پاسخگویی دارن یعنی چه طوری کانکشن ها جوابگو هست ؟
شما می تونید از نرم افزار های benchmark استفاده کنید. و براساس معیار این نرم افزار ها مقایسه های خودتون رو انجام بدید. سیستم های اینستاگرام و فیسبوک هم چیز زیاد پیچیده ای نیست. تنها کدهای نوشته شدشون بهینه هست و سرورهای قوی دارن که با اون load balance می کنن.
jmeter
ApacheBench tool
dbench
http_load
curl-loader
httperf
siege
vegeta
@Mehdyebrahimi
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟