• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دیتابیس و فشار بر منابع سرور
#1
با سلام خدمت دوستان عزیز ... این اولین ارسال من هست و اگر که جای موضوع و یا خود مطلب اشتباه هست , عذر میخوام.
دیتابیس انجمن mybb من حجم زیادی دارد و در کل حدود 1.8 گیگ هست و از طرفی مسئولین سرور میگویند که اجرا کوئری های سنگین فشار زیادی به سرور و سی پی یو میاورد و بهتر هست که بهینه سازی انجام دهید . در خود پشتیبانی mybb مقالاتی وجود داشت که توصیه کرده بودن از innodb استفاده شود. سوالات من هم در این مورد هست.
اول اینکه کدام جداول بهتر هست به innodb تبدیل شود ؟ من برخی از این جداول را در پایان این ارسال ذکر کردم.
دوم اینکه تبدیل به innodb یا مجدد برعکسش به myisam , باعث آسیب خاصی به جدول مروبطه یا ایجاد مشکلاتی نمیشود ؟ یا اینکه به سادگی فقط از نوعی به نوع دیگر تبدیل میشود ؟
سوم اینکه به فرض اگر ذه innodb تبدیل کنم , چگونه میتوانم بفهمم که موثر بوده ؟ یا چه چیزی این مسئله را باید چک کنم ؟ و اینکه آیا در آینده این تبدیل باعث مشکلاتی نمیشود ؟ چون اطلاعات برای من مهم هست . ضمنا چند جدول را امتحانی تبدیل کردم که در پایان ارسال معلوم هست

انجمن من روزانه 50 هزار بازدید با 10 هزار ip دارد و معمولا 300 نفر انلاین که 100 نفر کاربر هستند. سرور اختصاصی شده دارم که در واقع همان اشتراکی هست , اما خب فقط برای چند سایت استفاده میشود و مشخصات کلی 32 گیگ رم 8 هسته ای وب لایت‌اسپید میباشد...پلاگین هایی مانند یادداشت در پروفایل , زیباسازی پروفایل , چت روم و.. نیز نصب هست...البته این سرور تا به امروز یعنی 3 سال پاسخگو بوده و اکنون نیز پاسخگو هست و گویا فقط باید به مباحث فنی بهینه سازی توجه کنم.

هاستینگ اشاره میکنه که این اجرا ها مدت زیادی از حافظه رو اشغال میکند :
05:07 raleshop.com/public_html/forum/showthread.php
05:07 generaleshop.com/public_html/forum/online.php
05:07 generaleshop.com/public_html/forum/member.php
05:07 raleshop.com/public_html/forum/showthread.php
05:07 raleshop.com/public_html/forum/showthread.php
05:07 leshop.com/public_html/forum/forumdisplay.php
04:11 generaleshop.com/public_html/forum/member.php
05:09 raleshop.com/public_html/forum/showthread.php
05:09 raleshop.com/public_html/forum/showthread.php

لیست جداول :

