পোস্টগ্রিস ডিস্ক আইও খুব বেশি। অবিলম্বে এটি হ্রাস করার জন্য আমি কী করতে পারি?


13

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

আমার অংশীদারি_বফার্স সেটিংটি 24MB এ রয়েছে যদিও সার্ভারে 16GB র্যাম রয়েছে যা সম্পূর্ণরূপে ব্যবহার হয় না। আমার প্রথম চিন্তাটি ছিল ডাটাবেসটিকে যতটা র‌্যাম লাগবে ততটা দিতে হবে তবে আমি কীভাবে করব তা নিশ্চিত নই (এটি একটি ডেডিকেটেড ডাটাবেস সার্ভার)।

পুনরায় আরম্ভের প্রয়োজন হয় না এমন যে কোনও সমাধান পছন্দনীয় তবে আমি এই মুহুর্তে যা পেতে পারি তা গ্রহণ করব।

ধন্যবাদ!


এই প্রশ্নটি সার্ভারফল্টে জিজ্ঞাসা করা উচিত
ফ্রান্সিসকো আর

আপনি shared_bufferspostgresql.conf কনফিগারেশন ফাইলটিতে বৃদ্ধি করার চেষ্টা করতে পারেন । এই পরিবর্তনটির পুনঃসূচনা প্রয়োজন। এছাড়াও, আপনার /proc/sys/kernel/shmmaxআগে এর মান বাড়ানো দরকার ।
খালেদ

উত্তর:


12

24 এমবি শেয়ার্ড_বফার্স সেটিংটি কনজারভেটিভ ডিফল্ট, আমি বলব যে এটি 16 গিগাবাইট র‌্যামের জন্য ডেডিকেটেড ডেটাবেসের জন্য অনেক বেশি হওয়া দরকার। তবে হ্যাঁ, এটির আকার পরিবর্তন করতে আপনাকে সার্ভারটি পুনরায় চালু করতে হবে। http://wiki.postgresql.org/wiki/Performance_Optimization কর্মক্ষমতা কনফিগারেশন নির্দেশিকা জন্য শুরু করার জন্য একটি ভাল জায়গা। ভাগ করা_বফারগুলি 4 জিবি বা 6 জিবিতে সেট করা আরও যুক্তিসঙ্গত বলে মনে হবে।

নোট করুন যে লিনাক্সে আপনাকে এই অংশীদারি করা মেমরির একটি ব্লক বরাদ্দ করতে কার্নেল.শ্মম্যাক্স সিসেক্টল সেটিংস (/etc/sysctl.conf বা কেবল / proc / sys / kernel / shmmax লিখে) সামঞ্জস্য করতে হবে। যদি আপনি কতটা অনুরোধ করা হয়েছিল তা উল্লেখ করে একটি ত্রুটি না পেলে আপনাকে কার্নেল.শ্মম্যাক্স এর চেয়ে বেশি সেট করতে হবে।

যেহেতু আপনার প্রচুর স্মৃতি রয়েছে, তাই আপনি ডিফল্ট ওয়ার্ক_মেমকে উচ্চতর সেট করার বিষয়েও বিবেচনা করতে পারেন, যা টেম্প ফাইলগুলি ব্যবহার না করে মেমরিতে কাজ করার প্রবণতা এবং গোছা (গোষ্ঠী / আদেশ / স্বতন্ত্র ইত্যাদি) তৈরি করবে। এটি করার জন্য আপনাকে সার্ভারটি পুনরায় চালু করার দরকার নেই, কেবল কনফিগার ফাইলটি আপডেট করুন, পরিষেবাটি পুনরায় লোড করুন এবং নতুন সেশনগুলি নতুন সেটিংস পাবে। সেশনের জন্য ডিফল্ট কাজের মেমরিটি 1 এমবি, আপনি একক সময়ে ব্যবহৃত হতে পারে এমন সর্বোচ্চটি গণনা করতে পারেন work_mem * max_client_connectionsএবং কী কী প্রভাব ফেলবে তা অনুমান করতে পারেন।

আপনার পরিকল্পনাকারীটিকে ইঙ্গিত করতে কার্যকর_cache_size বৃদ্ধি করা উচিত যে কার্নেল এফএস স্তরটি পোস্টগ্রেস্কেলের শেয়ার্ড বাফারের বাইরে মেমরির প্রচুর পৃষ্ঠাগুলি ক্যাশে করছে।

ইত্যাদি ইত্যাদি আশা করি এটি আপনাকে একটি ভাল সূচনায় নামবে।


ভাল পোস্ট, শুধুমাত্র আপনার মেমরি ব্যবহার অনুমান কিছুটা বিপজ্জনক। work_mem সর্বাধিক প্রতি সর্বাধিক / হ্যাশ অপারেশন তাই জটিল প্রশ্নগুলিতে একাধিক বাছাই / হ্যাশ অপারেশন থাকতে পারে এবং এভাবে আরও একটি ওয়ার্ক_মেম ব্যবহার করতে পারে।
ইলকে

ধন্যবাদ, এটি অনেক সাহায্য করেছে! আর একটি উল্লেখযোগ্য পরিবর্তন হ'ল চেকপয়েন্ট_সেকশন এবং চেকপয়েন্ট_কম্পলেশন_আরগেট যা আমার ডিস্ক ব্যবহার এবং সামগ্রিক কর্মক্ষমতাতে বড় প্রভাব ফেলেছিল। সঙ্কট এড়ানো গেল। ( wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server )
হেরেল


2

এখানে প্রদত্ত পরামর্শগুলি বাদ দিয়ে আপনি নিজের অটো ভ্যাকাম সেটিংসও সন্ধান করতে পারেন। ডিফল্টরূপে এটি প্রায় 50 টি আপডেটের পরে ট্রিগার করবে এবং যদি আপনার ডাটাবেসগুলি অনেকগুলি আপডেট / সন্নিবেশ করায় এটি অপ্রয়োজনীয় পরিমাণ ভ্যাকুয়াম স্টেটমেন্টগুলিকে ট্রিগার করতে পারে যা প্রচুর আইও উত্পন্ন করবে।


1

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

আরও এখানে দেখুন ।


0

যদি পোস্টগ্র্যাস্কিলের ডিস্কিওটি খুব বেশি থাকে তবে আপনার স্টেটমেন্টগুলি চলমান, বিশেষত স্টেটমেন্টগুলির জন্য, "ডিস্কে সাজানোর" জন্য পরীক্ষা করা উচিত এবং যথাযথ সূচকগুলি সেট করা উচিত।

"পোস্টগ্র্যাস্কল পারফরম্যান্স টিউনিং" এর জন্য কেবল গুগল, আপনি কোথায় শুরু করতে পারবেন তা যথেষ্ট পরিমাণে হিন্দি পাবেন।

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