আমি কীভাবে বলতে পারি যে আমার পোস্টগ্রিস ডাটাবেস প্রতি সেকেন্ডে কতগুলি ক্যোয়ারী চালাচ্ছে?
আমি কীভাবে বলতে পারি যে আমার পোস্টগ্রিস ডাটাবেস প্রতি সেকেন্ডে কতগুলি ক্যোয়ারী চালাচ্ছে?
উত্তর:
সমস্ত ডাটাবেসে চালিত লেনদেনের মোট সংখ্যা পড়তে এই কোয়েরিটি ব্যবহার করুন :
SELECT sum(xact_commit+xact_rollback) FROM pg_stat_database;
আপনি যদি কেবল একটি ডাটাবেসের জন্য একই কাউন্টার চান তবে ব্যবহার করুন:
SELECT xact_commit+xact_rollback FROM pg_stat_database WHERE datname = 'mydb';
টিপিএস (প্রতি সেকেন্ডে লেনদেন) গণনা করতে, ক্যোয়ারিকে কয়েকবার চালান এবং সময়ের ব্যবধানে পার্থক্য গণনা করুন।
এর জন্য প্রস্তুত সরঞ্জামগুলি রয়েছে, তাদের মধ্যে একটি হ'ল http://bucardo.org/wiki/Check_postgres
আরও তথ্য: http://www.postgresql.org/docs/9.2/static/mon भयो-stats.html#PG-STAT-DATABASE-view
আপডেট: কনরাড তার প্রশ্নের আমার ভুল বোঝাবুঝির সংশোধন করেছেন। লক্ষ্য ছিল লেনদেন নয়, প্রশ্নগুলি গণনা করা।
কীভাবে প্রশ্নগুলি গণনা করবেন?
পদ্ধতি 1
Pg_stat_statements অবদান ব্যবহার করুন ।
পদ্ধতি 2
প্রতিনিধি সময়ের জন্য প্রশ্নের সম্পূর্ণ লগিং সক্ষম করুন।
সম্পূর্ণ লগিং সক্ষম করতে পোস্টগ্রিএসকিউএল 9.0 - 9.3 এর জন্য নিম্নলিখিত সেটিংসটিতে পরিবর্তন করুন postgresql.conf
logging_collector = on
log_line_prefix = '%t '
log_rotation_size = 1GB
log_statement = all
আপনার কাছে ক্যোয়ারী সময়কাল দেখতে চান, আপনি সেট করতে পারেন log_min_duration_statement = 0 পরিবর্তে এর log_statement = all। এটি ক্যোয়ারী টিউনিংয়ের জন্য খুব দরকারী।
তারপরে কনফিগারটি পুনরায় লোড করুন (পুনরায় চালু করুন বা এইচইউপি) এবং ট্র্যাফিক অনুমান করার জন্য পর্যাপ্ত লগ সংগ্রহ করুন।
দ্রষ্টব্য: উভয়ই পদ্ধতিতে ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলিতে এম্বেড করা প্রশ্নের অন্তর্ভুক্ত থাকবে না।