DB Governor یک ابزار مدیریت و بهینهسازی پایگاه داده است که بهطور خاص توسط CloudLinux برای محیطهای میزبانی اشتراکی (Shared Hosting) طراحی شده است. این ابزار برای جلوگیری از مصرف بیش از حد منابع پایگاه داده توسط کاربران خاص (بهویژه در محیطهای اشتراکی) طراحی شده است، تا عملکرد سرور و تجربه دیگر کاربران تحت تاثیر قرار نگیرد.
ویژگیها و کارکردهای DB Governor:
محدود کردن منابع پایگاه داده:
DB Governor میتواند میزان مصرف CPU، RAM و تعداد Queryها را برای هر کاربر یا هر درخواست پایگاه داده محدود کند.
کنترل کاربران سنگین:
در محیطهای هاست اشتراکی، گاهی کاربران خاص با اجرای کوئریهای سنگین یا نادرست باعث کندی سرور میشوند. این ابزار از این اتفاق جلوگیری میکند.
نظارت و آمار دقیق:
DB Governor به شما این امکان را میدهد که عملکرد کوئریهای MySQL یا MariaDB کاربران را به صورت دقیق نظارت کنید. این شامل تشخیص کوئریهای سنگین یا غیر بهینه میشود.
بهینهسازی خودکار:
ابزار میتواند کوئریهای کند یا مسدود شده (Slow or Locked Queries) را شناسایی و مدیریت کند.
سازگاری با MySQL/MariaDB:
DB Governor برای پایگاههای داده MySQL و MariaDB طراحی شده است و با بیشتر نسخههای این پایگاههای داده سازگار است.
چگونه DB Governor فعال میشود؟
برای فعال کردن DB Governor در محیط CloudLinux، باید مراحل زیر را دنبال کنید:
۱. نصب DB Governor:
ابتدا مطمئن شوید که CloudLinux روی سرور شما نصب شده است.
برای بررسی نسخه CloudLinux:
uname -r
ابزار DB Governor را نصب کنید:
yum install db-governor
پس از نصب، اسکریپت تنظیمات را اجرا کنید:
dbgov_ctl install
۲. تنظیمات اولیه:
تنظیمات اولیه برای اتصال به پایگاه داده و پیکربندی منابع هر کاربر باید انجام شود.
فایل کانفیگ DB Governor در مسیر /etc/container/db_governor قرار دارد.
۳. انتخاب حالت اجرای DB Governor:
DB Governor به دو صورت میتواند کار کند
تحت حالت "Monitoring" – (فقط نظارت):
این حالت فقط عملکرد کوئریها را نظارت کرده و گزارشی ارائه میدهد.
dbgov_ctl enable-monitoring
تحت حالت "Limiting"- (محدودسازی)
این حالت علاوه بر نظارت، کاربران را بر اساس محدودیتهایی که تنظیم کردهاید، مدیریت میکند.
dbgov_ctl enable-limits
۴. پیکربندی محدودیتها:
برای تنظیم محدودیتها، باید مقادیر مناسب را برای هر کاربر یا گروه تعیین کنید:
برای محدود کردن تعداد کوئریها:
dbgov_ctl set-limit --user=username --limit=cpu:20,ram:256m
این مثال نشان میدهد که برای کاربر username محدودیت ۲۰ درصد CPU و ۲۵۶ مگابایت RAM تعیین شده است.
برای تعیین محدودیت عمومی: مقادیر عمومی را میتوانید در فایل /etc/container/db_governor/config تنظیم کنید.
۵. نظارت بر عملکرد:
برای مشاهده عملکرد و کاربران پرمصرف، از دستورات زیر استفاده کنید:
نمایش کاربران پر مصرف یا سنگین:
dbgov_ctl top
مشاهده گزارشهای کندی کوئریها:
dbgov_ctl slow-queries
بررسی وضعیت DB Governor
برای بررسی اینکه DB Governor فعال است یا نه، مراحل زیر را دنبال کنید:
روش ۱: استفاده از WHM رابط گرافیکی
در WHM در قسمت جستجو (نوار جستجوی سمت چپ)، عبارت CloudLinux Manager را تایپ کنید.
وارد بخش CloudLinux Manager شوید.
به بخش DB Governor بروید.
در این بخش میتوانید وضعیت DB Governor را بررسی کنید. اگر فعال باشد، گزینههای مربوط به نظارت و محدودیت نمایش داده میشود.
در غیر این صورت، گزینهای برای فعالسازی نمایش داده خواهد شد.
روش ۲: استفاده از خط فرمان
از طریق SSH به سرور خود متصل شوید.
دستور زیر را اجرا کنید تا وضعیت DB Governor را بررسی کنید:
dbgov_ctl status
اگر DB Governor فعال باشد، خروجی مشابه زیر خواهد بود:
DB Governor is enabled in the "limiting" mode.
یا:
DB Governor is enabled in the "monitoring" mode.
اگر فعال نباشد، خروجی به شما اعلام میکند که DB Governor غیرفعال است.
نکتهها:
DB Governor بهطور خاص برای سرورهایی که از CageFS استفاده میکنند، مفید است.
اگر از cPanel یا Plesk استفاده میکنید، DB Governor به خوبی با این کنترلپنلها سازگار است.