mybb_adminlog Browse 6,072 MyISAM utf8_general_ci 951.4 KiB -
mybb_adminoptions 4 MyISAM utf8_general_ci 8.4 KiB -
mybb_adminsessions 2 MyISAM utf8_general_ci 3.0 KiB -
mybb_adminviews 1 MyISAM utf8_general_ci 2.2 KiB -
mybb_announcements 4 MyISAM utf8_general_ci 23.8 KiB -
mybb_attachments 2,696 MyISAM utf8_general_ci 791.2 KiB -
mybb_attachtypes 20 MyISAM utf8_general_ci 3.7 KiB -
mybb_awaitingactivation 2,646 MyISAM utf8_general_ci 130.1 KiB 36 B
mybb_badwords 53 MyISAM utf8_general_ci 4.0 KiB -
mybb_banfilters 27 MyISAM utf8_general_ci 3.0 KiB -
mybb_banned 456 MyISAM utf8_general_ci 39.6 KiB -
mybb_calendarpermissions MyISAM utf8_general_ci 1.0 KiB -
mybb_calendars MyISAM utf8_general_ci 2.1 KiB -
mybb_captcha MyISAM utf8_general_ci 1.0 KiB -
mybb_datacache MyISAM utf8_general_ci 1.0 MiB 20 B
mybb_delayedmoderation 2 MyISAM utf8_general_ci 2.4 KiB -
mybb_events 40 MyISAM utf8_general_ci 13.3 KiB -
mybb_forumpermissions 399 MyISAM utf8_general_ci 34.4 KiB -
mybb_forums p 464 MyISAM utf8_general_ci 124.0 KiB -
mybb_forumsread 1,932 MyISAM utf8_general_ci 82.5 KiB -
mybb_forumsubscriptions 82 MyISAM utf8_general_ci 2.9 KiB -
mybb_g33k_regsecureq_questions 10 MyISAM utf8_general_ci 3.1 KiB -
mybb_g33k_thankyoulike_stats 1 MyISAM utf8_general_ci 3.0 KiB -
mybb_g33k_thankyoulike_thankyoulike 200,992 MyISAM utf8_general_ci 9.5 MiB -
mybb_games 69 MyISAM utf8_general_ci 20.3 KiB -
mybb_games_categories 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_games_champions 69 MyISAM utf8_general_ci 5.5 KiB -
mybb_games_favourites 1,017 MyISAM utf8_general_ci 46.9 KiB -
mybb_games_rating 284 MyISAM utf8_general_ci 28.2 KiB -
mybb_games_scores 19,513 MyISAM utf8_general_ci 1.7 MiB -
mybb_games_sessions MyISAM utf8_general_ci 309.3 KiB 32 B
mybb_games_settings 25 MyISAM utf8_general_ci 6.8 KiB -
mybb_games_settings_groups 4 MyISAM utf8_general_ci 2.4 KiB -
mybb_games_templates 57 MyISAM utf8_general_ci 32.5 KiB -
mybb_games_themes 1 MyISAM utf8_general_ci 2.0 KiB -
mybb_games_tournaments 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_groupleaders 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_helpdocs 7 MyISAM utf8_general_ci 7.8 KiB -
mybb_helpsections 2 MyISAM utf8_general_ci 2.2 KiB -
mybb_icons 20 MyISAM utf8_general_ci 2.8 KiB -
mybb_joinrequests 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_lastvisitor ~676,938 InnoDB utf8_general_ci 34.6 MiB -
mybb_mailerrors 605 MyISAM utf8_general_ci 1.0 MiB -
mybb_maillogs 773 MyISAM utf8_general_ci 378.1 KiB -
mybb_mailqueue 0 MyISAM utf8_general_ci 13.9 KiB 11.9 KiB
mybb_massemails 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_moderatorlog 14,185 MyISAM utf8_general_ci 1.4 MiB -
mybb_moderators 23 MyISAM utf8_general_ci 3.9 KiB -
mybb_modtools 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_mycode 1 MyISAM utf8_general_ci 2.2 KiB -
mybb_mysb_reports 0 InnoDB utf8_general_ci 32.0 KiB -
mybb_mysb_shouts 153 InnoDB utf8_general_ci 48.0 KiB -
mybb_newpoints_forumrules 2 MyISAM utf8_general_ci 2.1 KiB -
mybb_newpoints_grouprules 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_newpoints_log Browse 15,336 MyISAM utf8_general_ci 1.7 MiB -
mybb_newpoints_lottery_term 49 MyISAM utf8_general_ci 4.2 KiB -
mybb_newpoints_lottery_tickets 5,633 MyISAM utf8_general_ci 298.5 KiB -
mybb_newpoints_settings 37 MyISAM utf8_general_ci 9.2 KiB -
mybb_newpoints_shop_categories 6 MyISAM utf8_general_ci 2.8 KiB -
mybb_newpoints_shop_items 97 MyISAM utf8_general_ci 15.4 KiB -
mybb_polls 1,787 MyISAM utf8_general_ci 383.3 KiB -
mybb_pollvotes 51,597 MyISAM utf8_general_ci 2.3 MiB -
mybb_posts 831,999 MyISAM utf8_general_ci 1.1 GiB -
mybb_privatemessages 154,853 MyISAM utf8_general_ci 136.7 MiB 20.2 KiB
mybb_profilecomments 654,835 MyISAM utf8_general_ci 138.4 MiB -
mybb_profilefields 12 MyISAM utf8_general_ci 3.5 KiB -
mybb_promotionlogs 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_promotions 0 MyISAM utf8_general_ci 1.0 KiB -
mybb_reportedposts 633 MyISAM utf8_general_ci 96.2 KiB -
mybb_reputation 133,308 MyISAM utf8_general_ci 14.8 MiB -
mybb_searchlog 71 InnoDB utf8_general_ci 112.0 KiB -
mybb_sessions ~49,285 InnoDB utf8_general_ci 38.9 MiB -
mybb_settinggroups 38 MyISAM utf8_general_ci 7.4 KiB -
mybb_settings 421 MyISAM utf8_general_ci 96.1 KiB -
mybb_smilies 442 MyISAM utf8_general_ci 31.0 KiB -
mybb_spiders 92 MyISAM utf8_general_ci 5.3 KiB -
mybb_stats 1,151 MyISAM utf8_general_ci 41.6 KiB -
mybb_tasklog 54 MyISAM utf8_general_ci 7.6 KiB -
mybb_tasks 13 MyISAM utf8_general_ci 3.8 KiB -
mybb_templategroups 39 MyISAM utf8_general_ci 3.5 KiB -
mybb_templates 1,146 MyISAM utf8_general_ci 1.1 MiB -
mybb_templatesets 7 MyISAM utf8_general_ci 2.2 KiB -
mybb_themes 6 MyISAM utf8_general_ci 7.3 KiB -
mybb_themestylesheets 30 MyISAM utf8_general_ci 100.6 KiB -
mybb_threadprefixes 3 MyISAM utf8_general_ci 2.3 KiB -
mybb_threadratings 880,479 MyISAM utf8_general_ci 44.8 MiB -
mybb_threads 37,935 MyISAM utf8_general_ci 9.8 MiB -
mybb_threadsread 22,111 MyISAM utf8_general_ci 924.7 KiB -
mybb_threadsubscriptions 62,722 MyISAM utf8_general_ci 5.8 MiB -
mybb_threadviewer 792,321 MyISAM utf8_general_ci 23.6 MiB -
mybb_threadviews 52 MyISAM utf8_general_ci 2.4 KiB -
mybb_thx 210,713 MyISAM utf8_general_ci 11.7 MiB -
mybb_upgrade_data 4 MyISAM utf8_general_ci 2.2 KiB -
mybb_userfields 155,806 MyISAM utf8_general_ci 6.3 MiB -
mybb_usergroups 17 MyISAM utf8_general_ci 8.9 KiB -
mybb_users 155,786 MyISAM utf8_general_ci 58.2 MiB -
mybb_users_profiledesigns ~943,465 InnoDB utf8_general_ci 69.6 MiB -
mybb_usertitles 13 MyISAM utf8_general_ci 3.1 KiB -
mybb_warninglevels 1 MyISAM utf8_general_ci 2.1 KiB -
mybb_warnings 10 MyISAM utf8_general_ci 2.7 KiB -
mybb_warningtypes 3 MyISAM utf8_general_ci 2.5 KiB -
101 table(s) Sum ~6,096,937 MyISAM latin1_swedish_ci 1.7 GiB 32.3 KiB
  پاسخ
