যে কোনও প্রশ্নের জন্য উপলব্ধ সমান্তরালতা (ডিওপি) ডিগ্রি সীমাবদ্ধ করুন


11

ওরাকল এক্সাডাটাতে (11 জিআর 2), আমাদের কাছে তুলনামূলকভাবে মৌমাছি ডাটাবেস রয়েছে।

  • সিপু_কাউন্ট 24 হয়
  • সমান্তরাল_সার্ভার_সামান্য 2
  • সমান্তরাল_প্রেম_প্রেম_সিপিউ 2 হয়

আমরা লক্ষ করেছি, ওরাকল এন্টারপ্রাইজ ম্যানেজার (ওএম) -এর পর্যবেক্ষণের মাধ্যমে, ক্রিয়াকলাপ সম্পাদন করা অনুসন্ধানগুলির কারণে কর্মক্ষমতাটি ভয়ানক ছিল। এটি সমাধানের জন্য, সমস্ত সারণী, বস্তুগত দৃষ্টিভঙ্গি এবং সূচীগুলি সমান্তরালতার সুবিধা নিতে পরিবর্তিত হয়েছিল। উদাহরণ:

ALTER TABLE SOME_TABLE PARALLEL (DEGREE DEFAULT INSTANCES DEFAULT);

সমান্তরালতা চালু করতে সিস্টেমটি পরিবর্তন করা হয়েছিল:

ALTER SYSTEM SET PARALLEL_DEGREE_POLICY = 'AUTO';

এর ফলে আরও ভাল পারফরম্যান্স হয়েছে তবে আমরা মাঝে মধ্যে ওএম-তে পর্যবেক্ষণ করেছি যে একটি একক ক্যোয়ারী a৯ (সমস্ত উপলব্ধ সংস্থান) এর একটি ডপ বেঁধে দেবে। এর ফলে পরবর্তী প্রশ্নগুলি 1 এর ডিওপিতে ডাউনগ্রেড হয়ে যায় (কোনও সমান্তরালতা নেই)। হগিং কোয়েরি শেষ না হওয়া পর্যন্ত দুর্বল পারফরম্যান্সের ফলাফল।

এটি সমাধান করার জন্য আমরা এর সাথে যে কোনও প্রশ্নের জন্য উপলব্ধ ডিওপিকে সীমাবদ্ধ করার চেষ্টা করেছি:

ALTER SYSTEM SET PARALLEL_DEGREE_LIMIT = 24;

এটির কোনও প্রভাব ছিল না। আমরা প্রায়শই অনুসন্ধানগুলি পর্যবেক্ষণ করি যা সীমা ছাড়াই বেশি ব্যবহার করবে (সাধারণত 48 বা 96, তবে আসল বিন্যাস নয়)।

আমরা কীভাবে কোনও একক জিজ্ঞাসা উপলব্ধ সমস্ত সংস্থান থেকে রক্ষা করতে পারি?

উত্তর:


8

সমান্তরাল সার্ভার সেটগুলি: PARALLEL_DEGREE_LIMIT টি সমান্তরালতার ডিগ্রি সীমাবদ্ধ করে, তবে যদি আপনার ক্যোয়ারী সমান্তরাল প্রক্রিয়াগুলির সংখ্যা বাছাই বা গোষ্ঠীবদ্ধ হয় তবে দ্বিগুণ হতে পারে (আন্তঃ-প্রক্রিয়া সমান্তরালতা সক্ষম করতে দুটি সার্ভার সেট করে)। এটি ব্যাখ্যা করে যে আপনি কেন 24 সীমাবদ্ধতার সাথে 48 সমান্তরাল প্রক্রিয়া দেখতে পাবেন you আপনি ডপকে সীমাবদ্ধ করতে রিসোর্স ম্যানেজার ব্যবহার করলে এটিও ঘটে happens

সমান্তরাল ইঙ্গিত: PARALLEL_DEGREE_LIMIT টি কেবলমাত্র সেই বক্তব্যগুলিতে প্রযোজ্য যা প্যারালালিজমের স্বয়ংক্রিয় ডিগ্রি ব্যবহার করে। হার্ড-কোডেড ডিগ্রি, বা এমনকি কোনও ধরণের অবজেক্ট-স্তরের সমান্তরাল ইঙ্গিত ব্যবহার করে এমন কোনও বিবৃতি সীমাটিকে উপেক্ষা করবে। আপনার যদি এই ইঙ্গিতগুলি থাকে, তবে এটি আপনাকে ব্যাখ্যা করতে পারে যে আপনি কেন 96 বার দেখেন।

পরিমাপ আই: হয়তো স্বয়ংক্রিয় DOP কে ব্যবহার করা হয় হচ্ছে না, এবং এইভাবে সীমা অনুসৃত হচ্ছে না, কারণ আই নি মডেলটির ক্রমাঙ্ক । এই ক্যোয়ারীটি আপনাকে বলবে যে আইওটি ক্যালিব্রেটেড ছিল:

