سامان
5 سال پیش توسط سامان مطرح شد
2 پاسخ

پردازش حجم زیاد اطلاعات

سلام دوستان . من میخوام در خروجی برنامه ام یک صفحه ای که حاوی اطلاعات هست رو داشته باشم . وقتی حجم اطلاعات جدول دیتابیسم کم باشه مشکلی نیست ولی وقتی حجمش زیاد میشه سرور جواب نمیده . تعداد رکوردهای جدول دیتا بیس الان 210000 تا هست که فکر نکنم برای لاراول و mysql مهم باشه . اینکه چه query زدم هم را چک کردم و مشکلی نیستش فقط وقتی همان query را با تعداد رکوردهای بالای 200000 تا میزنم سرور جواب نمیده . منظورم اینه که سرور به حالتی که داره گردازش میکنه میره ولی صفحه را لود نمیکنه و پس از حدود 3 - 4 دقیقه صفحه نشون میده که نمیشه درخواست جواب داده بشه . آیا میتونه مشکل از سرور باشه ؟ یا باید query را عوض کنم ؟ البته من از تابع chunk استفاده نکردم . ممکنه از این باشه ؟


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 5 سال پیش مطرح شد
1

به نظرم این قضیه در ارتباط مستقیم هست با ساختار دیتابیس، نحوه کوئری زدن و کدی که نوشتید و پردازشی که از سرور میخواید انجام بده. تا این موارد بررسی دقیق نشه نمیشه جواب دقیقی هم داد.

بعد وقتی مشخص شد گیر کار کجاست میشه دنبال راه حل براش رفت که قطعا هم وجود داره. مثلا شاید اشکال کار موضوع N+1 کوئری باشه که باید از eager loading استفاده کنید یا به قول خودتون استفاده از chunk یا ...

اگر چه میزان منابع سخت افزاری هم نقش مهمی در سرعت پاسخگویی سرور دارند ولی میشه گفت در اغلب موارد اشکال کار نرم افزاری هست و نه سخت افزاری.


مهدی طهرانی
تخصص : cloud architect
@mtehrani 5 سال پیش مطرح شد
1

@samanf33
دوست عزیز حتما به ایندکس کردن صحیح داد‌ه‌ها توجه کنید و اینکه از ردیس برای کش کردن کوئری‌ها استفاده کنید موضوع eager loading هم خیلی مهمه و سعی کنید روابط بین جداول رو اگه امکان داره کاهش بدید


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

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