পোস্টগ্র্যাসের পরিসংখ্যান সংগ্রহকারী প্রক্রিয়া দ্বারা প্রচুর পরিমাণে I / O উত্পন্ন


10

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

দৌড়ানোর পরে iotopআমি লক্ষ করেছি যে পোস্টগ্র্যাসের স্ট্যাটাস সংগ্রাহক প্রক্রিয়া প্রক্রিয়া নিয়মিতভাবে প্রায় 2 এমবিআইটি / এস হারে ডিস্কে লিখতে থাকে।

আমি তখন সম্পাদনা করে পরিসংখ্যান সংগ্রহ নিষ্ক্রিয় /etc/postgresql/8.4/main/postgresql.conf:

#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------

# - Query/Index Statistics Collector -

track_activities = off
track_counts = off
...

http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htm এ পরামর্শ দেওয়া হয়েছে ।

এটি অবিচ্ছিন্ন লেখাটি সরিয়ে দিয়েছে, তবে পরিসংখ্যান ট্র্যাকিং বন্ধ করে দেওয়ার কোনও অসুবিধা আছে কি?

অথবা ডিস্ক / নেটওয়ার্ক ট্র্যাফিক এড়ানোর জন্য আমি কি পিগ_স্ট্যাট_টিএমপি ডিরেক্টরিটি র‌্যামডিস্কে রেখেছি?

সিস্টেমটি একটি আপ-টু-ডেট ডেবিয়ান 6.0.7 (স্ক্রুজ) সহ পোস্টগ্রিজ 8.4 এবং প্রায় 50 টি টেবিল সহ 20 টি ডাটাবেস, মোট ডাম্প ফাইলের আকার 100 এমবাইটের চেয়ে কম।

উত্তর:


7

পোস্টগ্রিএসকিউএল আপগ্রেড করা কোনও বিকল্প নয়, তাই আমি pg_stat_tmp ডিরেক্টরিটি একটি tmpfs ফাইল সিস্টেমে রাখার চেষ্টা করেছি, যা একটি উল্লেখযোগ্য পারফরম্যান্স উন্নতি করেছে improvement আমি এখন কয়েক দশক ধরে কোনও লক্ষণীয় ত্রুটি ছাড়াই কয়েক ডজন সিস্টেমে এটি চালাচ্ছি।

এটি করার জন্য, কেবল আপনার / etc / fstab ফাইলে tmpfs দিয়ে pg_stat_tmp মাউন্ট করুন:

# <file system> <mount point>                                <type>  <options>  <dump>  <pass>
tmpfs           /var/lib/postgresql/8.4/main/pg_stat_tmp     tmpfs   defaults,noatime,mode=1777,uid=postgres,gid=postgres,nosuid,nodev 0 0

আমি পোস্টগ্র্যাস্কল 9.1 এর জন্য এটি করেছি। আমার সার্ভারগুলির মধ্যে একটিতে সারা দিন ধরে 1 এমবি / গুলি অবিরত লেখা ছিল। এটি এটিকে প্রায় কিছুতেই নামিয়েছে। এটি ডক্স দ্বারা অনুমোদিত , বিটিডাব্লু: "... র‌্যাম-ভিত্তিক ফাইল সিস্টেমে এটি
দেখানো

0

PostgreSQL আপগ্রেড করুন। সর্বনিম্ন সর্বনিম্ন নিশ্চিত করুন যে আপনি সর্বশেষতম 8.4 রিলিজে আছেন; যদি এটি এটিকে সম্বোধন করে না এবং এটি ব্যবহারিক ব্যবহারিক হয় তবে সম্ভবত আপনার 9.2 এ উন্নীত করা উচিত। পরিসংখ্যান সংগ্রহকারী সম্পর্কে কমপক্ষে কয়েকটি ইস্যু 8.4 সাল থেকে সমাধান করা হয়েছে এবং প্রায় এক বছরে জীবনের শেষের দিকে পৌঁছে যাবে । আপনি pgsql- সাধারণ মেলিং তালিকার সংরক্ষণাগারগুলি অনুসন্ধান করে আরও তথ্য সন্ধান করতে পারবেন ।

8.4 থেকে 9.2 থেকে আপগ্রেড করার ক্ষেত্রে আপনার খুব বেশি সমস্যা হবে না, যদিও যথারীতি আপনাকে অবশ্যই প্রতিটি .0 প্রকাশের অভ্যন্তরে (9.0, 9.1 এবং 9.2) জন্য রিলিজ নোটগুলির আপগ্রেড বিভাগটি পড়তে হবেstandard_conforming_stringsএবং বিশেষ মনোযোগ দিন bytea_output


0

এখানেও একই সমস্যা। আমিও অক্ষম করে রেখেছিলাম track_*ইত্যাদি।

পার্শ্ব প্রতিক্রিয়া হ'ল autovacuumএই সংগৃহীত ডেটা জ্বলতে ব্যবহার করা।

সুতরাং, আমি রাত্রে সময়সূচী যত্ন নিতে vacuumdb

অন্যান্য সমাধানটি autovacuum_naptimeসিস্টেম বিশ্রামের জন্য যথেষ্ট উচ্চতর সেট করা হয় ।

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