شاید نتوان کسی را درحوزه فناوری اطلاعات پیدا کرد که نام MySQL را نشنیده باشد. در مطلب حاضر میخواهیم به بررسی پارامترهای my.cnf این سیستم مدیریتی این پایگاه داده خوب، قدرتمند و پرکاربرد را با هم مرور کنیم. درباره MySQL مستندات و راهنماهای فراوانی از چند صفحه تا چند صد صفحه وجود دارد اما شاید کمتر بهصورت ترفندی به آن پرداخته شده باشد.
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. تغییر این مقدار تاثیری در افزایش و یا کاهش کارایی عملکرد برنامه شما ندارد.
query_cache_limit
حداکثر اندازه قابل ذخیره یک خروجی واحد، در cache است. این متغیر مربوط به query_cache_size است.
query_cache_type
نوع query cache را مشخص میکند.
0: نتایج در cache ذخیره نمی شود و یا نتایج قابل بازیابی نیست.
1: تمام query ها cache می شوند.
2: تنها query هایی که با SELECT SQL_CACHE آغاز می شوند قابل ذخیره است.
max_connections
تعداد تمام کانکشن های همزمان به SQL (مقدار پیش فرض آن 100 می باشد)
max_user_connections
تعداد کانکشن های همزمان یک user به دیتابیس
max_allowed_packet
حداکثر اندازه اطلاعات قابل ذخیره و بروز شدن در دیتابیس
ارسال پاسخ