رفتن به مطلب
farhadst

کوئری‌های سنگین دیتابیس

پست های پیشنهاد شده

سلام دوستان

امروز هاستینگی که سایت من روش قرار داره بهم یه اخطار داده و گفته سایتتون کوئری‌های سنگین و طولانی مدت (بالای ده ثانیه) روی دیتابیس میزنه
من از جوملا ۲.۵ استفاده می کنم و کش جوملا رو هم فعال کردم، از اوپتیمایز و ریپیر mysql هم استفاده کردم اما تاثیر چندانی نداشت
اگه میشه راهنمایی کنید

----------------
# Query_time: 3.730601 Lock_time: 0.000146 Rows_sent: 30 Rows_examined: 110760
----------------


# Time: 140315 13:14:11
# User@Host: s_fa[s_fa] @ localhost []
# Query_time: 3.730601 Lock_time: 0.000146 Rows_sent: 30 Rows_examined: 110760
SET timestamp=1394876651;
SELECT DISTINCT u.id as userid, IFNULL(c.id,a.catid) as catid, a.sectionid as secid, a.id as id, a.*, a.introtext as itext, a.fulltext as mtext, u.name AS author, u.usertype, u.email as authorEmail, a.created_by_alias as authorAlias, a.created AS dsdate, a.modified as updated, c.title as catName, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as catslug
FROM jos_content AS a
LEFT JOIN jos_users AS u ON u.id = a.created_by
LEFT JOIN `jos_categories` AS c on c.id = a.catid
WHERE a.state='1'
AND IFNULL(c.id,0) IN (80,87,108,109,110,94,95,84,88,90,96,81,83,93,97,99,85,91,92,98,100,101,107,102,82,86,89,103,104,105)
AND (a.access = 1 OR a.access = 5)
AND (c.access = 1 OR c.access = 5)
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2014-03-15 09:44:07')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2014-03-15 09:44:07')
ORDER BY a.created DESC LIMIT 30;
# Time: 140315 13:14:16
# User@Host: s_fa[s_fa] @ localhost []
# Query_time: 5.592167 Lock_time: 0.000175 Rows_sent: 30 Rows_examined: 110760
SET timestamp=1394876656;
SELECT DISTINCT u.id as userid, IFNULL(c.id,a.catid) as catid, a.sectionid as secid, a.id as id, a.*, a.introtext as itext, a.fulltext as mtext, u.name AS author, u.usertype, u.email as authorEmail, a.created_by_alias as authorAlias, a.created AS dsdate, a.modified as updated, c.title as catName, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as catslug
FROM jos_content AS a
LEFT JOIN jos_users AS u ON u.id = a.created_by
LEFT JOIN `jos_categories` AS c on c.id = a.catid
WHERE a.state='1'
AND IFNULL(c.id,0) IN (80,87,108,109,110,94,95,84,88,90,96,81,83,93,97,99,85,91,92,98,100,101,107,102,82,86,89,103,104,105)
AND (a.access = 1 OR a.access = 5)
AND (c.access = 1 OR c.access = 5)
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2014-03-15 09:44:11')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2014-03-15 09:44:11')
ORDER BY a.created DESC LIMIT 30;


-------------
# Query_time: 4.519286 Lock_time: 0.000145 Rows_sent: 30 Rows_examined: 110760
-------------




# Time: 140315 13:14:23
# User@Host: s_fa[s_fa] @ localhost []
# Query_time: 4.519286 Lock_time: 0.000145 Rows_sent: 30 Rows_examined: 110760
SET timestamp=1394876663;
SELECT DISTINCT u.id as userid, IFNULL(c.id,a.catid) as catid, a.sectionid as secid, a.id as id, a.*, a.introtext as itext, a.fulltext as mtext, u.name AS author, u.usertype, u.email as authorEmail, a.created_by_alias as authorAlias, a.created AS dsdate, a.modified as updated, c.title as catName, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as catslug
FROM jos_content AS a
LEFT JOIN jos_users AS u ON u.id = a.created_by
LEFT JOIN `jos_categories` AS c on c.id = a.catid
WHERE a.state='1'
AND IFNULL(c.id,0) IN (80,87,108,109,110,94,95,84,88,90,96,81,83,93,97,99,85,91,92,98,100,101,107,102,82,86,89,103,104,105)
AND (a.access = 1 OR a.access = 5)
AND (c.access = 1 OR c.access = 5)
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2014-03-15 09:44:18')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2014-03-15 09:44:18')
ORDER BY a.created DESC LIMIT 30;
# Time: 140315 13:14:24
# User@Host: s_fa[s_fa] @ localhost []
# Query_time: 3.725389 Lock_time: 0.000180 Rows_sent: 30 Rows_examined: 110760
SET timestamp=1394876664;
SELECT DISTINCT u.id as userid, IFNULL(c.id,a.catid) as catid, a.sectionid as secid, a.id as id, a.*, a.introtext as itext, a.fulltext as mtext, u.name AS author, u.usertype, u.email as authorEmail, a.created_by_alias as authorAlias, a.created AS dsdate, a.modified as updated, c.title as catName, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as catslug
FROM jos_content AS a
LEFT JOIN jos_users AS u ON u.id = a.created_by
LEFT JOIN `jos_categories` AS c on c.id = a.catid
WHERE a.state='1'
AND IFNULL(c.id,0) IN (80,87,108,109,110,94,95,84,88,90,96,81,83,93,97,99,85,91,92,98,100,101,107,102,82,86,89,103,104,105)
AND (a.access = 1 OR a.access = 5)
AND (c.access = 1 OR c.access = 5)
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2014-03-15 09:44:21')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2014-03-15 09:44:21')
ORDER BY a.created DESC LIMIT 30;

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

وقت بخیر

 

دوست عزیز شما از قسمت مدیریت سایت بخش تنظیمات کلی، بخش سیستم، قسمت خطایابی سیستم را فعال کنید می توانید ببینید

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

حال شما با فعال کردن این بخش می توانید ببنید کدام صفحه سایت شما پرس و جو هایی زیادی دارد که باعث استفاده بیش از حد رم میشه آن بخش را از ماژول ها و مطالب کمتری استفاده کنید.

 

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

بیشتر هم در صفحه اصلی بود بیش از 540 پرس و جو بود که با کم کردن مطالب از بخش های مختلف و ... تونستم کاهش بدم به 200 تا تا این مشکل برطرف شد

 

راه حل هایی دیگری هم شاید باشه که اساتید برای شما شرح خواهند داد

موفق و پیروز باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

وقت بخیر

 

دوست عزیز شما از قسمت مدیریت سایت بخش تنظیمات کلی، بخش سیستم، قسمت خطایابی سیستم را فعال کنید می توانید ببینید

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

حال شما با فعال کردن این بخش می توانید ببنید کدام صفحه سایت شما پرس و جو هایی زیادی دارد که باعث استفاده بیش از حد رم میشه آن بخش را از ماژول ها و مطالب کمتری استفاده کنید.

 

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

بیشتر هم در صفحه اصلی بود بیش از 540 پرس و جو بود که با کم کردن مطالب از بخش های مختلف و ... تونستم کاهش بدم به 200 تا تا این مشکل برطرف شد

 

راه حل هایی دیگری هم شاید باشه که اساتید برای شما شرح خواهند داد

موفق و پیروز باشید

 

باسلام

متشکر از راهنمایی

 

من پرس و جوها و مقدار رم مصرفی رو چک کردم

توی هر صفحه میانگین پرس و جو ها کمتر از ۳۰ بود و مقدار مصرف رم هم کمتر از ۱۷ مگ بود

به نظرتون این نرماله؟

و یه چیز دیگه، از هاستینگ گفتن که کوئری‌ها روی سی‌پی‌یو فشار میاره

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

با توجه به مسیر تاپیک و همچنین با توجه به پیشوند جداولی که در متن پیامهای خطا مشخصه ، احتمالا" یا تغییراتی رو بطور نادرست دادید یا اینکه افزونه ای نصب کردید که با نسخه جوملاتون سازگاری نداره

 

موفق و پیروز باشید

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

با توجه به مسیر تاپیک و همچنین با توجه به پیشوند جداولی که در متن پیامهای خطا مشخصه ، احتمالا" یا تغییراتی رو بطور نادرست دادید یا اینکه افزونه ای نصب کردید که با نسخه جوملاتون سازگاری نداره

 

موفق و پیروز باشید

یا حق

از روی اطلاعات داده شده مشخص نیست چه افزونه‌ای مشکل ایجاد کرده؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام

 

با توجه به مسیر تاپیک و همچنین با توجه به پیشوند جداولی که در متن پیامهای خطا مشخصه ، احتمالا" یا تغییراتی رو بطور نادرست دادید یا اینکه افزونه ای نصب کردید که با نسخه جوملاتون سازگاری نداره

 

موفق و پیروز باشید

یا حق

وقت بخیر

احسنت

بله درست میگن جناب آقای صفرعلی

بنده هم یادمه که مشکل از ماژول  هایی بود که روی صفحه اول با minifrontpage

ساخته وشخصی سازی کرده بودم این ارور های متفاوت داده میشد

که پس از تغییر آن با گلوبال نیوز و raxo_allmode

بسیاری مشکلات حل و همچنین کم کردن آنها این رو یادم رفته بود بگم

 

در پرس و جو ها هم چیز خاصی جز دریافت و ذخیره اطلاعات مربوط به کانتنت یا همون مطالب و مجموعه ها چیز زیادی نیست

استفاده کردن از ماژولها و ... مناسب میتونه به کمتر کردن آنها کمک کنه

 

موفق و پیروز باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از روی اطلاعات داده شده مشخص نیست چه افزونه‌ای مشکل ایجاد کرده؟

با سلام

 

در مدیریت افزونه ها وارد سربرگ مدیریت شوید و لیست افزونه ها رو بر حسب شناسه مرتب کنید . اینطوری مشخص میشه که آخرین افزونه هایی که نصب کردید چی بوده

 

بعد با استفاده از آزمون و خطا ، یکی یکی افزونه هاتون رو غیرفعال کنید و تست کنید

 

موفق و پیروز باشید

یا حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

باسلام

متشکر از آقای صفرعلی و دوستان دیگه که راهنمایی کردند

با غیرفعال کردن و تست به این نتیجه رسیدیم که مشکل از کامپوننت ninjarsssyndicator هستش که برای خروجی کلی سایت استفاده میشد

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

 

بازم ممنون از همه دوستان

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...