ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کوئری های سنگین در دیتابیس



abbaskh
July 11th, 2013, 10:02
سلام دوستان
من سایت موزیک دارم و با سیستم نیوک راه اندازی شده
از چند روز پیش سایت خیلی سنگین بالا میومد تا اینکه از طرف پشتیبانی این تیکت رو دریافت کردم

با سلام

استحضار مي رساند که سرویس شما توسط اجرای کوئری های سنگین مای اس کیو ال به شدت باعث مشغول شدن سی پیو سرور شده است.

نمونه ای از کوئری اجرا شده در سرور


# Time: 130708 20:22:01
# User@Host: bir3dair_nuke[bir3dair_nuke] @ localhost []
# Query_time: 4.551233 Lock_time: 0.033144 Rows_sent: 760 Rows_examined: 760
use bir3dair_Nuke1;
SET timestamp=1373298721;
SELECT * FROM nuke_stories WHERE(ihome='0');
# Time: 130708 20:22:04
# User@Host: realmadi_dayi[realmadi_dayi] @ localhost []
# Query_time: 5.935580 Lock_time: 0.827456 Rows_sent: 34738 Rows_examined: 172804



زمان اجرا شدن کوئری های برنامه شما بسیار بالا است و این امر به شدت بر روی کارایی سرور تاثیر گذار می باشد . این مشکل میتواند مربوط به پلاگین های نصب شده بر روی برنامه شما، ویا حجم بالای دیتابیس شما باشد . بنابراین به شما پیشنهاد میکنیم که هرچه سریعتر این مشکل را با برنامه نویس خود مطرح کنید و در جهت رفع آن سریعا اقدامات لازم را انجام دهید.

با یکی از دوستان که تقریبا نیوک کار بود صحبت کردم ایشون گفتند تعداد مطالبت تو صفحه اول رو از 20 به 10 تا کاهش بده
من این کارو کردم ولی هنوز این مشکل پابرجاست
ممنون میشم راهنماییم کنید:53::53::53:

nginxweb
July 11th, 2013, 10:15
دوست گرامی کار خاصی نمیتونید کنید چون اساس نیوک این فرم هستش و بقیه موارد به سرور بر میگیرده. تنها کاری که شما میتونید کنید این هستش که بوسیله برنامه نویسی کوئری های ارسال رو بهینه کنید که اونم احتمالا بهینه سازی شده است.. به هرحال فکر سرویس ثویتر باشید از نوع متن ایمیل هم به نظر میاد ساپورتر نت افراز هستش ..

پیروز باشید

Metalik
July 11th, 2013, 10:46
دیتابیس رو یه بار check optimize repair کنید.
روی نیوک کش فعال کنید.

یه کمی بهتر می شه ولی موقتیه
سایت وقتی سنگین شد باید از هاست اشتراکی خارج بشه و بره روی vps

rezaonline.net
July 11th, 2013, 11:59
دستور
SELECT * FROM nuke_stories WHERE(ihome='0'); تمامی رکوردهای جدول nuke_stories رو برمیگردونه .
شما برو توی phpmyadmin ، روی دیتابیست کلیک کن ، اون بالا تب sql دستور زیر رو بنویس ، سپس جدولی که چاپ میشه رو ببین ، نشون میده چند تا رکورد دارید .

select ihome , count(*) as _count from nuke_stories group by ihome

abbaskh
July 11th, 2013, 12:07
دستور
SELECT * FROM nuke_stories WHERE(ihome='0'); تمامی رکوردهای جدول nuke_stories رو برمیگردونه .
شما برو توی phpmyadmin ، روی دیتابیست کلیک کن ، اون بالا تب sql دستور زیر رو بنویس ، سپس جدولی که چاپ میشه رو ببین ، نشون میده چند تا رکورد دارید .

select ihome , count(*) as _count from nuke_stories group by ihome
با این کار مشکلم حل میشه؟؟

iMohsen
July 11th, 2013, 12:11
باید بیش از این کوئری ها رو آپتیمایز کنید .
در صورت نیاز از share mode استفاده کنید تا سرعت کوئری ها و حجم دیتای برگشتی نسبت به ایندکس موجود کاهش پیدا کنه .
این کوئری شما هم زیاد موردی نداره . حداکثر استفاده اش 170 هزار سطر بوده !

_mahdi_
July 11th, 2013, 12:13
نیوک برنامه نویسی بهینه سازی شده ای نداره در کل، پیشنهاد میکنم به وردپرس یا جوملا تبدیل کنید سایت رو، هرچه سایت بزرگتر بشه بعدا بیشتر به مشکل بر میخورید.


SELECT * FROM nuke_stories WHERE(ihome='0');
اگر index برای مقادیر ihome از بخش structure پس از انتخاب جدول nuke_stories در دیتابیس مربوطه در phpmyadmin ایجاد کنید کوئری ها سریعتر انجام خواهند گرفت.

rezaonline.net
July 11th, 2013, 12:18
با این کار مشکلم حل میشه؟؟
مشکل حل نمیشه ، فعلا ببنیم تعداد رکوردهاتون چقدره ، اگر تا 2000 رکورد هم بود پس مشکل از ضعیف بودن هاست هست که جوابگو نیست .
در غیر اینصورت باید یک کش روی اون کوئری انجام بشه در تایم مشخص .
همچنین حجم جدول nuke_stories رو هم بررسی کنید چون این کوئری ، کل اطلاعات این جدول را به شرط ihome=0 برمیگرداند .
فعلا دستور بالا را انجام دهید و نتیجه را گزارش دهید .

milade
July 12th, 2013, 17:28
سلام .

در کوئری اجرایی شما ، Select * رو داریم ، که به نوعی بد کوئری هستش . توضیحات مفصلتر رو با جستجو به دست بیارید .
در صورتی که دیتا در جداول شما زیاد هست ، توصیه بنده استفاده از کلاستر بندی و ایندکس گزاری مناسب هستش .
در اخر هم میتونید FTS رو روی جداول فعال کنید که برای جداول با دیتا بالا توصیه میشه .

این حداقل راهنمایی هایی بود که میشد انجام داد ، هرچند این موضوع ممکنه با همه اینها هم پابرجا باقی بمونه که دلیل اون وجود پارامترهای دیگه هستش .


موفق باشید .