ভারী লেখার ডাটাবেসের জন্য ডিআআরএم এসএসডি-তে ওরাকল পুনরায় লগ লাগাচ্ছেন?


9

আমার কাছে একটি রন-ভারী ডাটাবেসের সাথে একটি ইএমসি সিএক্স 4-120 অ্যারে সংযুক্ত একটি সান এম 4000 রয়েছে। প্রায় 1200 IO / s এবং 12MB / s এ শিখর লিখেছেন।

ইএমসি অনুসারে, আমি ইএমসি অ্যারেতে রাইটিং ক্যাশে স্যাচুরেট করছি।

আমি মনে করি সহজ সমাধান হ'ল রিডো লগগুলি একটি ডিআআরএএম ভিত্তিক এসএসডি-তে স্থানান্তর করা। এটি EMC অ্যারেতে বোঝা অর্ধেক কমাবে এবং অ্যাপ্লিকেশনগুলি লগ বাফার অপেক্ষা করতে দেখবে না। হ্যাঁ, ডিবিডাব্লুআর হয়তো বাধা হয়ে দাঁড়াতে পারে, তবে অ্যাপ্লিকেশনগুলি এটির জন্য অপেক্ষা করবে না (যেমন তারা পুনরায় কাজ করার মতো করে!)

আমি বর্তমানে প্রায় 4 4GB রিডো লগগুলি সাইকেল চালিয়ে যাচ্ছি, সুতরাং এমনকি 20 জিবি বা এসএসডি এর মধ্যেও একটি বড় পার্থক্য তৈরি হবে। যেহেতু এটি স্বল্প-মেয়াদী স্টোরেজ এবং ক্রমাগত ওভাররাইট করা হচ্ছে, ফ্ল্যাশ ভিত্তিক এসএসডি সম্ভবত কোনও দুর্দান্ত ধারণা নয়।

এম 4000 এর কোনও অতিরিক্ত ড্রাইভ লট নেই, সুতরাং একটি পিসিআই-ই কার্ড নিখুঁত হবে, আমি বহিরাগত যেতে পারি বা বুট ভলিউমগুলি ইএমসিতে স্থানান্তর করতে এবং স্থানীয় ড্রাইভগুলি মুক্ত করতে পারি।

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

অন্যরা কি একমত যে কোনও ড্রাম এসএসডি যাওয়ার উপায়? কোন হার্ডওয়্যার সুপারিশ?

আপডেট আপডেট নীচে একটি মন্তব্যে তথ্য ছাড়াও, আমি "কমিট_উইরাইট" এর জন্য বিভিন্ন সেটিংস চেষ্টা করেছিলাম এবং এতে কোনও পার্থক্য হয়নি।


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

হ্যাঁ ... রেডো লগগুলি সংরক্ষণাগারভুক্ত করা হচ্ছে এবং আইও আসলে রেডো লগ অনুলিপি চলাকালীন প্রায় 80 এমবি / সেকেন্ডে বেড়েছে কারণ এটি একটি অনুক্রমিক লেখা। আমি সর্বদা ভাবা যে পুনরায় লগগুলি অনুক্রমিক ছিল তবে অনুমান করি না।
রোডেন

উত্তর:


9

প্রথম - আমি অনুমান করি আপনার অ্যারেতে খুব কম ডিস্ক রয়েছে। 1200IOPS সহজেই 12 স্পিনিং ডিস্ক সমর্থিত হতে পারে (প্রতি ডিস্কে 100 আইওপিএস খুব যুক্তিসঙ্গত)। যদি ক্যাশে এটি পরিচালনা করতে না পারে তবে এর অর্থ হ'ল আপনার ডিস্ক সমর্থন করার চেয়ে 1200 আইওপিএসের আপনার টেকসই লেখার হার way

