প্রক্রিয়া তালিকায় mysql ঘুমের স্থিতি প্রক্রিয়া সম্পর্কে আমার চিন্তা করা উচিত


11

ওয়েবসাইট অপারেশন চলাকালীন, মাইএসকিএল প্রক্রিয়া তালিকায়, আমি "কমান্ড" কলামটি "স্লিপ" হিসাবে চিহ্নিত হয়ে বেশ কয়েকটি প্রক্রিয়া দেখতে পাচ্ছি।

আমার কি চিন্তা করা উচিত? কিভাবে এই বন্ধ?


উত্তর:


17

এমনকি আমাদের মধ্যে সবচেয়ে শক্তিশালী ব্যক্তিদের মাঝে মাঝে ঘুমানো দরকার। নিদ্রা ব্যতীত কেউ উদ্বিগ্ন হয়ে পড়ে এবং অনিদ্রা সব ধরণের গুরুতর লক্ষণ দেখা দিতে পারে।

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

বা যদি আপনার ওয়েব অ্যাপ্লিকেশন অবিচ্ছিন্ন সংযোগ এবং সংযোগ পুলিং ব্যবহার করে, তবে এমনকি প্রচুর ঘুমের প্রক্রিয়া হওয়া একেবারে স্বাভাবিক: সেক্ষেত্রে আপনার অ্যাপ্লিকেশনটি কেবলমাত্র 100 এসকিউএল সংযোগের জন্য খোলে এবং এগুলিকে উন্মুক্ত রাখে। এটি সংযোগ খোলার / ওভারহেড বন্ধ করে দেয়। আপনার অ্যাপ্লিকেশনটি খুব ব্যস্ত না হলে এটি স্বাভাবিক যে প্রায় প্রতিটি এসকিউএল প্রক্রিয়াতে কিছু করার থাকে না, তাই তারা ঘুমায় sleep


5

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

অনেকগুলি ওয়েবসাইট এমন তৈরি করা হয় যে কোনও পৃষ্ঠার প্রক্রিয়াকরণের শুরুতে একটি ডাটাবেস সংযোগ খোলা হয়, তারপরে পৃষ্ঠার প্রজন্ম জুড়ে ব্যবহার করা হয় এবং শেষ পর্যন্ত বাতিল করা হয়। যদি বিঘ্নটি সঠিকভাবে করা হয় তবে ডাটাবেস সংযোগটি বন্ধ হয়ে যায় এবং সার্ভার তারপরে প্রাসঙ্গিক থ্রেডটি মেরে ফেলবে, যার অর্থ এই সংযোগটি প্রক্রিয়া তালিকা থেকে অদৃশ্য হয়ে যায়।

যদি সংযোগটি বন্ধ না করা হয়, এটি সময় শেষ না হওয়া পর্যন্ত এটি "স্লিপ" অবস্থায় থাকতে পারে। সেক্ষেত্রে আপনি প্রচুর ঘুমের প্রক্রিয়া শেষ করতে পারেন। তবে আপনি ডিবি সার্ভারে মেমরির সমস্যাগুলি না চালালে এটি কোনও বড় সমস্যা নয়।


3

সর্বাধিক সংযোগের ভেরিয়েবলটি বাড়ানোর আগে আপনাকে শো প্রসেসলিস্ট কমান্ডটি চালিয়ে কতটি অ-ইন্টারেক্টিভ সংযোগ রয়েছে তা পরীক্ষা করতে হবে।

আপনার যদি অনেক ঘুমের সংযোগ থাকে তবে কিছু সময় অপেক্ষা করার পরে অ-ইন্টারেক্টিভ সংযোগটি বন্ধ করতে আপনাকে "ওয়েটটাইমআউটআউট" ভেরিয়েবলের মান হ্রাস করতে হবে।

  • ওয়েটটাইমআউটআউট মানটি দেখানোর জন্য:
সেশন ভেরিয়েবলগুলি দেখান 'অপেক্ষা_টাইমআউট' পছন্দ করুন;

+ + --------------- + + ------- + +
| পরিবর্তনশীল_নাম | মান |
+ + --------------- + + ------- + +
| অপেক্ষা_টাইমআউট | 28800 |
+ + --------------- + + ------- + +

মানটি দ্বিতীয় স্থানে রয়েছে, এর অর্থ হ'ল অ-ইন্টারেক্টিভ সংযোগটি এখনও 8 ঘন্টা অবধি রয়েছে।

  • "অপেক্ষা_টাইমআউট" ভেরিয়েবলের মান পরিবর্তন করতে:
SET সেশন অপেক্ষা_টাইমআউট = 600;
অনুসন্ধান ঠিক আছে, 0 টি সারি প্রভাবিত (0.00 সেকেন্ড)

10 মিনিটের পরে যদি ঘুমের সংযোগটি এখনও মাইএসকিএল ঘুমায় বা মারিয়াডিবি সেই সংযোগটি বাদ দেয়।

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