PostgreSQL সর্বাধিক কর্মক্ষমতা এসএসডি


19

আমার কাছে একটি বিশাল পোস্টগ্রিসকিউএল 9.3 ডাটাবেস থাকবে যা অনেকগুলি টেবিল সহ প্রতি টেবিলে 100 এম এর বেশি এন্ট্রি সহ থাকে। এই ডাটাবেসটি মূলত পঠনযোগ্য হবে (একবার আমি সমস্ত প্রয়োজনীয় টেবিলগুলি পূরণ করি এবং সূচকগুলি ডিবিতে আর লেখার জন্য আর কাজ করি না) এবং একক-ব্যবহারকারীর অ্যাক্সেস (লোকালহোস্ট থেকে একাধিক অনুসন্ধান চালান এবং বেঞ্চমার্ক), যেহেতু ডিবি ব্যবহৃত হবে শুধুমাত্র গবেষণা উদ্দেশ্যে। প্রশ্নগুলি সর্বদা পূর্ণসংখ্যার ডিবি ক্ষেত্রগুলিতে JOIN ব্যবহার করবে।

আমি সম্ভবত এই উদ্দেশ্যে একটি এসএসডি (256-512 জিবি) কিনব। আমি এর আগে কোনও ডিবি-র জন্য এসএসডি ব্যবহার করি নি, তাই আমার কী ভয় পাওয়ার কিছু আছে? আমি কি পুরো ডিবিটি এসএসডি, বা কেবল সূচকগুলিতে লাগাতে পারি? এসএসডি-র জন্য পোস্টগ্রেএসকিউএল টিউন করার জন্য কি কোনও বিশেষ পরামর্শ / টিউটোরিয়াল প্রয়োজন? দ্রষ্টব্য, আমার আই 7 এবং 32 জিবি র‌্যামের সাথে আমার একটি ভাল ওয়ার্কস্টেশন রয়েছে, তাই সম্ভবত আপনি সেখানেও কিছু পরামর্শ দিতে পারেন।

উত্তর:


16

তাহলে আমার কি ভয় পাওয়ার কিছু আছে?

ব্যাকআপ নেই। যে কোনও স্টোরেজ ডিভাইসের মতোই এটি মারা যেতে পারে। ব্যাকআপ রাখুন।

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

আমি কি পুরো ডিবিটি এসএসডি, বা কেবল সূচকগুলিতে লাগাতে পারি?

যদি এটি ফিট হয় তবে পুরো ডিবি সঞ্চয় করুন।

যদি এটি না হয় তবে এসএসডি তে একটি টেবিলস্পেস রাখুন এবং এটি সূচীগুলি এবং ভারী কোয়েরি টেবিলগুলির মধ্যে উপযুক্ত হিসাবে সংরক্ষণ করতে এটি ব্যবহার করুন।

এসএসডি-র জন্য পোস্টগ্রেএসকিউএল টিউন করার জন্য কি কোনও বিশেষ পরামর্শ / টিউটোরিয়াল প্রয়োজন?

এসএসডি-র বেশিরভাগ সুবিধা হ'ল ওয়ালটিপি লেখার ভার। কেবল পঠনযোগ্য লোডগুলির জন্য প্রধান সুবিধাটি দ্রুত সিক্স এবং স্লার্ডিয়ের এটি আবৃত করে।

আপনি effective_io_concurrency = 5এসএসডিগুলি দ্রুত করতে পারে, এটি ভারীভাবে পাইপলাইনযুক্ত এলোমেলোভাবে পড়তে পারে এই সত্যটি প্রতিবিম্বিত করতে বা কিছু সেট করতে চাইতে পারেন ... তবে এটি কেবল বিটম্যাপ সূচক স্ক্যানগুলিকেই প্রভাবিত করে এবং বাস্তবে এটি random_page_costইতিমধ্যে অন্তর্ভুক্ত করে।

কেবল পঠনযোগ্য লোডের জন্য এটি এক টন পার্থক্য করে না।

প্রাথমিক ডেটা লোডের জন্য, দেখুন:

দ্রষ্টব্য, আমার আই 7 এবং 32 জিবি র‌্যামের সাথে আমার একটি ভাল ওয়ার্কস্টেশন রয়েছে, তাই সম্ভবত আপনি সেখানেও কিছু পরামর্শ দিতে পারেন।

maintenance_work_memডেটা লোডের জন্য একটি বড় সেট করুন । আমি অন্তত ব্যবহার করতে চাই 8GB

work_memঅনুসন্ধানের কাজের জন্য একটি বড় সেট করুন । উপযুক্ত আকার কোয়েরি জটিলতার উপর কিছুটা নির্ভর করে। শুরু করুন 500MBএবং সেখান থেকে উপরে যান।

checkpoint_segmentsপ্রাথমিক ডেটা লোডের জন্য আপনার (বৃহত্তর) গাঁট ফেলা ।

ভিএম ওভারকমিটটি অক্ষম করতে ভুলবেন না! (পোস্টগ্রাইএসকিউএল ম্যানুয়ালটি দেখুন: http://www.postgresql.org/docs/current/static/kernel-resources.html )


22

এসএসডি সম্পর্কে, মূল পরামর্শটি হ'ল পোস্টগ্র্রেসক্লাল.কমের মধ্যে 'র্যান্ডম_পেজ_কোস্ট' সমান 1 ('সিক্যু_পেজ_কোস্ট' এর সমান) থেকে অন্যের ইউটিউয়াল সেটিংসের চেয়ে কম।


সম্ভবত যদি দুটি মানই 1.0 চেয়ে কম হওয়া দরকার, অনুযায়ী postgresql.org/docs/11/... : "আপনি বাড়াতে বা উভয় মান একসঙ্গে কম ডিস্ক আমি গুরুত্ব পরিবর্তন করতে পারেন ইনপুট / আউটপুট CPU- র খরচ, যার দ্বারা বর্ণনা করা হয় আপেক্ষিক খরচ নিম্নলিখিত পরামিতি "।
কিরিল বুলিগিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.