যাইহোক, পুনরায় লগগুলির জন্য এসএসডি সাহায্য করার সম্ভাবনা নেই। প্রথমত, আপনার অধিবেশন কি বেশিরভাগ COMMIT বিবৃতিতে অপেক্ষা করছে? যাচাই করতে স্ট্যাটাসপ্যাক / এডাব্লুআর-তে শীর্ষ অপেক্ষার ইভেন্টগুলি পরীক্ষা করুন। আমি অনুমান করব আপনার I 95% I / O মোটেও পুনরায় লোগো নয়। উদাহরণস্বরূপ, 5 টি সূচী সহ একটি টেবিলের মধ্যে একটি সারি সন্নিবেশ করানো একটি টেবিল ব্লক (যে সারিটির জন্য স্থান রয়েছে) পড়তে 1 I / O করতে পারে, 5 সূচী ব্লক (তাদের আপডেট করতে) পড়তে পারে, 1 ডেটা ব্লক লিখবে, 1 পূর্বাবস্থায় ফিরে যাবে ব্লক এবং 5 সূচক ব্লক (বা আরও, যদি লিফ-ব্লক আপডেট করা থাকে) এবং 1 টি পুনরায় ব্লক। সুতরাং, স্ট্যাটাসপ্যাকটি পরীক্ষা করে দেখুন এবং আপনার অপেক্ষার ইভেন্টগুলি দেখুন, আপনি সম্ভবত ডেটা / সূচীর জন্য প্রচুর READs এবং WRITE গুলি উভয়ই অপেক্ষা করছেন। পাঠ্যগুলির জন্য অপেক্ষা ইনসার্টটি ধীর করে দেয় এবং রাইট ক্রিয়াকলাপগুলি আরও পড়ুন আরও ধীরে ধীরে - এটি একই ডিস্কগুলি (বিটিডাব্লু - আপনার কি আসলেই সমস্ত সূচী দরকার? যাঁদের অবশ্যই নেই তাদের বাদ দেওয়া সন্নিবেশগুলিকে ত্বরান্বিত করবে)।

আর একটি বিষয় যাচাই করার জন্য তা হ'ল রেড সংজ্ঞা - এটি হ'ল রেড 1 (মিররিং - প্রতিটি লেখাই দুটি লেখার জন্য) বা র‌্যাড 5 (প্রতিটি লেখাই 2 টি পঠনযোগ্য এবং চেকসাম গণনার জন্য দুজন লেখক)। RAID 5 রাইটিং-নিবিড় লোডে ধীর গতির।

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


1
+1 - এবং আমি যদি এটি করতে পারি তবে +10 দিয়েছি।
হেলভিক

2
বাধা কোথায় আছে তা দেখার জন্য পরামর্শের জন্য +1।
ডিসিকি

অপেক্ষাগুলি হ'ল "লগ ফাইল সিঙ্ক" এবং "লগ বাফার স্পেস"। আমি ডিডি ব্যবহার করে ভলিউমে প্রায় 150MB / s পেতে পারি। আমার সন্দেহ হয় এলজিডাব্লুআর পরবর্তী আইটেম জমা দেওয়ার আগে একটি আইও সম্পূর্ণ হওয়ার অপেক্ষায় রয়েছে। আইও পরিষেবা সময় প্রায় 1 মিমি। EMC এর একটি সম্পূর্ণ পরিমাণে 500MB ক্যাশে রয়েছে, যা EMC অনুসারে পুরো বাক্সটি ডাব্লু / ও ও আপগ্রেড করা যায় না। অ্যারেতে আমাদের কাছে 22 টিবি রয়েছে, কেন তারা এত ছোট ক্যাশে কিছু সরবরাহ করবে তা আমার বাইরে beyond পুনরায় লগগুলি বর্তমানে 5-প্রশস্ত RAID 5 এ রয়েছে, তবে RAID 10 (ক্যাশে সন্দেহ করার অন্য কারণ)
রোমান হয়েছে

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

মেডেন - আরাকল প্রতি সেকেন্ডে কত আবার লেখেন? আপনি বলেছেন মোট আই / ও 12 এমবি / এস এবং 1200 আইওপিএস, এর অর্থ অনেকগুলি ছোট আইও (গড় 10 কেবি)। আপনি যদি রিডো লগগুলি এসএসডি-তে সরিয়ে ফেলেন তবে আপনি কেবলমাত্র বিভিন্ন অপেক্ষার ইভেন্টগুলি দেখতে পাবেন কারণ ডিবিডাব্লুআর বাধা হয়ে দাঁড়াবে এবং এসএসজি-তে ইনসার্ট ফ্রি বাফারের জন্য অপেক্ষা করবে। দয়া করে পরীক্ষা করুন - আপনার কী ধরণের RAID রয়েছে, স্ট্রাইপ আকারটি কী এবং ওরাকল ব্লক আকারটি কী (এটিও কি সমস্ত ডেটা ফাইলে আপনার ডেটাফাইলে স্ট্রিপ?)। এছাড়াও, চেক, I / O অধিকাংশ জন্য statspack সোর্সে - এটা পুনরায় অথবা অন্য কোনো জিনিস - আমি / হে প্রতি tablespace- র পরীক্ষা
Ofir ম্যানর

