মাইএসকিউএল সেটিংস অনুকূলকরণ - মাইএসকিএলডি মেমরি শেষ হচ্ছে


15

আমার সার্ভারের জন্য অপ্টিমাইজ করার জন্য আমার মাইকনফ ফাইলটিতে কোন সেটিংস পরিবর্তন করতে হবে সে সম্পর্কে আমি কিছুটা বিভ্রান্ত হয়ে পড়েছি (আমাদের উচ্চ ট্র্যাফিকের কারণে মাইএসকিএল সার্ভার ক্রাশ হতে থাকে)।

এখানে my.cnf ফাইলটি রয়েছে:

[mysqld]

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

key_buffer              = 16M
max_allowed_packet      = 16M
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

query_cache_limit       = 1M
query_cache_size        = 16M

এবং সার্ভারের চশমা হ'ল:

CPU Cores   2 cores
RAM (Memory)    1GB
SSD (Disk Space)    20GB

উবুন্টু 12.04 এলটিএস চালানো

আমার পার্টিশনগুলি এখানে:

NAME   FSTYPE   SIZE MOUNTPOINT LABEL
vda              20G            
├─vda1 ext4     476M /boot      
├─vda2 swap     477M [SWAP]     
└─vda3 ext4    19.1G / 

কোন সাহায্যের অনেক প্রশংসা হবে।

ত্রুটির লগগুলি দেখে, আমি দেখতে পাচ্ছি যে মাইএসকিএলডি স্মৃতিশক্তি থেকে দূরে ছিল:

Feb 17 11:02:06 111488 kernel: [8276839.559141] Out of memory: Kill process 20719 (mysqld) score 75 or sacrifice child
Feb 17 11:02:06 111488 kernel: [8276839.559209] Killed process 20719 (mysqld) total-vm:1347424kB, anon-rss:30524kB, file-rss:0kB

উত্তর:


10

সার্ভারগাইড উইকি থেকে সাধারণ উত্তর :

মাইএসকিউএল টিউনার মাইএসকিএলটিউনার ইনস্টল করুন

মাইএসকিউএল টিউনার একটি দরকারী সরঞ্জাম যা একটি চলমান মাইএসকিউএল দৃষ্টান্তের সাথে সংযোগ স্থাপন করবে এবং কীভাবে এটি আপনার কাজের চাপের জন্য সর্বোত্তমভাবে কনফিগার করা যায় তার জন্য পরামর্শ প্রদান করবে। সার্ভারটি যত দীর্ঘ সময় ধরে চলেছে, তত ভাল পরামর্শের জন্য মাইএসকিউটিউনার প্রদান করতে পারে। উত্পাদনের পরিবেশে, সরঞ্জামটি চালানোর আগে কমপক্ষে 24 ঘন্টা অপেক্ষা করা বিবেচনা করুন। আপনি উবুন্টু সংগ্রহস্থল থেকে মাইএসকিএলটিউনার ইনস্টল করতে পারেন:

sudo apt-get install mysqltuner

তারপরে এটি ইনস্টল হয়ে গেলে এটি চালান:

 mysqltuner

এবং এর চূড়ান্ত প্রতিবেদনের জন্য অপেক্ষা করুন। উপরের অংশটি ডাটাবেস সার্ভার সম্পর্কে সাধারণ তথ্য সরবরাহ করে এবং নীচের অংশটি আপনার মাই সিএনএফ-এ পরিবর্তন করার জন্য টিউন করার পরামর্শ সরবরাহ করে। এর বেশিরভাগই পুনরায় আরম্ভ না করেই সার্ভারে সরাসরি পরিবর্তন করা যেতে পারে, প্রযোজ্য পরিবর্তনশীলগুলির পরিবর্তনের জন্য সরকারী মাইএসকিউএল ডকুমেন্টেশন (সংস্থানসমূহের লিঙ্ক) এর মাধ্যমে দেখুন look নীচে একটি প্রোডাক্ট ডাটাবেসের একটি উদাহরণ প্রতিবেদনের অংশ যা দেখায় যে ক্যোয়ারী ক্যাশের পরিমাণ বাড়িয়ে কিছুটা সুবিধা থাকতে পারে:

-------- প্রস্তাবনাগুলি ----------------------------------------- ------------
সাধারণ সুপারিশ:
    উন্নত পারফরম্যান্সের জন্য টেবিলগুলিকে ডিফ্র্যাগমেন্ট করতে অপ্টিমাইজ টেবিলটি চালান
    ফাইল বর্ণনাকারীর সীমা এড়ানোর জন্য টেবিল_ক্যাচ ধীরে ধীরে বাড়ান
চলকগুলি সামঞ্জস্য করতে:
    কী_বফার_ সাইজ (> 1.4 জি)
    ক্যোরি_ক্যাচি_সাইজ (> 32 এম)
    টেবিল_ক্যাচ (> 64)
    ইনোডাব_বফার_পুল_সাইজ (> = 22 জি)

টিউনিং ডেটাবেসগুলির বিষয়ে একটি চূড়ান্ত মন্তব্য: যদিও আমরা বিস্তৃতভাবে বলতে পারি যে নির্দিষ্ট সেটিংস সর্বোত্তম, কর্মক্ষমতা অ্যাপ্লিকেশন থেকে প্রয়োগের ক্ষেত্রে পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, ওয়ার্ডপ্রেসের জন্য যা সবচেয়ে ভাল কাজ করে তা দ্রুপাল, জুমলা বা মালিকানাধীন অ্যাপ্লিকেশনগুলির পক্ষে সেরা নাও হতে পারে। পারফরম্যান্স কোয়েরির ধরণ, সূচির ব্যবহার, ডাটাবেস ডিজাইন কতটা দক্ষ এবং এর উপর নির্ভর করে। আপনি কী অ্যাপ্লিকেশনগুলির জন্য এটি ব্যবহার করছেন তার উপর ভিত্তি করে ডাটাবেস টিউনিং টিপসের সন্ধানে কিছুটা সময় ব্যয় করা আপনার পক্ষে দরকারী হতে পারে। কোনও নির্দিষ্ট বিন্দুটি অতিক্রম করার পরে আপনি যে কোনও সামঞ্জস্য করেন তা কেবলমাত্র সামান্য উন্নতির ফলস্বরূপ হয় এবং আপনি অ্যাপ্লিকেশনটি উন্নত করতে পারেন, অথবা আরও শক্তিশালী হার্ডওয়্যার ব্যবহার করে বা স্লেভ সার্ভার যুক্ত করে আপনার ডাটাবেস পরিবেশকে বাড়িয়ে তোলা ভাল।


  • মাইএসকিউটিউনার রিপোর্টের পারফরম্যান্স মেট্রিক্স বিভাগটি দেখুন। সর্বোচ্চ সম্ভব মেমরিটি 50% এর নীচে রাখুন।
  • tmp_table_size, max_heap_table_size variable: এগুলি সমান এবং উচ্চতর রাখুন।
  • join_buffer_size, অল্প পরিমাণে বৃদ্ধি; এটি দ্বারা গুণ করা হবে max_connections
  • innodb_buffer_pool_size। এটি উচ্চ করুন।


0

ডকার রচনার জন্য রেজোলিউশন

mysql:
    volumes:
        - ./config/mysql/my.cnf:/etc/mysql/conf.d/my.cnf

কনফিগার কনটেন্ট ./config/mysql/my.cnf

[mysqld]
performance_schema = off
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.