با سلام
من برای وبسایت لاراولی خودم اومدم و یک آمارگیر نوشتم، یک Middleware میاد و ip کاربر رو میگیره و یک Job رو dispatch میکنه.
اوایل خوب کار میکرد و ریسپانس تایم صفحاتی که این Middleware روشون اعمال شدند تایم لودینگشون حدود 200 الی 500 میلی ثانیه بود و همه چیز اوکی بود، اما اخیرا لودینگ صفحاتی که این Middleware رو اجرا میکنن چیزی حدود 3.5 الی 4 ثانیه شده و عددی خیلی زیاد هست و تا این لحظه راهکارهای مختلفی رو برای سرعت لاراول تست کردم. ولی مشکل حل حل نشد. فایل کامل Job رو می تونید از این gist مشاهده کنید.
ممنون میشم نظرات ارزشمندتون رو بدونم😁
@mrmmg
سلام.
اگر من جای شما بودم به جای اینکه مستقیم و هربار درخواست بفرستم سمت دیتابیس، داده رو داخل یک فایل ذخیره می کردم. ایده من اینه:
یک فایل JSON ایجاد کنید و برای مثال دیتای 24 ساعت رو داخل اون بریزید. بعد هر کاری بخواید انجام بدید، روی اون فایل اعمال می کنید. در نهایت یک Job ست می کنید که برای مثال هر 24 ساعت یکبار، محتوای فایل رو بریزه داخل دیتابیس و دوباره فایل رو خالی کنه.
این کار مزیتی که داره اینه که عملا دیگه با هر در خواست شما به دیتابیس درخواست نمی فرستید و زمان به شدت کاهش پیدا می کنه. از اون طرف هم می تونید دیتا رو در دیتابیس هم داشته باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