পোস্টগ্রিএসকিউএল এর জন্য সর্বোচ্চ_সংযোগ এবং পিজিবাউনারের জন্য ডিফল্ট_পুল_সাইজ কীভাবে গণনা করবেন?


17

আমি একটি ভাল নম্বর গণনা করতে কোন নিয়ম বা কিছু ব্যবহার করতে পারি max_connections, default_pool_sizeএবং max_client_conn?

ডিফল্টগুলি বিজোড়। পোস্টগ্রিএসকিউএল ডিফল্ট সর্বোচ্চ_ সংযোগগুলি = 100 এ, যখন পিজবাউসার ডিফল্ট ডিফল্ট_পুল_সাইজ = 20 এ। ডিফল্ট_পুল_সাইজ সর্বদা সর্বোচ্চ_সংযোগের চেয়ে বেশি হওয়া উচিত নয়? নাহলে কী লাভ? আমি ভেবেছিলাম পিগবাউনসার বলতে আমাদের তাদের ওভারহেড কমিয়ে আরও বেশি সংযোগগুলি পরিচালনা করতে দেওয়া হয়েছিল (পোস্টগ্রেএসকিউএল এর সংযোগগুলি পুনরায় ব্যবহার করে)। আমি বিভ্রান্ত

পোস্টগ্র্রেএসকিউএল এর উইকিতে পাওয়া পরামর্শের মতো পরামর্শের সন্ধান করছি , যেমন "এই প্যারামিটারটি আপনার মেমরির 50% হওয়া উচিত"।

আমার মনে আছে মাইএসকিউএলের জন্য একটি স্প্রেডশিট ছিল যা আপনাকে এই ধরণের পরামিতি গণনা করতে দেয়। পোস্টগ্র্রেএসকিউএল / পিজবাউনসারের মতো এমন কিছু পাওয়া খুব দুর্দান্ত হবে।

উত্তর:


12

প্রথমে, ক্যাপাসিটি প্ল্যানিং সম্পর্কে আমাদের প্রমিত প্রশ্নটি পড়ুন
আপনি যে সুনির্দিষ্ট পরামর্শের জন্য জিজ্ঞাসা করছেন তা হ'ল ক্ষমতা পরিকল্পনার পরামর্শ এবং আপনার নিজের নির্দিষ্ট পরিবেশের জন্য আপনাকে নিজেরাই এটি কাজ করতে হবে।

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


বিশেষত পুনরায়: সংযোগ সীমা এবং পুলের আকার, আপনার আবেদনের প্রয়োজনীয়তাগুলি পূরণ করার জন্য আপনার "পর্যাপ্ত" সংযোগ থাকা উচিত - একক সার্ভারে বা একটি পুল / বাউন্সারের মাধ্যমে।

"যথেষ্ট" একটি আপেক্ষিক সংখ্যা: একটি অ্যাপ্লিকেশন যা একটি সংযোগ তৈরি করে (এবং ক্রমাগত পুনরায় ব্যবহার করে) কেবল একটি সংযোগ প্রয়োজন। যে অ্যাপ্লিকেশনটি লগ ইন করে এমন প্রতিটি ব্যবহারকারীর জন্য সংযোগ স্থাপন করে তার ব্যবহারকারীদের যতটা ডিবি সংযোগ প্রয়োজন।

উভয় Postgres জন্য ডিফল্ট মান এবং pgbouncerযেমন যুক্তিসম্মত হয় অক্ষমতা :

  • 100 জন ডাটাবেস সংযোগগুলি এমন একটি সাধারণ ব্যক্তির পক্ষে যা পোস্টগ্র্রেসকে একটি পরিবেশে ফেলে দেয় for
    বিকাশকারীদের সম্ভবত 10 এর বেশি প্রয়োজন হবে না অন্য কেউ সংখ্যাটি বাড়ানোর জন্য যথেষ্ট জানতে পারবেন।

  • pgbouncerপ্রতি ডিবি পুল থেকে 20 সংযোগের অর্থ আপনি একটি সার্ভারের দিকে নির্দেশ করে 4 টি পুল পেতে পারেন এবং ডিফল্ট পোস্টগ্রিস সংযোগের সীমাটি ছাড়িয়ে যান না। এক ব্যাক-এন্ড ডাটাবেসকে নির্দেশ করতে
    একাধিক পুলযুক্ত সংস্থান থাকা সম্ভব pgbouncerএবং আপনি সর্বদা আপনার ব্যাক-এন্ড সার্ভারগুলিতে কিছু উপলভ্য সংযোগ চান।

