কীভাবে পিজি_ডাম্পকে কম রিসোর্স লোভী করবেন


8

নিম্নলিখিত নিয়মটি ব্যবহার করে আমি প্রতিদিন ভিত্তিতে pg_dump শুরু করার জন্য ক্রোন কনফিগার করেছি:

# xyz database backups:
00 01 * * * root umask 077 && pg_dump --user=xyz_system xyz | gzip > /var/xyz/backup/db/xyz/`date -u +\%Y\%m\%dT\%H\%M\%S`.gz

মূলত, এটি কাজ করে। ডাটাবেস তুলনামূলকভাবে দ্রুত এবং তাত্পর্যপূর্ণভাবে বৃদ্ধি পায় (তবে সূচকটি খুব বড় নয়)। বর্তমানে গিজিপড ডাম্পটি প্রায় 160 এমবি লাগে। ডাটাবেস নষ্ট হয়ে গেলে সিস্টেম ক্রল করা শুরু করে। topকমান্ডটি ব্যবহার করে আমি যে লোড এভারেজটি দেখেছি তা প্রায় ছিল 200, 200, 180। মূলত সার্ভারটি খুব কমই প্রতিক্রিয়াশীল।

প্রথম প্রশ্ন তা নির্ধারণ করতে কিভাবে যেখানে বোতলের হয়। ভারী আই / ও অপারেশনের কারণে কি খারাপ কর্মক্ষমতা দেখা দেয়? এটি কি টেবিল লকিংয়ের সমস্যার কারণে ঘটে? এটা কি কোনও স্মৃতির সমস্যা? pg_dumpকমান্ডের আউটপুট পাইপ করা হয় gzip। এটি কি অনুক্রমিক, অর্থাত্ পুরো ডাম্পটি মেমোরিতে স্থাপন করা হয় (অদলবদল করতে সমস্যা?) এবং তারপরে সংক্ষেপিত বা সমবর্তী (যেমন জিজিপ এটি পায় যা সংকোচিত করে এবং আরও অপেক্ষা করে)? এটি অন্য কোনও কারণের কারণে হতে পারে?

দ্বিতীয় প্রশ্ন সিস্টেম কীভাবে প্রধান কাজগুলির জন্য ডাম্পিং অপারেশন কম অনধিকারমূলক করা হয়। যতদূর আমি জিনিসগুলি বুঝতে পারি, ডাটাবেসের অখণ্ডতার কারণে ডাম্প খুব বেশি সময় নিতে পারে না। এখানে টেবিল রাইটিং লকস রয়েছে etc.

তৃতীয় প্রশ্ন : এটা ইতিমধ্যে আরো উন্নত ডাটাবেসের কনফিগারেশন সম্বন্ধে জানতে সময়? সিস্টেম ঠিকঠাক কাজ করে, যখন ডাটাবেস ব্যাকআপ সঞ্চালিত হয় না, তবে সম্ভবত ডিবি ডাম্পিং ইস্যুটি আগত সমস্যার প্রথম লক্ষণ?

উত্তর:


13

কি দারুন. প্রশ্ন বিস্ময়কর। আমি কয়েকটিকে সম্বোধনের চেষ্টা করব, তবে এই উত্তরটি এখনও সম্পূর্ণ নয়।

কোথায় বাধা আছে তা নির্ধারণ করুন।

topডাম্প চলাকালীন কী হচ্ছে তা দেখতে প্রথমে ব্যবহার করুন । প্রক্রিয়া সিপিইউ ব্যবহার, প্রক্রিয়া স্থিতি পরীক্ষা করুন। Dএর অর্থ "I / O এর জন্য অপেক্ষা"।

ভারী আই / ও অপারেশনের কারণে কি খারাপ কর্মক্ষমতা দেখা দেয়?

হ্যাঁ, সম্ভবত

এটি কি টেবিল লকিংয়ের সমস্যার কারণে ঘটে?

হতে পারে. pg_stat_activityডাম্প চলাকালীন পোস্টগ্রিতে কী চলছে তা দেখতে আপনি সিস্টেম ভিউ ব্যবহার করতে পারেন ।

এটা কি কোনও স্মৃতির সমস্যা?

খুব অসম্ভাব্য.

Pg_dump কমান্ডের আউটপুট gzip কমান্ডে পাইপ করা হয়। এটি কি অনুক্রমিক, অর্থাৎ পুরো ডাম্পটি মেমরিতে রাখা হয়েছে (অদলবদল করতে সমস্যা?)

