আপনি কীভাবে মাইএসকিএল সর্বাধিক সংযোগগুলি ভেরিয়েবল গণনা করবেন?


38

আপনি কীভাবে মাইএসকিএল সর্বাধিক_সংযোগগুলি গণনা করবেন?

আপনি কি বিবেচনা করবেন?


2
ভাল প্রশ্ন, এবং আমি উত্তরটিও জানতে চাইছিলাম। এটি সম্পর্কে এই পুরানো ব্লগটি পড়ে: mysqlhacker.com/kabir/performance/…
ডেরেক

উত্তর:


27

সম্পর্কিত তথ্য সহ উত্তর হিসাবে এটি পোস্ট করতে যাচ্ছি। প্রাথমিক সূত্রগুলি হ'ল:

উপলভ্য র‌্যাম = গ্লোবাল বাফার + (থ্রেড বাফার্স x সর্বোচ্চ_সংযোগ)

সর্বাধিক সংযোগগুলি (উপলব্ধ র‌্যাম - গ্লোবাল বাফারস) / থ্রেড বাফারগুলি

বাফারগুলির তালিকা এবং তাদের মানগুলি পেতে:

SHOW VARIABLES LIKE '%buffer%';

বাফারগুলির তালিকা এখানে রয়েছে এবং সেগুলি বিশ্বব্যাপী বা থ্রেড:

গ্লোবাল বাফারস: কী_বফার_সাইজ, ইনানোডব_বাফলার_পুল_সিজায়, ইনোনডব_লগ_বাফার_সাইজ, ইননোডব_অ্যাডিশনাল_ মেম_পুল_সাইজ, নেট_বফার_সাইজ, ক্যোরি_ক্যাচি_ সাইজ

থ্রেড বাফারস: সাজান_বাফার_সাইজ, মাইসাম_সোর্ট_বাফলার সাইজ, রিড_ বাফার_সাইজ, জেন_বফার_সাইজ, রিড_ব্ফার_সাইজ, থ্রেড_স্ট্যাক


1
কেসিডি এই লিঙ্কটি সর্বাধিক মেমরি ক্যালকুলেটর হিসাবে সরবরাহ করেছে: mysqlcalculator.com
ডেরেক

ডেরেক, আপনার অর্থ কি "গ্লোবাল বাফারস = সমস্ত গ্লোবাল বাফার ভেরিয়েবলের সমার এবং থ্রেড বাফারস = সমস্ত থ্রেড বাফার ভেরিয়েবলের যোগফল"?
মাদুর

11

সতর্কবার্তা! এটি মাইএসকিউএল 5.1.x ব্যবহার করে ২০১১ সালের is আপনার নিজের ঝুঁকিতে ব্যবহার করুন

---- মূল পোস্ট ----

সঞ্চিত পদ্ধতি আকারে এখানে অন্য বিকল্প সূত্র রয়েছে:

DELIMITER //
CREATE PROCEDURE sproc_show_max_memory ( OUT max_memory DECIMAL(7,4))
BEGIN
SELECT ( @@key_buffer_size + @@query_cache_size + @@tmp_table_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack ) ) / 1073741824 AS MAX_MEMORY_GB INTO max_memory;
END//
DELIMITER ;
CALL sproc_show_max_memory(@show_max_memory);
SELECT @show_max_memory;

আমি ধরে নিচ্ছি যে আপনি একটি মাইএসকিউএল ডাটাবেস> সংস্করণ 5.1.x ব্যবহার করছেন এবং আপনি একটি সুবিধাভোগী ব্যবহারকারী। তবে আপনি যে নম্বরটি চান সন্নিবেশ করে ফলাফলগুলি সর্বাধিক সংযোগ নিয়ে খেলুন।


1
আমি কেবল আপনার সূত্রটি পড়েছি। বেশ স্লিক !!! বিটিডাব্লু +1 !!!
RolandoMySQLDBA

2
5.5 এবং 5.6-এ সমস্ত পরিবর্তন করে এই সূত্রটি পুনর্বিবেচনার সম্ভবত সময় এসেছে তবে এটি এখনও একধরনের কাজে লাগে।
এলোমেলো


0

আমি সাধারণ ক্যালুলেশন থেকে প্রাপ্ত সংখ্যার সাথে ঘুরে বেড়াচ্ছি: প্রত্যাশিত_সংখ্যার_পরে_প্রয়োজনীয়_পড়তা_সেকেন্ড * প্রত্যাশিত_ভেদ_প্রয়োজন_প্রক্রিয়া_কালীন সময় * 2 *।

পরবর্তী টিউনিংয়ের জন্য, আমি সর্বদা historicalতিহাসিক ডেটা সহ মনিটরিং সিস্টেমটি ব্যবহার করছি এবং কিছুটা শীর্ষের ক্ষেত্রে 20% সংরক্ষণ করার চেষ্টা করছি। আপনি যখন কিছু সংযোগ পুলিং (যা সাধারণত একটি ভাল ধারণা) ব্যবহার করছেন তখন এটি কিছুটা জটিল - তারপরে আপনাকে পুলটিতে ব্যবহৃত সংযোগগুলির সংখ্যা নিরীক্ষণ করতে হবে।

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