علی سرلک
5 سال پیش توسط علی سرلک مطرح شد
9 پاسخ

تاخیر در دریافت از دیتابیس

سلام دوستان
وقت همگی بخیر

من کوئری در اسکریپتم دارم که با تاخیر های ۱۵ تا ۲۰ ثانیه ای پاسخ داده میشه از سمت دیتابیس که به صورت ایجکس درخواست میشه و کوئری زیر استفاده میکنم :

$statment = $conn->prepare("SELECT sets.* , users.fullname FROM sets INNER JOIN users ON sets.userid=users.userid ORDER BY `id` DESC LIMIT ۲۴ OFFSET :offset"); 

چه مشکلی در این دستور هست که تاخیر زیاد درخواست میشه ؟


ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@aliesarlak

ورژن mysql چند هست
چون من مورد خاصی نمیبینم

یه مقدار تاخیر به خاطر ایجکسش مشکلی نیست طبیعیه
اما نه 20 ثانیه!


علی سرلک
@aliesarlak 5 سال پیش آپدیت شد
0

@Alimotreb
mysqlnd 5.0.12-dev
رکوردهای جدول ها تقریبا ۲۰۰۰۰تا شده و توی تست که میگرفتم با حذف order by id desc درست میشه و سریعش اوکیه ،

اما وقتی میخوام جدیدترین ها رو درخواست کنم تاخیر میندازه


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام و درود

@aliesarlak

ورژن mysql اصلی هاست یا سرور منظوره
phpmyadmin رو باز کنید تو صفحه اصلی سمت راستش زده ورژن چند هست!

اگر 5 هست که به نظرم بروزش کنید
یا برید روی 5.7 یا برید روی mariaDB
سرعتتون برای همن پایین هست احتمال زیاد!
دستور order دلیلی بر افت سرعت نیست
کوئری های خیلی سنگین تر هست که زده میشه و مشکلی نداره
mysql رو بروز کنید حتما


علی سرلک
@aliesarlak 5 سال پیش مطرح شد
0

سلام
@Alimotreb

ورژن 5.7.26 هستش


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@aliesarlak

احتمالا گاورنر روی سرور هست که محدودیت میزاره
یا منابعتون خیلی پایین هست !
و الا ایرادی در کد نیست


علی سرلک
@aliesarlak 5 سال پیش آپدیت شد
0

@Alimotreb
خیلی ممنونم که وقت گذاشتین ..

اینکه ایندکس استفاده کنم بنظرتون اوکی میشه ؟

و اینکه میشه لطفا یه کوچولو بگین که چه کوئری باید برای ایجاد و استفاده ایندکس بزنم

--- چیزی که هستش اینه که وقتی اون کوئری رو فعال میکنم مصرف CPU سرور هم بشدت افزایش پیدا میکنه برای MYSQL


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@aliesarlak

ایندکس گذاری تاثیری روی اون 20 ثانیه نداره!
این 20 که میگید قطعا منابعتون خیلی پایین هست!


علی سرلک
@aliesarlak 5 سال پیش آپدیت شد
0

@Alimotreb
cpu دوازده هسته ای و رم ۳۲ گیگ هستش

وقتی کوئری اجرا بشه فول نمیشه استفاده و نهایت ۴ کور رو درگیر میکنه

در دقیقه حدود 100 رکورد روی هر جدول ثبت میشه که من نیاز دارم با inner join با ایجکس 10تا رکورد اخر رو از دوجدول مربوط کال کنم


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@aliesarlak

چیزی که گفتید :
--- چیزی که هستش اینه که وقتی اون کوئری رو فعال میکنم مصرف CPU سرور هم بشدت افزایش پیدا میکنه برای MYSQL

با اطلاعات منابعی که الان برای سرور دادید خیلی خیلی فرق داره
یه سرور با همچین منابعی باید خیلی کارایی بهتری داشته باشه

از نحوه کانفیگ سرور توضیحات دقیق تر بدید تا راهنمایی کنم


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

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