যখন কোনও অ্যাপ্লিকেশন খুব বেশি সেশন ব্যবহার করে?


9

আমি একটি ক্লায়েন্ট-সার্ভার অ্যাপ্লিকেশন নিয়ে কাজ করছি যা ওরাকলের সাথে যোগাযোগের জন্য ওসিআই ব্যবহার করে। অতীতে আমাদের অ্যাপ্লিকেশন প্রায়শই অসীম উত্স হিসাবে সেশনগুলি চিকিত্সা করত, সম্ভবত এমন অন্যান্য অ্যাপ্লিকেশনগুলির ক্ষয়ক্ষতি যা এই ওরাকল সার্ভারটি ভাগ করে নিচ্ছে।

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

কোন পর্যায়ে আপনি ওরাকল ডিবিএগুলি কোনও অ্যাপ্লিকেশনকে অতিরিক্তভাবে (বা গালি দেওয়া) সেশনগুলি ব্যবহার করছেন বলে বিবেচনা করবেন?

সম্পাদনা: বর্তমানে সেশনের বৃহত্তম ভোক্তাদের মধ্যে একটি হ'ল এটি এমন একটি উপাদান যা সমান্তরালভাবে বেশ কয়েকটি (20-30) টেবিলগুলি বাল্ক লোডে সরাসরি পাথ লোডিং ব্যবহার করে।

উত্তর:


10

সমস্ত জিনিস হিসাবে, এটি নির্ভর করে।

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

ডিবিএ যদি স্বয়ংক্রিয় পিজিএ পরিচালনা ব্যবহার না করে তবে বেশ কয়েকটি সেশন খোলার সমস্যাও হতে পারে। আপনি যদি ম্যানুয়াল পিজিএ ম্যানেজমেন্ট ব্যবহার করছেন, পিজিএ প্রতি সেশনের ভিত্তিতে কনফিগার করা হয়েছে যাতে প্রতিটি সেশন SORT_AREA_SIZEঅন্যান্য পিজিএ উপাদানগুলির মধ্যে বাছাইয়ের জন্য আলাদা আলাদা বরাদ্দ করতে পারে । আপনি যদি ম্যানুয়াল পিজিএ পরিচালনা ব্যবহার করে কোনও ডাটাবেজে প্রচুর সেশন তৈরি করেন এবং প্রতিটি সেশন এর পিজিএ ব্যবহার সর্বাধিক করার চেষ্টা করে, আপনি সহজেই র‌্যামের সার্ভারটি অনাহারে রাখতে পারবেন এবং প্রত্যেকের জন্য কর্মক্ষমতা সমস্যা তৈরি করতে পারেন। ধরে নিই যে আপনি ওরাকল 10.1 বা তার পরে ব্যবহার করছেন তবে স্বয়ংক্রিয় পিজিএ ব্যবস্থাপনা উপলব্ধ। সেক্ষেত্রে ডিবিএ একটি PGA_AGGREGATE_TARGET(বা 11 জি- MEMORY_TARGETতে পিজিএকে অন্তর্ভুক্ত করে ) কনফিগার করে এবং ডাটাবেসটি সমস্ত সেশনের সমষ্টিগত পিজিএ সীমাবদ্ধ যাতে সঞ্চিত হয় যাতে ডাটাবেস সংস্থান থেকে যায়।

যদি ডাটাবেস ভাগ করা সার্ভার সংযোগগুলি সমর্থন করে, আপনার অ্যাপ্লিকেশনটি একটি ভাগ করা সার্ভার সংযোগ পেয়েছে এবং ডাটাবেস স্বয়ংক্রিয় পিজিএ পরিচালনা ব্যবহার করে, বেশিরভাগ ডিবিএ আপনি কতগুলি সেশন তৈরি করেন তা খুব বেশি যত্ন করে না।

এখন, আপনি যদি অনেকগুলি সেশন তৈরি করে থাকেন যাতে আপনি সমান্তরালে আরও কাজ করতে পারেন যা সেশনের সংখ্যার ওপরে পারফরম্যান্স সমস্যা তৈরি করে। 1000 সেশনগুলিকে সমর্থন করার জন্য ডাটাবেসটি কনফিগার করা যথেষ্ট সহজ, উদাহরণস্বরূপ, যদি সমস্ত 1000 সেশন একই সাথে কোনও ডেটা গুদামের বিরুদ্ধে মাংসযুক্ত জিজ্ঞাসা জারি করে তবে একটি গাদাতে না ডুবে ডাটাবেসটি কনফিগার করা অনেক কঠিন। যদি আপনার অ্যাপ্লিকেশন আপনার প্রশ্নের জন্য ডাটাবেসে উপলব্ধ সমস্ত সংস্থান ব্যবহার করে থাকে তবে ডিবিএ সম্ভবত ওরাকল রিসোর্স ম্যানেজার ব্যবহার করে বিবেচনা করতে চাইবেবিভিন্ন অ্যাপ্লিকেশন এবং / অথবা বিভিন্ন ব্যবহারকারীদের অগ্রাধিকার দিতে। উদাহরণস্বরূপ, ডিবিএ রিসোর্স ম্যানেজারকে কনফিগার করতে পারে যাতে সিপিইউ ব্যবহারটি যদি 100% এ যায় তবে আপনার অ্যাপ্লিকেশনটিতে মোট অ্যাপ্লিকেশন সিপিইউর 50%, সমষ্টিতে অন্য কিছু অ্যাপ্লিকেশন 25% পায় এবং অন্যরা বাকি 25% পায় । অন্য কোনও অনুরোধ যদি মুলতুবি না থেকে থাকে তবে আপনার অ্যাপ্লিকেশনটি সিপিইউর 100% ব্যবহারের জন্য নির্দ্বিধায় থাকবে।

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

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