অনেকগুলি মাইএসকিউএল প্রক্রিয়া


12

আমি যখন তার বন্ধুকে জানিয়েছিলাম যে তার মাইএসকিউএল খুব বেশি স্মৃতি ব্যবহার করছে ... তার সার্ভারের সাথে আমি একজন বন্ধুকে সাহায্য করার চেষ্টা করছি ... দেখা যাচ্ছে এটি কেবল প্রচুর মেমরি ব্যবহার করে না, তবে অনেকগুলি মাইএসকিএল প্রক্রিয়া চলছে!

এখানে ফলাফল ps auxww|grep mysql: http://pastebin.com/kYrHLXVW

সুতরাং মূলত 13 টি মাইএসকিউএল প্রক্রিয়া রয়েছে এবং সেখানে মাইস্ক্ল্যাডমিন অনুসারে কেবল 1 ক্লায়েন্ট সংযুক্ত রয়েছে ...

কিছুক্ষণ পরে, এই প্রক্রিয়াটির প্রতিটি 50 মেমরি পর্যন্ত খায় তাই এটি শেষ হয়ে যায় প্রচুর স্মৃতি ...

আমি সরাসরি / usr / share / mysql থেকে আমার-মাঝারি cnf কনফিগার টেম্পলেটটি ব্যবহার করছি ... আমি মাইএসকিএল সার্ভারটি পুনরায় চালু করেছি তবে, এটি শুরু হওয়ার সাথে সাথেই 13 টি প্রক্রিয়া ফিরে এসেছে ... আমার কী ধারণা নেই সমস্যা হতে পারে ... কোন ধারণা / পরামর্শ সত্যিই প্রশংসা করা হবে!

উত্তর:


16
mysql     9804  0.0  0.6 58556 22960 pts/0   S    12:43   0:00  \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql     9807  0.0  0.6 58556 22960 pts/0   S    12:43   0:00      \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql     9808  0.0  0.6 58556 22960 pts/0   S    12:43   0:00          \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql     9809  0.0  0.6 58556 22960 pts/0   S    12:43   0:00          \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql     9810  0.0  0.6 58556 22960 pts/0   S    12:43   0:00          \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
[ ... repeated output truncated ... ]

তারা 13 * 50mb র্যাম ব্যবহার করছে না - তারা সম্ভবত 70mb মোটের মতো কিছু ব্যবহার করছে । মনে রাখবেন যে লিনাক্স প্রক্রিয়াগুলির মধ্যে অশোধিত মেমরি পৃষ্ঠাগুলি ভাগ করে দেবে, তাই যদি আপনার সার্ভারটি নতুনভাবে শুরু হয় তবে মেমরিটির বেশিরভাগ ভাগ করা হবে। আসলে, যেহেতু মাইএসকিএল থ্রেড করা হয়েছে সেখানে সম্ভবত প্রতি থ্রেডের চেয়ে কম মেমরিও বরাদ্দ থাকবে। আপনি যদি প্রতিটি মাইএসকিএল প্রক্রিয়াটির মেমরির ব্যবহার সম্পর্কে উদ্বিগ্ন হন /etc/mysql/my.cnf, এবং মাইএসকিএল অংশে ভেরিয়েবলগুলি দেখুন এবং দেখুন:

  • key_buffers
  • thread_stack
  • thread_cache_size
  • max_connections
  • query_cache_limit
  • query_cache_size

তবে সতর্ক হোন যে এগুলি টিউন করার জন্য খুব শক্তিশালী ভেরিয়েবল এবং আপনি খুব সহজেই আপনার মাইএসকিএল সম্পাদনাকে খুব কম সেট করে ফেলতে পারেন বা মেমরি নষ্ট করতে পারেন যা এগুলিকে খুব বেশি করে সেট করে দিয়ে অন্য কোথাও ব্যবহার করা যেতে পারে।

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


1
আমি জানি না mysqltune, খুব দরকারী ধন্যবাদ। এছাড়াও, কেউ htopআমাদের থ্রেডগুলিতে রঙিন করতে এবং প্রক্রিয়া অনুযায়ী প্রকৃত মেমরি ব্যবহার করতে পারে।
mveroone

3

লিনাক্স থ্রেডগুলি পৃথক প্রক্রিয়া হিসাবে দেখায়। মাইএসকিউএল প্রতি সংযোগে একটি থ্রেড শুরু করে। চলমান psসঙ্গে f। উদাহরণস্বরূপ, ps auxfwথ্রেডগুলি কীভাবে সম্পর্কিত তা প্রদর্শন করবে।

মাইএসকিউএলে কতগুলি সংযোগ রয়েছে? show full processlist;মাইএসকিউএল ক্লায়েন্টে চালান । আপনি যা প্রদর্শন করছেন তা থেকে আমি আত্মবিশ্বাসীও নই যে এখানে কিছু ভুল আছে।


ফলাফলটি এখানে: পেস্টবিন.com / raw.php?i=XNCsG6KS সার্ভারটি সবেমাত্র শুরু হয়েছিল নিশ্চিত নয় এটি সাহায্য করে কিনা ... থ্রি স্ক্রিপ্টগুলির দ্বারা আপনি কি /etc/init.d/mysql এর সামগ্রী বোঝাতে চান?
ব্যবহারকারী 24994

এটি আমার কাছে একেবারে স্বাভাবিক দেখাচ্ছে।
ওয়ার্নার

মতে show full processlistডাটাবেসের 2 সংযোগ আছে। তাদের একজন লোকালহোস্ট এক্সিকিউটিভ হচ্ছেন show full processlist, অন্য একজন হলেন আমিও, পিপিএপিএমএডমিনের মাধ্যমে। সাইটটি এখনও লাইভ না থাকায় আর কোনও সংযোগ থাকা উচিত নয় ...
ব্যবহারকার 24994

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

দুঃখিত, আমি অনুমান করি এটি আমার প্রশ্নে সত্যই পরিষ্কার ছিল না হাহা, এটি সম্পূর্ণরূপে সম্ভব যে এখানে কিছু ভুল হচ্ছে না! আমি কেবল লক্ষ্য করেছি যে মাইএসকিএল প্রচুর মেমরি ব্যবহার করছে (আনুমানিক ১৩ * ৫০ এমবি, সুতরাং 50৫০ মিম) এবং এখনও সাইটে কোনও ট্র্যাফিক নেই ... কেবল আমার phpmyadmin এ ঘোরাঘুরি করছে। সুতরাং আমি অনুমান করি আমার প্রশ্নটি আরও ছিল "কিছু আছে কি ভুল?" "কি সমস্যা" এর পরিবর্তে :)
ব্যবহারকারী 24994

1

আপনি মাইএসকিউএলটিউনারটি চেষ্টা করতে চাইতে পারেন যা আমি খুব সহায়ক বলে মনে করেছি, এটি আপনাকে পরামর্শ দেবে যে কোন কনফিগার ভেরিয়েবলগুলি সামঞ্জস্য করার চেষ্টা করা উচিত।


নতুন পাঠকদের জন্য, মাইএসকিউএলটিউনার লিপিটি এখানে স্থাপন করা হয়েছে: mysqltuner.pl
গ্রান লরসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.