سلام به همه دوستان عزیز
دوستان داخل فروشگاهم یک امکانی به اسم خرید سریع انجام دادم که کاربر میتونه با کلیک بر روی آن بخشی از ویژگی های محصول رو ببینه. الان مشکل من اینجاست که وقتی می خوام ویژگی ها رو نمایش بدم مدت زمان رفرش صفحه خيلی طول میکشه و این اررور Maximum execution time of 60 seconds exceeded رو میده.
این کد های من هستش:
این متود تمام ویژگی ها رو برمیگیردونه.
در آخر به متود جای متود first متود get نوشتم.
داخل ویو هم به این شکل نمایش میدم.
متغیر tags$ هم آرایه رو برمیگردونه که من فقط به اندیس tag احتیاج دارم.
همین کد ها رو اجرا می کنم صفحه 30 الی 40 ثانیه طول میکشه که رفرش بشه و بعدش خطا میگیره.
ممنون
اطلاعات جدولت خیلی زیاده ؟ اولا میتونی از value() استفاده کنی ثانیا میتونی از پگینیت استفاده کنی که سرعت کویری خیلی بیشتر بشه
سلام
مدت زمان ۳۰-۴۰ ثانیه که میگید و بعد ارور time-out اصلا طبیعی نیست و احتمالا داخل یک حلقه بینهایت یا چیزی از این جنس گیر می افته. و الا کوئری تون هر چقدر هم سنگین باشه در یک سایت معمولی اون هم نسخه لوکال به هیچ وجه نباید اینقدر زمان ببره.
راهکار خیلی ساده و ابتدایی این هست که بصورت تکه تکه کدتون رو بررسی کنید و بعد از هر قسمت یک ()dd بگذارید و خروجی مرحله قبل رو چک کنید. اگر سریع بدست اومد و نتیجه اش هم همون چیزی بود که خواستید برید سراغ خط یا بلوک بعدی کدهاتون و این کار رو ادامه بدید تا بفهمید کدوم کد هست که کار رو قفل میکنه.
یک راهکار دیگه که خیلی مفیده و واقعا لازمه استفاده از پکیجهای laravel-debugbar و laravel-query-detector هست که به شما پشت صحنه اجرای کوئری ها رو نشون میده و کاملا مشخص میشه برای هر صفحه چه کوئری هایی اجرا شدن و هر کدومشون چقدر زمان بردند. البته شرطش اینه که صفحه تون بالا بیاد و به ارور Time-Out نخوره.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