2

ব্লক আই / ও এর সাথে তুলনা করে ডিডি কিছুই নয়।

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

তবে হ্যাঁ, যদি RAID 5 বনাম RAID 10 একই হয় (লেখার জন্য), আপনি কিছু ভুল করছেন। রৈখিক লেখার সাথে, হেক র‌্যাড 5 দ্রুততর হতে পারে (যেমন এটি মেমরির মধ্যে সমতা করতে পারে, তারপরে স্ট্রিপস এবং প্যারিটি একবারে লিখতে পারে), তবে এলোমেলো ছোট ব্লক (4-8 কে) দিয়ে, আপনি স্ট্রাইপগুলি আপডেট করে মারা যাবেন (যেমন অন্যদের দ্বারা উল্লিখিত), অভিযান 10 2x এর বেশি দ্রুত হওয়া উচিত, যদি না হয় তবে কিছু ভুল।

আপনি হার্ডওয়ারে অর্থ ব্যয় করার আগে আপনাকে আরও গভীর খনন করতে হবে।


2

আমি "ফোর্ডেরেসিটিও" বিকল্পটি ব্যবহার করে ইউএফএস পার্টিশনগুলি মাউন্ট করার বিষয়ে একটি পোস্ট দেখেছি এবং ওরাকল পরামিতিটি "ফাইলসিসমিও_পশনগুলি" "সেটল" এ সেট করেছিলাম।

আমি এটি চেষ্টা করে দেখেছি এবং ওরাকল লেখায় 4-5x এর উন্নতি দেখতে পেয়েছি! হ্যাঁ!

মূল লক্ষণগুলি হ'ল থ্রুপুট তবে ডিস্কে ভাল প্রতিক্রিয়ার সময় ছিল। এটি কিছু লোককে সাহায্য করবে বলে মনে হয় তবে অন্যকে নয়। এটা অবশ্যই আমার জন্য কাজ করেছে।

আমি নতুন সার্ভারগুলির জন্য এসএসডি বিবেচনা করতে পারি, তবে এই সার্ভারটি এখন ঠিক চলছে।

রবার্ট


সম্ভবত আপনি যে স্পিড-আপের মুখোমুখি হয়েছিলেন তা সরাসরি আই / ও সক্ষম করার কারণে নয়, তত অ্যাসিনক্রোনাস আই / ও সক্ষম করে তৈরি করা হয়েছিল। ওরাকলে, সেটল মানে ডাইরেক্ট + অ্যাসিঙ্ক।
kubanczyk

1

যদি এই বাক্সটি কেবলমাত্র একটি x86 / 64 বাক্স চলত লিনাক্স আমি খুশিতে ফিউশনআইও পিসিআই ড্রাইভ কার্ডগুলির মধ্যে একটি সুপারিশ করতাম - তারা আশ্চর্যজনকভাবে দ্রুত এবং এসএসডি এর মতো ভারী লেখার সাথে 'মরে' না। দুর্ভাগ্যক্রমে তারা স্পার্ক বা সোলারিস উভয়ের সাথেই সমর্থিত নয়, আপনি এই বিষয়ে আলোচনা করার জন্য তাদের সাথে যোগাযোগ করতে চাইতে পারেন।


1

F20e PCIe কার্ডটি ফাংশনে ফিউশন I / O এর মতো। এটি মূলত কেবলমাত্র একটি পিসিআইই ফ্ল্যাশ এসএসডি সংযুক্ত। ভারী কাজের চাপ লেখার সাথে সাথে আপনার পর্যাপ্ত ফ্রি ব্লকগুলি বজায় রাখার বিষয়ে (উভয় ধরণের ড্রাইভ ভিত্তিক আবর্জনা সংগ্রহের মাধ্যমে) দু'জনকেই চিন্তিত করতে হবে যাতে আপনি এসএসডি মুছা / প্রোগ্রাম চক্রটি বাধা হয়ে দাঁড়াবেন না, পাশাপাশি ফ্ল্যাশ ভিত্তিক এসএসডি-তে সীমিত লেখার চক্র উপলব্ধ। এটি অবশ্যই দ্রুত, তবে এটি এই কাজের জন্য সেরা কিট নাও হতে পারে।


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