تشکر شده توسط :
#2
برای تبدیل به innodb بهتره اول از همه یه دیتابیس ایجاد کنید و بعد همه جداول رو به در اون دیتابیس با ساختار فعلی فقط به صورت innodb ایجاد کنید و بعد اطلاعات رو انتقال بدید.
البته فکر می کنم سرورتون روش cpanel نصب باشه.
روی همچین سرورهایی که قرار به یک سایت به خصوص با بازدید بالا لینک بدن این کار رو نمی کنن. و از کنترل پنلهای دیگه که اجازه مانور بیشتری رو به مدیرهای سرور می کنه می دن استفاده می کنن.
یک همچین سروری با این مشخصات باید خیلی راحت به این سایت جواب بده.
البته باید تنظیمات سرور مثل تنظیمات آپاچی و مای اس کیو ال به خوبی برای این سرور انجام شده باشه.
برای نظرات بیشتر باید سایت رو در بار دید و لاگهای mysql رو هم دید(البته اگر slow log query فعال باشه)
  پاسخ
تشکر شده توسط : general Y.P.Y
#3
خیلی ممنون آقای سهرابلو ... البته من در ایجاد دیتابیس و انتقال محدودیت دارم , چون دیتابیس انجمن به طور جداگانه از خود پنل هست و از طرفی هم حجم برخی جداول انقدر زیاد هست که فرصت اپلود و دانلود ندارم. ولی خب این کار شما را به سرور پیشنهاد میدهم.
پس در حالت کلی بهتر هست که دیتابیس از پایه ایجاد و بعد اطلاعات منتقل شود ؟ یعنی اگر همیطوری از داخل خود phpmyadmin تغییر داده شود , موثر نیست ؟
  پاسخ
تشکر شده توسط :
#4
تغییر توی phpmyadmin که به روش alter هست اصلا بهینه نیست. بهترین روش ایجاد مجدد هست. قرار نیست فایل آپلود و دانلود کنید. یه سری کوئری قراره روی دیتابیس زده بشه برای انتقال از یک دیتابیس به یک دیتابیس دیگه
ولی کانفیگ mysql هم خیلی تاثیر داره
  پاسخ
تشکر شده توسط : general cyletech
#5
راستی در حالت کلی برای جدوال زیر , innodb را پیشنهاد میدهید ؟

mybb_thx تشکر
mybb_threadratings رتبه موضوع
mybb_threadviewer بازدید موضوع

mybb_profilecomments یادداشت پروفایل
mybb_privatemessages پیغام خصوصی
mybb_posts پست
  پاسخ
تشکر شده توسط :
#6
تغییر بعضی از جداول به یک انجین کار اشتباهی هست. در بهینه سازی دیتابیس شدیدا توصیه میشه که انجین همه جداول یکی باشه
  پاسخ
تشکر شده توسط : cyletech
#7
نقل قول:در بهینه سازی دیتابیس شدیدا توصیه میشه که انجین همه جداول یکی باشه
حتی جداولی که بهم ربطی ندارن؟

مثلاً جدول تریبون با جدول مطالب .
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#8
بله حتی جداولی که به هم ربطی ندارن. توی innodb نحوه ذخیره سازی به صورت pool هست و page file ساخته میشه. شما ممکنه توی هر کانکشن از دو انجین استفاده کنین. اینجوری mysql مجبوره هر دو انجین رو لود کنه
  پاسخ
تشکر شده توسط : Reza


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان