কিভাবে চলমান MySQL প্রসেস দেখাবেন

Kibhabe Calamana Mysql Prasesa Dekhabena



আপনার মাইএসকিউএল সার্ভারে অসংখ্য থ্রেড চলছে এমন একটি কেস থাকা সম্ভব। এই থ্রেডগুলির মধ্যে, নিষ্ক্রিয়গুলি আপনার MySQL সার্ভারে একটি ত্রুটি সৃষ্টি করতে পারে যদি না আপনি চলমান প্রক্রিয়াগুলি দেখতে পারেন এবং সেগুলিকে মেরে ফেলতে পারেন যা আপনার বর্তমানে প্রয়োজন নেই৷

মাইএসকিউএল হল একটি রিলেশনাল ডিবিএমএস যা ব্যবহারকারীদের চলমান প্রক্রিয়া তালিকাভুক্ত করার জন্য বিভিন্ন বিকল্প অফার করে। আমরা ব্যাখ্যা করব কিভাবে চলমান MySQL প্রসেস দেখাতে হয়।







মাইএসকিউএল প্রসেস শনাক্ত করা

যখন আপনার সার্ভারে একটি MySQL ডাটাবেস থাকে, তখন এটির লোডের পরিমাণ পরীক্ষা করার জন্য আপনাকে মাঝে মাঝে এটির স্থিতি পরীক্ষা করতে হতে পারে। যখন আপনি আপনার MySQL ডাটাবেসে বিভিন্ন প্রশ্নের সাথে বিলম্ব বা সমস্যা লক্ষ্য করেন, তখন এটি সংকেত দেয় যে আপনার অতিরিক্ত এবং নিষ্ক্রিয় থ্রেড থাকতে পারে।



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



পদ্ধতি 1: শো প্রসেসলিস্ট কমান্ডের মাধ্যমে

আপনি যখন কমান্ড লাইনে MySQL অ্যাক্সেস করেন, আপনি আপনার MySQL সার্ভারে চলমান সমস্ত প্রক্রিয়া সম্পর্কিত তথ্য প্রদর্শন করতে SHOW PROCESSLIST কমান্ড ব্যবহার করতে পারেন। যখন কার্যকর করা হয়, এটি সার্ভারকে বিভিন্ন সংযোগের একটি স্ন্যাপশট দেয় এবং তাদের তথ্য যেমন রাষ্ট্র, সময় ইত্যাদি।





কার্যকর করার জন্য নিম্নলিখিত কমান্ড:

প্রসেসলিস্ট দেখান;

আউটপুট থেকে বিভিন্ন কলাম নোট করুন। আসুন সংক্ষেপে প্রতিটি আলোচনা করা যাক:



  1. আইডি - এটি চলমান প্রক্রিয়ার প্রক্রিয়া আইডি প্রদর্শন করে। চলমান অসংখ্য প্রক্রিয়ার ক্ষেত্রে, প্রতিটিরই স্বতন্ত্র আইডি রয়েছে।
  2. ব্যবহারকারী - এটি নির্দিষ্ট থ্রেডের সাথে যুক্ত ব্যবহারকারীর প্রতিনিধিত্ব করে।
  3. হোস্ট - এটি হোস্টকে দেখায় যেখানে নির্দিষ্ট ক্লায়েন্ট সংযুক্ত রয়েছে। এটি নির্দিষ্ট ক্লায়েন্টের হোস্ট নাম যা বিবৃতি জারি করেছে।
  4. ডিবি - যদি একটি নির্দিষ্ট থ্রেডের জন্য একটি ডাটাবেস নির্বাচন করা হয় তবে এটি ডিবি কলামের অধীনে প্রদর্শিত হবে। যদি এটি NULL দেখায়, কোন ডাটাবেস নির্বাচন করা হয় না।
  5. আদেশ - এটি থ্রেড দ্বারা কার্যকর করা কমান্ড দেখায়।
  6. সময় - নির্দিষ্ট থ্রেডের জন্য, এই কলামটি বলে যে থ্রেডটি তার বর্তমান অবস্থায় কতক্ষণ আছে।
  7. অবস্থা - এটি দেখায় যে থ্রেডটি কোন রাষ্ট্র বা ইভেন্টে জড়িত।
  8. তথ্য - এটি দেখায় যে থ্রেডটি বর্তমানে কী বিবৃতি কার্যকর করছে।

