صبر کنید...
مرکز آموزش میلاد سرور

تیونینگ MySQL برای سرورهای کم‌منبع

تصویر آموزشی تیونینگ MySQL برای سرورهای کم‌منبع
راهنمای تصویری و مرحله‌به‌مرحله میلاد سرور

با تنظیم درست بافر و ایندکس، دیتابیس روی VPS ارزان هم سریع می‌ماند؛ اصول را یاد بگیرید.

آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی

در این آموزش چه یاد می‌گیرید؟
  • تیونینگ MySQL برای سرورهای کم‌منبع
  • مصرف حافظه فعلی را اندازه بگیرید
  • بعد از تغییر، پایداری را پایش کنید

چرا این موضوع مهم است؟

موضوع Database یکی از پایه‌های نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفه‌جویی در زمان پشتیبانی می‌شود.

اگر تازه سرور خریده‌اید، این آموزش نقطه شروع خوبی برای آشنایی با سرویس و جلوگیری از خطاهای رایج است.

پیش‌نیازها

  • دسترسی SSH با کاربر root یا کاربر دارای sudo
  • Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیع‌های مشابه)
  • نسخه پشتیبان از فایل‌ها و دیتابیس‌های مهم

راهنمای گام‌به‌گام

گام 1 — مصرف حافظه فعلی را اندازه بگیرید

مصرف حافظه فعلی را اندازه بگیرید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیش‌فرض پرهیز کنید.

گام 2 — پارامترهای innodb_buffer_pool را تنظیم کنید

پارامترهای innodb_buffer_pool را تنظیم کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.

گام 3 — کوئری‌های کند را با slow log پیدا کنید

کوئری‌های کند را با slow log پیدا کنید. این کار را در بازه کم‌ترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.

گام 4 — ایندکس‌های لازم را اضافه کنید

ایندکس‌های لازم را اضافه کنید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.

گام 5 — اتصال‌های همزمان را محدود کنید

اتصال‌های همزمان را محدود کنید. پس از اجرا، وضعیت سرویس و لاگ‌ها را کنترل کنید؛ تغییر بدون بررسی می‌تواند خطای پنهان ایجاد کند.

گام 6 — بعد از تغییر، پایداری را پایش کنید

بعد از تغییر، پایداری را پایش کنید. اگر روی چند سرور کار می‌کنید، این مورد را یک‌بار روی محیط تست اجرا و سپس روی تولید اعمال کنید.

نمودار مراحل تیونینگ MySQL برای سرورهای کم‌منبع
شش گام اصلی این آموزش در یک نگاه

نمونه دستورها

نمونه دستورهای تیونینگ MySQL برای سرورهای کم‌منبع
دستورهای پیشنهادی؛ مقادیر نمونه را با اطلاعات سرور خود جایگزین کنید.
innodb_buffer_pool_size = 512M
max_connections = 100
slow_query_log = 1
long_query_time = 1

نکات امنیتی و بهینه‌سازی

  • لاگ‌ها را پایش کنید تا رفتار غیرعادی زودتر شناسایی شود.
  • تغییرات را مستند کنید تا در آینده یا هنگام تحویل به تیم دیگر قابل پیگیری باشد.
  • رمزها و کلیدها را در فایل‌های محافظت‌شده نگه دارید و هرگز در کد یا مخزن عمومی قرار ندهید.

خطاهای رایج و راه‌حل

  • خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
  • اگر سرویس بالا نیامد، ابتدا journalctl و فایل خطای همان سرویس را بخوانید.
  • خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
نکته طلایی: buffer pool را از کل RAM بیشتر نکنید؛ برای سیستمعامل، وب‌سرور و Redis هم فضای کافی بگذارید.

سؤالات متداول

چرا دیتابیس با RAM کم کند است؟

کمبود buffer pool باعث I/O زیاد دیسک می‌شود؛ تنظیم و ایندکس را بررسی کنید.

چطور کوئری کند را پیدا کنم؟

با slow query log و EXPLAIN روی کوئری.

سرور مناسب نیازتان را انتخاب کنید

میلاد سرور پلن‌های اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آی‌پی اختصاصی و قیمت شفاف ارائه می‌کند. برای مقایسه همه کشورها فهرست کامل سرورهای بین‌الملل را ببینید.

جمع‌بندی

گام بعدی پیشنهادی: یک برنامه بکاپ خودکار و مانیتورینگ آپتایم برای همین سرویس راه‌اندازی کنید.

این آموزش برای شما مفید بود؟نظر شما به بهتر شدن آموزش‌ها کمک می‌کند.
اشتراک‌گذاری:تلگرامواتساپX