MySqlبهینه سازی

بررسی پارامترهای my.cnf (بخش اول)

query_cache_size

گاهی بارها و بارها پرس و جوی یکسان بر روی مجموعه داده های مشابه پایگاه داده انجام می شود ، که در هر بار اجرا همان نتایج قبلی را باز می گرداند، MySQL می تواند نتایج را راCache نماید و باعث اجتناب از ایجاد سربار با اجرای مکرر داده ها بارها و بارها شود و Load کاری سرور را کاهش می دهد.

key_buffer_size

key_buffer_size اندازه بافر برای Index های استفاده شده می باشد. بافرهای بزرگ تر سریع تر دستورات SQL را اجرا می نمایند و نتیجه را بازمی گردانند. مقدار آن حداقل یک چهارم میزان حافظه اصلی RAM است و توجه داشته باشید که مقدار آن نباید بیش از نصف میزان حافظه اصلی قرار گیرد. در حالت ایده آل تمام اطلاعات در بافر index می شود. ( به اندازه مجموع تمام فایل های MYI بر روی سرور)

table_cache

به طور پیش فرض 64 است. در هر بار دسترسی Mysql به Table ، آن Table در Cache قرار می گیرد. اگر سیستم به Table های زیادی دسترسی داشته باشد، در صورت Cache بودن فرایندها سریعتر انجام می شود. Mysql از قابلیت multi-threaded پشتیبانی می نماید. ممکن است query های زیادی در لحظه روی Table در حال اجرا باشد و هر یک از query ها روی یک Table باز کار می کند. جهت فعالیت open_tables نیاز به فعال سازی table_cache احساس می شود. در صورت ایجاد open_tables های زیاد، شما باید table_cache را افزایش دهید اگر شما به اندازه کافی حافظه اصلی RAM دارید.

thread_cache

اگر سرور شما دارای load بالایی میباشد، که connection های زیادی دارد، thread cache را برای جلوگیری از ایجاد بار اضافه روی CPU فعال نمایید.

wait_timeout

مدت زمان به ثاینه که Mysql منتظر یک فرایند غیرفعال می ماند و پس این مدت زمان، آن connection بسته میشود البته در اتصال های non-interactive (غیر تعاملی). این پارامتر باید به میزان حداقل ممکن تنظیم شود چرا که تاثیرچندانی در دسترسی و عملکرد سیستم ندارد.

interactive_timeout

مشابه عملکرد wait_timeout و برای connection هایی از نوع interactive. تغییر این مقدار تاثیری در افزایش و یا کاهش کارایی عملکرد برنامه شما ندارد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا