কম্পিউটার টিউটোরিয়াল

MySQL ইনস্টলেশনের পর গুরুত্বপূর্ণ পারফরম্যান্স টিউনিং সেটিংস

MySQL ইনস্টলেশনের সাথে সাথে কিছু কনফিগারেশন টিউন করলে পারফরম্যান্স অনেক উন্নত হয়। নিচে গুরুত্বপূর্ণ সেটিংস দেওয়া হলো।

প্রদান করার আগে সতর্কতা

  • একবারে এক সেটিং পরিবর্তন করুন।
  • SET GLOBAL দিয়ে রানটাইমে চেঞ্জ করুন, সমস্যা হলে রিভার্ট সহজ।
  • কনফিগ ফাইল সঠিক সেকশন ([mysqld]) এ লিখুন।
  • ডুপ্লিকেট সেটিং এড়ান, ভার্সন কন্ট্রোল ব্যবহার করুন।

মূল পারফরম্যান্স সেটিংস ([mysqld] সেকশন)

1. innodb_buffer_pool_size

সবচেয়ে গুরুত্বপূর্ণ। InnoDB ডেটা ও ইনডেক্স ক্যাশ করার মেমরি।

  • সuggestion: RAM-এর ৭০-৮০% (ডেডিকেটেড DB সার্ভারের জন্য)।
  • উদাহরণ: ৮GB RAM → ৫-৬GB।
  • SET GLOBAL innodb_buffer_pool_size = 6*1024*1024*1024; (৬GB)

2. innodb_log_file_size

রিডো লগ ফাইল সাইজ। ক্র্যাশ রিকভারি এবং রাইট পারফরম্যান্সে প্রভাব ফেলে।

  • MySQL 5.6+ এ সাইজ লিমিট উঠিয়ে দেওয়া হয়েছে।
  • সuggestion: ১-২GB (বড় ট্রানজেকশন ওয়ার্কলোডের জন্য)।
  • বদলাতে সার্ভিস রিস্টার্ট লাগে (লগ ফাইল রিক্রিয়েট হয়)।

3. max_connections

সიმাল্টেনিয়াস কানেকশন লিমিট। ডিফল্ট ১৫১।

  • "Too many connections" এরর এড়াতে বেড়ান।
  • খুব বড় মান সার্ভারকে আনরেসপন্সিভ করতে পারে।
  • অ্যাপ্লিকেশন কানেকশন পুলিং ব্যবহার করলে কম লাগে।

4. innodb_log_buffer_size

অনকমিটেড ট্রানজেকশনের লগ বাফার। ডিফল্ট ১MB।

  • বড় ট্রানজেকশন (TEXT/BLOB) হলে বেড়ান (১৬-৬৪MB)।
  • ডিস্ক I/O কমাতে সাহায্য করে।

5. innodb_flush_method

লগ ও ডেটা ডিস্কে ফ্লাশ করার মেথড।

  • O_DIRECT — RAID কন্ট্রোলার উইথ রাইট-ব্যাক ক্যাশের জন্য সেরা।
  • O_DSYNC — সাধারণ পরিস্থিতির জন্য।
  • Sysbench দিয়ে বেনচমার্ক করুন।

6. query_cache_size

কোয়েরি ক্যাশ আকার। সuggestion: ০ (ডিজেবল)।

  • কনকারেন্সি বটলनेक তৈরি করে।
  • MySQL 5.6+ ডিফল্টে ডিজেবল।
  • বিকল্প: Redis, Memcached এক্সটার্নাল ক্যাশ।

7. log_bin

বাইনারি লগ ইनेবল (রেপ্লিকেশন, পয়েন্ট-ইন-টাইম রিকভারির জন্য)।

  • expire_logs_days = 7 — পুরনো লগ অটো ডিলিট।
  • PURGE BINARY LOGS — ম্যানুয়াল ক্লিনআপ।

8. skip_name_resolve

DNS লুকআপ ডিজেবল (হোস্টনেম রেজোলুশন বন্ধ)।

  • স্লো DNS কানেকশন লেটেন্সি বেড়ায়।
  • GRANT স্টেটমেন্টে IP অ্যাড্রেস ব্যবহার করুন।

উপরোক্ত সেটিংস টিউন করে MySQL-র রিড/রাইট পারফরম্যান্স উল্লেখযোগ্যভাবে উন্নত করা সম্ভব। প্রতিটি পরিবর্তন পরীক্ষা করে প্রোডাকশনে লাগান।

  1. MS SQL Server 2019 ইনস্টলেশন গাইড: বেসিক সেটিংস এবং সুপারিশ

  2. MariaDB: ইনস্টলেশন এবং পারফরম্যান্স অপ্টিমাইজেশন

  3. MySQL এবং PostgreSQL-এর পার্থক্য

  4. MySQL সার্ভার এবং সার্ভার-স্টার্টআপ প্রোগ্রাম