যখন মাইএসকিউএল থ্রেডগুলি প্রায়শই ক্যোয়ারী ক্যাশে অক্ষম থাকে তখন "আইটেমগুলি মুক্তকরণ" স্থিতি প্রদর্শন করে?


16

আমি যখন চালনা করি SHOW PROCESSLIST, "নিখরচায় আইটেমগুলি" অবস্থায় প্রায়শই INSERT / UPDATE থ্রেড থাকে।

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

যাইহোক, আমার query_cache_size0 তে সেট করা আছে যা ক্যোয়ারী ক্যাশে পুরোপুরি অক্ষম করে।

এই রাজ্যে এতগুলি থ্রেড থাকার অন্য কোন কারণ থাকতে পারে?

সম্পর্কিত টেবিলগুলি InnoDB স্টোরেজ ইঞ্জিন ব্যবহার করে।

উত্তর:


7

ইন্নোডব_থ্রেড_কোনচারেন্সির মানটি পরীক্ষা করে দেখুন।

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

সামগ্রিক সার্ভারের পারফরম্যান্সে এটি একটি বড় পার্থক্য তৈরি করার সময় এটি "সরিয়ে ফেলা আইটেম" রূপালী বুলেট ছিল না। আমার হার্ডওয়্যার ইকোসিস্টেম আমাকে অনুমান করতে পরিচালিত করে যে এই রাজ্যটি বেশিরভাগ ক্ষেত্রে "স্লো" ডিস্ক (2x10k ডিস্ক রাইড 1) সহ সিস্টেমগুলিতে দেখা যায় এবং দ্রুত স্টোরেজ (12x15k ডিস্ক র‌্যাড 10) সহ সিস্টেমে কম দেখা যায়। সুতরাং, ডিস্ক কর্মক্ষমতা একটি চেক এছাড়াও warranted হতে পারে।

শুভকামনা!

এছাড়াও:

এটি লক্ষণীয় যে, 5,1 পয়েন্ট রিলিজ কী ব্যবহৃত হচ্ছে তার উপর নির্ভর করে ইনেডোড_থ্রেড_কোনক্রেনসির ডিফল্ট মানটি মূলত আলাদা।

ডিফল্ট মানটি বেশ কয়েকবার পরিবর্তিত হয়েছে: মাইএসকিউএল 5.0.8 এর আগে 8, 20 (অসীম) 5.0.8 থেকে 5.0.18 হয়ে, 0 (অসীম) থেকে 5.0.19 থেকে 5.0.20, এবং 8 (সসীম) 5.0.21 থেকে চালু. - উত্স

এর অর্থ হ'ল 5.0.20 থেকে 5.0.21 এ আপাতদৃষ্টিতে নিরীহ আপগ্রেড ডিফল্টটিকে অনন্ত থেকে 8 এ পরিবর্তিত করেছে এবং এর সাথে পারফরম্যান্সের বিশৃঙ্খলা নিয়ে আসে।


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

5

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


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

বা সোর্স কোডের অংশগুলি ব্রাউজ করুন! :)
ডেরেক ডোনয়

3

"আইটেমগুলি মুক্তকরণ" এবং ক্যোয়ারী ক্যাশে সম্পর্কিত এই সমস্যা সম্পর্কে একটি বাগ রিপোর্ট ছিল । বাগটি বন্ধ থাকা সত্ত্বেও , ইন্নাডব_থ্রেড_কোঙ্কারেন্সির কোনও উল্লেখ নেই ।

ঘটনাচক্রে, আমি রোনাল্ড ব্র্যাডফোর্ডের সাথে মে মাসে ফিরে পেরকোনা লাইভ এনওয়াইসি-তে কথা বলেছি। আমি তাকে এমন পরিস্থিতি সম্পর্কে বলেছিলাম যেখানে আমি ইনডোড__থ্রেড_কোনচারিকে টুইট করেছি কারণ মাইএসকিউএল 5.5 এর একাধিক ইনোডিবি বাফার পুল এক টন থ্রেড লক তৈরি করেছে এবং আমার সন্দেহ হয়েছিল যে আমার সম্ভবত ক্যাশেড ডেটা একাধিক বাফার পুলের মধ্যে ছড়িয়ে পড়েছিল।

তিনি আমাকে স্পষ্টতই বলেছিলেন যে আমি কখনই ইন্নাডব_থ্রেড_কেনসরের বিরুদ্ধে মান নির্ধারণ করব না। এটি সর্বদা ডিফল্ট মান হতে দিন, যা এখন শূন্য (0)। এটি করার মাধ্যমে, আপনি InnoDB স্টোরেজটি নিজে থেকে কতটি ইনোডাব_কনকুরসি_টিকেট তৈরি করবেন তা সিদ্ধান্ত নিতে দেন । এটি অনন্ত সম্মতি যা করে।

'আমরা আইটেমগুলি ফ্রি করা' সম্ভবত প্রায়শই ঘটে যখন আমরা ইনডোড_থ্রেড_কেনসিয়েন্সির উপর সীমাবদ্ধতা আরোপ করি। এটি সর্বদা শূন্য (0) হওয়া উচিত। আমি একটি ঝুঁকি নেব এবং ইনোডব_কনকেন্সি_ টিকেটগুলি বাড়িয়ে দেখব এবং এটি সাহায্য করে কিনা।


2

ঠিক একই লক্ষণগুলির সাথে আমাদের একটি সমস্যা ছিল a দেখা গেল যে InnoDB লগ ফাইলযুক্ত ডিস্কটি পূরণ করেছে। মূল্যবান চেকিং।


আপনার অনেক বড় লগ ফাইল দরকার। প্রকৃতপক্ষে, ইনোডাব_লগ_ফাইলস_ইন_গ্রুপ ডিফল্ট (যা 2) এর সাথে সর্বাধিক অনুমোদিত লগ ফাইলগুলি 2047M। আপনার মাইএসকিএল বন্ধ করতে হবে, আরএম -ফ / ভেরি / লিবিব / আইবি_লগফাইল [01], ইনোডাব_লগ_ফাইল_সাইজ = 2047 এম /etc/my.cnf এ তৈরি করুন এবং মাইএসকিএল শুরু করা উচিত। অবশ্যই, একটি বড় ডিস্ক পান !!!
RolandoMySQLDBA

1

আরেকটি ইঙ্গিত: মেন হতে হবে ইনডোডব ফায়েন্স ()। সেটিং চেষ্টা করুন

ইন্নাডব_ফ্লুশ_লগ_এটি_আরটিএক্স_কমিট = 2

My.cnf এ

ইন্নাডব লগফাইলটি প্রতি কমিটের পরিবর্তে প্রতি 1-2 সেকেন্ডে ডিস্কে ফ্লাশ করা হয়। ডেটা অখণ্ডতায় সামান্য জরিমানা, গতিতে দুর্দান্ত লাভ।

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