select * from V$IO_CALIBRATION_STATUS;

আমি এই কারণগুলির আগে সমস্যাগুলি দেখেছি, তবে আমার বর্তমান সিস্টেমটি ক্যালিব্রেটেড নয় এবং স্বয়ংক্রিয় ডিওপি ভাল কাজ করছে বলে মনে হচ্ছে। ব্যাখ্যা পরিকল্পনার নোটস বিভাগটি দেখে আপনি বলতে পারবেন এটি সত্যিই কোনও সমস্যা কিনা। আপনি যদি ভালো কিছু দেখতে পান তবে আপনি দেখতে - automatic DOP: Computed Degree of Parallelism is 2চান না automatic DOP: skipped because of IO calibrate statistics are missing

PARALLEL_MAX_SERVERS বৃদ্ধি করুন: সমান্তরাল সার্ভারগুলি সমাপ্ত হওয়ার বিষয়ে চিন্তা করার পরিবর্তে, আমি আপনাকে সুপারিশ করব যে আপনি PARALLEL_MAX_SERVERS উল্লেখযোগ্যভাবে বৃদ্ধি করুন। আপনার মেমরির সেটিংসের ভিত্তিতে 240 থেকে 960 এর মধ্যে আপনার কমপক্ষে ডিফল্ট মান , PARALLEL_THREADS_PER_CPU x CPU_COUNT x সমবর্তী_ সমান্তরাল_ ব্যবহারকারী x 5 এ ফিরে যাওয়ার চেষ্টা করা উচিত ।

এই উচ্চ সংখ্যাটি অনেকগুলি ডিবিএর কাছে হাস্যকর মনে হলেও তারা নিম্নলিখিত কারণগুলির জন্য প্রকৃতপক্ষে প্রচুর অর্থবোধ করে:

  • ওরাকল সমান্তরাল সার্ভারগুলি বেশিরভাগ লোকের অনুমানের চেয়ে বেশি হালকা ওজন। (এবং এটির পক্ষে খুব সহজেই কেউ পরীক্ষা করেন, তারা কেবল একটি পরিস্থিতি খুঁজে পান যেখানে একটি বৃহত ডিওপি একটি সমস্যার কারণ হয়ে থাকে এবং ধরে নেয় যে উচ্চ ডিওপি সর্বদা খারাপ থাকে))
  • জিইউআই সরঞ্জামে অ্যাডহক ক্যোয়ারী চালানো সাধারণ, যা কেবল প্রথম 50 টি সারি পুনরুদ্ধার করে, তবে এখনও কয়েক ডজন সমান্তরাল সার্ভার ব্যবহার করে। PARALLEL_MAX_SERVERS খুব কম না হলে এই প্রশ্নগুলি কোনও উল্লেখযোগ্য সংস্থান গ্রহণ করছে না is তারপরে লোকেরা পুরোপুরি যুক্তিসঙ্গত প্রশ্নগুলি চালনার জন্য আহ্বান জানায়, যা কিছু কুৎসিত পরিস্থিতিতে ডেকে আনতে পারে।
  • একটি একক প্রশ্নের জন্য একটি খুব বড় ডিওপি সবসময় খারাপ হয় না। প্রত্যেকে ধরে নিয়েছে যে আপনি যদি ডওপিকে বাড়িয়ে রাখেন তবে ওভারহেড খুব বেশি হয়ে যাবে এবং পারফরম্যান্স উল্লেখযোগ্যভাবে হ্রাস পাবে। তবে অনেক সিস্টেমে আমি দেখতে পেয়েছি যে একটি হাস্যকর উচ্চ ডিওপিও আরও ভাল পারফরম্যান্সের দিকে পরিচালিত করবে, যদিও এখানে অবশ্যই স্পষ্টভাবে হ্রাস পাচ্ছে, এবং এটি অন্যান্য সেশনের পক্ষে খুব অন্যায় হতে পারে। তবে কেবল অনুমান করবেন না, এটি পরীক্ষা করুন; একটি জিজ্ঞাসা নিন এবং এটি 1000 ধরণের সমস্ত ধরণের ডিওপি দিয়ে চালান You আপনি অবাক হতে পারেন।
  • হ্যাঁ, খুব বেশি সমান্তরালতা খারাপ হতে পারে। তবে সিস্টেমটির জন্য আরও খারাপ কী, সেশনের সর্বোত্তম সংখ্যার চেয়ে কিছুটা বেশি, বা সিরিয়ালটিতে কোনও জিজ্ঞাসা জোর করে এবং একটি গুরুত্বপূর্ণ কাজ হত্যার জন্য? স্বেচ্ছাসেবী সীমাবদ্ধকরণ প্রবর্তনের আগে আপনাকে সিস্টেমটি পর্যবেক্ষণ করা উচিত।

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