মাইএসকিউএল এর সর্বাধিক মেমরির ব্যবহার হার্ডওয়্যার, আপনার সেটিংস এবং নিজেই ডাটাবেসের উপর নির্ভর করে।
হার্ডওয়্যারের
হার্ডওয়্যার স্পষ্ট অংশ। আরও মারিয়ার র্যাম, দ্রুত ডিস্ক এফটিডব্লিউ । যদিও সেই মাসিক বা সাপ্তাহিক সংবাদ পত্রগুলিকে বিশ্বাস করবেন না। মাইএসকিউএল রৈখিক স্কেল করে না - এমনকি ওরাকল হার্ডওয়ারেও নয়। এটি তার চেয়ে কিছুটা কৌতুকপূর্ণ।
নীচের লাইনটি হল: আপনার মাইএসকিউএল সেটআপের জন্য যা সুপারিশ করা হয়েছে তার জন্য থাম্বের কোনও সাধারণ নিয়ম নেই । এটি সবই বর্তমান ব্যবহার বা অনুমানের উপর নির্ভর করে।
সেটিংস এবং ডাটাবেস
মাইএসকিউএল এর আচরণটি অনুকূল করতে অগণিত পরিবর্তনশীল এবং স্যুইচ সরবরাহ করে offers আপনি যদি সমস্যাগুলির মধ্যে চলে যান তবে আপনার সত্যিই বসে বসে (ফিং) ম্যানুয়ালটি পড়তে হবে।
ডাটাবেস হিসাবে - কয়েকটি গুরুত্বপূর্ণ বাধা:
- টেবিল ইঞ্জিন (
InnoDB
, MyISAM
, ...)
- আয়তন
- সূচকের
- ব্যবহার
স্ট্যাকওভারফ্লো সম্পর্কে সর্বাধিক মাইএসকিউএল টিপস আপনাকে 5-8 তথাকথিত গুরুত্বপূর্ণ সেটিংসের বিষয়ে জানাবে। প্রথমত, তাদের সবারই গুরুত্বপূর্ণ নয় - যেমন InnoDB এ প্রচুর সংস্থান বরাদ্দ করা এবং InnoDB ব্যবহার না করা খুব একটা অর্থবোধ করে না কারণ এই সংস্থানগুলি নষ্ট হয়ে গেছে।
বা - প্রচুর লোক max_connection
পরিবর্তনশীল আপ করার পরামর্শ দেয় - ভাল, খুব কম তারা এগুলিও বোঝেন যে মাইএসকিউএল সেগুলি পূরণ করার জন্য আরও বেশি সংস্থান বরাদ্দ করবে max_connections
- যদি প্রয়োজন হয় তবে। আরও সুস্পষ্ট সমাধান হতে পারে আপনার ডিবিএল-তে ডাটাবেস সংযোগ বন্ধ করা বা wait_timeout
সেই থ্রেডগুলি মুক্ত করার জন্য নীচে নামিয়ে আনা ।
আপনি যদি আমার প্রবাহকে ধরেন - সত্যিই অনেক কিছুই পড়তে এবং শিখতে হবে।
ইঞ্জিন
টেবিল ইঞ্জিনগুলি একটি দুর্দান্ত গুরুত্বপূর্ণ সিদ্ধান্ত, অনেক লোক তাড়াতাড়ি সেগুলি সম্পর্কে ভুলে যায় এবং তারপরে হঠাৎ 30 জিবি আকারের MyISAM
টেবিলের সাথে লড়াই করে যা তাদের সম্পূর্ণ অ্যাপ্লিকেশনটিকে লক করে রাখে।
আমি মাইআইএসএএম সফলভাবে চুষতে চাইছি তা বলতে চাই না , তবে InnoDB
প্রায় বা প্রায় তত দ্রুত প্রতিক্রিয়া জানাতে টুইচ করা যায় MyISAM
এবং সারি-লকিংয়ের মতো জিনিস সরবরাহ করা হয় UPDATE
যেখানে MyISAM
এটি লেখা হয় যখন পুরো টেবিলটি লক করে দেয়।
আপনি যদি নিজের নিজস্ব অবকাঠামোতে মাইএসকিউএল চালনার স্বাধীনতায় থাকেন তবে আপনি পারকোনা সার্ভারটিও দেখতে চাইতে পারেন কারণ ফেসবুক এবং গুগলের মতো সংস্থাগুলি (তারা দ্রুত জানেন) এর প্রচুর অবদানের মধ্যে রয়েছে, এতে পারকোনার নিজস্ব ড্রপ- প্রতিস্থাপনের জন্য InnoDB
, বলা হয় XtraDB
।
পেরকোনা-সার্ভার (এবং-ক্লায়েন্ট) সেটআপের জন্য আমার উক্তিটি দেখুন (উবুন্টুতে): http://gist.github.com/637669
আয়তন
ডেটাবেস আকার খুব, খুব গুরুত্বপূর্ণ - বিশ্বাস করুন বা না, ইন্টারওয়েজের বেশিরভাগ মানুষ কখনও বড় কোনও পরিচালনা করেন নি এবং তীব্র মাইএসকিউএল সেটআপ লেখেন নি তবে সেগুলি সত্যই বিদ্যমান। কিছু লোক ট্রল করে কিছু বলবে যেমন "পোস্টগ্র্যাস এসকিউএল ব্যবহার করুন !!! 111", তবে আসুন আপাতত এগুলি উপেক্ষা করুন।
নীচের লাইনটি: আকার থেকে বিচার করা, হার্ডওয়্যার সম্পর্কে সিদ্ধান্ত নেওয়া উচিত। আপনি 1 গিগাবাইট র্যামে 80 গিগাবাইট ডাটাবেস দ্রুত চালাতে পারবেন না।
সূচক
এটি নয়: আরও বেশি, মরিয়ার। শুধুমাত্র প্রয়োজনীয় সূচকগুলি সেট করতে হবে এবং ব্যবহারের সাথে চেক করতে হবে EXPLAIN
। এটি যোগ করুন যে মাইএসকিউএলগুলি EXPLAIN
সত্যই সীমিত তবে এটি একটি শুরু।
প্রস্তাবিত কনফিগারেশন
এই my-large.cnf
এবং my-medium.cnf
ফাইলগুলি সম্পর্কে - আমি জানি না সেগুলি কাদের জন্য লেখা হয়েছিল। আপনার নিজের রোল।
টিউনিং প্রাইমার
একটি দুর্দান্ত শুরু টিউনিং প্রাইমার । (: আপনি লিনাক্স প্রয়োজন হবে ইঙ্গিতটি) যা আউটপুট লাগে এটা একটা ব্যাশ স্ক্রিপ্টের SHOW VARIABLES
এবং SHOW STATUS
এবং আশা দরকারী সুপারিশ সেটিকে গোপন। যদি আপনার সার্ভারটি কিছুটা সময় চালিয়ে যায় তবে তাদের উপর ভিত্তি করে ডেটা থাকার কারণে প্রস্তাবটি আরও ভাল।
টিউনিং প্রাইমার যদিও ম্যাজিক সস নয়। এটি পরিবর্তন করার পরামর্শ দেয় এমন সমস্ত ভেরিয়েবলগুলি আপনার এখনও পড়া উচিত।
পড়া
আমি সত্যিই mysqlperformanceblog সুপারিশ করতে চাই । এটি সমস্ত ধরণের মাইএসকিউএল সম্পর্কিত টিপসের জন্য একটি দুর্দান্ত উত্স। এবং এটি কেবল মাইএসকিউএল নয়, তারা সঠিক হার্ডওয়্যার সম্পর্কেও অনেক কিছু জানে বা এডাব্লুএস ইত্যাদির জন্য সেটআপগুলির প্রস্তাব দেয় These এই ছেলেরা বহু বছরের অভিজ্ঞতা আছে years
আরেকটি দুর্দান্ত সংস্থান অবশ্যই গ্রহ-মাইএসকিএল ।