এই ক্ষেত্রে, পূর্ববর্তী আউটপুট হল ফলাফল যা আমরা আমাদের SHOW PROCESSLIST কমান্ড থেকে পাই। ফলাফল একটি সারণী পদ্ধতিতে প্রদর্শিত হয়. ধরুন আপনি একই ফলাফল দেখতে চান কিন্তু উল্লম্ব পদ্ধতিতে। আপনি পরিবর্তে নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:

প্রসেসলিস্ট দেখান\G;

আপনি যে কোনো চলমান প্রক্রিয়াটি মিস করবেন না তা নিশ্চিত করতে ঐচ্ছিকভাবে কমান্ডে [FULL] অন্তর্ভুক্ত করুন।

পদ্ধতি 2: INFORMATION_SCHEMA.PROCESSLIST বিকল্পের মাধ্যমে

MySQL-এর INFORMATION_SCHEMA.PROCESSLIST সারণী রয়েছে যাতে তার সার্ভারে যাওয়া সমস্ত সক্রিয় সংযোগগুলির একটি তালিকা রয়েছে৷ এই টেবিলটি অ্যাক্সেস করার মাধ্যমে, আপনি সেই সমস্ত সক্রিয় সংযোগগুলির হোস্ট, প্রসেস আইডি, স্টেট, কমান্ড ইত্যাদি জানতে পারবেন যা আপনি শো প্রসেসলিস্ট কমান্ডের সাথে যা পাবেন তার অনুরূপ।

এখানে চালানোর কমান্ড আছে:

INFORMATION_SCHEMA.PROCESSLIST থেকে * নির্বাচন করুন;

আপনি কমান্ডটি কার্যকর করার পরে, আপনি একটি আউটপুট পাবেন যা নিম্নলিখিতটির মতো যা MySQL চলমান প্রক্রিয়াগুলির সমস্ত বিবরণ দেখায়:

মাইএসকিউএল চলমান প্রক্রিয়াগুলিকে কীভাবে মেরে ফেলা যায়

ধরুন আপনার চলমান প্রক্রিয়াগুলির সাথে একটি সমস্যা আছে। আপনার সার্ভারের লোড টাইম কমাতে এবং দক্ষতা বাড়াতে আপনি যেকোন নিষ্ক্রিয় প্রক্রিয়াকে মেরে ফেলতে পারেন। প্রথম কাজটি নির্দিষ্ট থ্রেডের আইডি সনাক্ত করা। যেকোনো থ্রেডের আইডি খুঁজে বের করার জন্য আমরা দুটি পদ্ধতি দিয়েছি।

একবার আপনার আইডি হয়ে গেলে, আপনি নিম্নলিখিত সিনট্যাক্স সহ 'হত্যা' কমান্ডটি চালাতে পারেন:

KILL ;

একবার আপনি কমান্ডটি কার্যকর করলে, আপনি একটি সফল আউটপুট পাবেন যা প্রভাবিত সারিটি দেখায় এবং অনুসন্ধানটি সার্ভার থেকে সংযোগ বিচ্ছিন্ন হয়ে যাবে। এভাবেই আপনি একটি MySQL প্রক্রিয়াকে মেরে ফেলবেন।

উপসংহার

মাইএসকিউএল দুটি উপায় অফার করে যা আপনি চলমান প্রক্রিয়াগুলি দেখানোর জন্য ব্যবহার করতে পারেন। মাইএসকিউএল শো প্রসেসলিস্ট বুঝতে সাহায্য করার জন্য আমরা উভয় বিকল্প নিয়ে আলোচনা করেছি, প্রদত্ত সিনট্যাক্স এবং একটি উদাহরণ কমান্ড। তবুও, আমরা দেখেছি কিভাবে আপনি একটি চলমান প্রক্রিয়াকে হত্যা করতে পারেন। আশা করি, আপনি এখন বুঝতে পেরেছেন কিভাবে MySQL শো প্রসেসলিস্ট কাজ করে।