নং জিজিপ হ'ল স্ট্রিম মোডে কাজ করা একটি ব্লক সংক্ষেপক, এটি সমস্ত ইনপুট মেমরিতে রাখে না।

এবং তারপরে সংকুচিত বা সমবর্তী (যেমন gzip এটি পায় যা সংকোচিত করে এবং আরও অপেক্ষা করে)?

হ্যাঁ, এটি ব্লককে ব্লককে সংকোচিত করে, আউটপুট দেয় এবং আরও অপেক্ষা করে।

এটি অন্য কোনও কারণের কারণে হতে পারে?

হ্যাঁ.

যতদূর আমি জিনিসগুলি বুঝতে পারি, ডাটাবেসের অখণ্ডতার কারণে ডাম্প খুব বেশি সময় নিতে পারে না। এখানে টেবিল রাইটিং লকস রয়েছে etc. ইত্যাদি সমস্যাগুলিকে সীমাবদ্ধ করার জন্য আমি কী করতে পারি (বা এটি বিলম্ব করে, ডাটাবেসের বৃদ্ধি বিবেচনা করে)

ডাম্পের স্থায়িত্বের ডাম্প অখণ্ডতার কোনও প্রভাব নেই। সমস্ত pg_dump প্রক্রিয়া দ্বারা পুনরাবৃত্তযোগ্য পাঠ্য বিচ্ছিন্নতা স্তরের সাথে একটি লেনদেন ব্যবহার করে অখণ্ডতা নিশ্চিত করা হয় । কোনও টেবিল লেখার তালা নেই।

আরও উন্নত ডাটাবেস কনফিগারেশন সম্পর্কে জানতে ইতিমধ্যে কি সময় এসেছে? সিস্টেম ঠিকঠাক কাজ করে, যখন ডাটাবেস ব্যাকআপগুলি সঞ্চালিত হয় না, তবে সম্ভবত ডিবি ডাম্পিং ইস্যুটি আগত সমস্যার প্রথম লক্ষণ?

দেরি করোনা. Http://wiki.postgresql.org/wiki/Performance_Optimization দিয়ে শুরু করুন


এফডব্লিউআইডাব্লু, আমার pg_dump100% সিপিইউ নিয়ে সমস্যা ছিল এবং এটি জিপিপ থেকে ছিল। pg_dump --compress=0উবুন্টু 16.04-এ আমার জন্য এটি সমাধান করা নির্দিষ্ট করে। ব্যাকআপগুলি পরে খুব দ্রুত ছিল। পাত্রে gzip সংক্ষেপণের জন্য দেখুন; আপনি যা আশা করেন তা নাও করতে পারে।
লাইগামার

5

আমি আপনাকে পোস্টগ্রেসকিএল এর একটানা সংরক্ষণাগার দেখার জন্য পরামর্শ দিই । পিজি_ডাম্প ব্যবহারের মাধ্যমে এখানে সুবিধা রয়েছে:

  1. প্রতিবার পূর্ণ ব্যাকআপ করার দরকার নেই। একটি সম্পূর্ণ ব্যাকআপ শুরুতে যথেষ্ট, তবে উদাহরণস্বরূপ প্রতি বেশ কয়েকদিনে একটি পূর্ণ ব্যাকআপ রাখার পরামর্শ দেওয়া হয়।
  2. ডিবি আকারে বেড়ে গেলে পুনরুদ্ধার করতে খুব দ্রুত।
  3. অন্য কিছু পয়েন্ট (পয়েন্ট-ইন-টাইম পুনরুদ্ধার) পুনরুদ্ধার করার ক্ষমতা।
  4. আপনি প্রতি ঘন্টা (30 মিনিট বা তার বেশি) ইনক্রিমেন্টাল ব্যাকআপ করবেন। এটি কনফিগার করা যায় এবং আপডেট ক্রিয়াকলাপের উপরও নির্ভর করে।

তবে কিছু ত্রুটি রয়েছে (যা বেশিরভাগ ক্ষেত্রে সমস্যা নাও হতে পারে):

  1. সাধারণত আরও স্থানের প্রয়োজন হয় কারণ এগুলি বাইনারি ব্যাকআপ। ডিবি ফোল্ডারটি সংকুচিত করা যেতে পারে।
  2. আপনি এগুলি কোনও ভিন্ন আর্কিটেকচারে (বাইনারি ডেটা) পুনরুদ্ধার করতে পারবেন না।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.