যদি ডিফল্টগুলি আপনার পরিবেশের জন্য উপযুক্ত না হয় তবে আপনি সেগুলি পরিবর্তন করবেন বলে আশা করা হচ্ছে।

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


8
জিনিসগুলি সঠিকভাবে কনফিগার করার আগে আমি বেশি হার্ডওয়্যার কেনার বিন্দুটি দেখতে পাচ্ছি না। "সংখ্যা বাড়ানোর জন্য অন্য যে কেউ যথেষ্ট জানবে" । আচ্ছা, আমি কোথায় যথেষ্ট জানতে পারি? আমি সংযোগগুলি সম্পর্কে খুব বেশি উপাদান খুঁজে পাচ্ছি না। এটা কি কেবল বিচার ও ত্রুটি? আমি মাইএসকিউএল-এর জন্য যে স্প্রেডশিটটি উল্লেখ করেছি তা একটি কবজির মতো কাজ করত। এটির নির্দেশিত চেয়ে বেশি সংযোগ ব্যবহার করার ফলে সার্ভারটি মেমরির বাইরে চলে আসবে। এই মুহুর্তে আমার 4 জিবি রয়েছে, আমি ডিফল্টগুলি বাড়ানোর আশা করছিলাম। এছাড়াও, 20x4 = 80, অন্যান্য 20 কীসের জন্য?
চকো ডেভলপার

1
@ চোকো ডেভলপার দয়া করে আমার উত্তরটি পুরোপুরি পুনরায় পড়ুন (আপনি কিছু জিনিস জিজ্ঞাসা করেছেন যা আমি ইতিমধ্যে সম্বোধন করেছি), এবং আমি যে ডকুমেন্টের সাথে লিঙ্ক করেছি তার সাথে কয়েক মিনিট ব্যয় করুন। আপনি এখনও এটি পিছনের দিকে তাকিয়ে আছেন (আমার উত্তরের প্রথম অনুচ্ছেদ দেখুন) মনে রাখবেন যে পোস্টগ্র্রেসগুলি মাইএসকিউএল নয়: আপনার মাইএসকিউএল টিউনিংয়ের অভিজ্ঞতা থেকে আপনার যা কিছু মনে হয় তা আপনাকে ভুলে যেতে হবে। পোস্টগ্রিস আরও বেশি ওরাকলের মতো। ম্যানুয়ালটি অধ্যয়ন করুন এবং এটি আপনাকে যে নির্দেশনা দেয় তা অনুসারে এগিয়ে যান।
voretaq7

1

ডকুমেন্টেশন এর সংজ্ঞা লক্ষ্য করুনdefault_pool_size

প্রতি ব্যবহারকারী / ডাটাবেস জুটির জন্য কতগুলি সার্ভার সংযোগের অনুমতি দেবে।

সুতরাং যদি ডিফল্ট কনফিগারেশনটি একটি 100 টি সংযোগের মধ্যে একটি পুলের আকারের 20 হয়, এটি বোঝায় যে 5 টি স্বতন্ত্র ব্যবহারকারী / ডাটাবেস জোড়াগুলি সামগ্রিক সীমাতে পৌঁছানোর আগে তাদের সর্বোচ্চ পলের আকার বেরিয়ে যেতে হবে। বিপরীতে, উদাহরণস্বরূপ, আপনি যদি একক ব্যবহারকারীর মাধ্যমে একক ডাটাবেসে রুট করতে পগবাউসার ব্যবহার করেন, তবে আপনার কার্যকর সংযোগের সীমাটি 100 নয়, তাই আপনার সেই অনুযায়ী ব্যবহারের ক্ষেত্রে পুলের আকারটি নির্ধারণ করতে হবে। YMMV।

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