কীভাবে ডিএনএস ক্যাশে দক্ষতা / ক্যাশেড আইটেমগুলি পরিমাপ করবেন?


16

আমি dnsmasqএকটি ডেবিয়ান সার্ভারে কেবলমাত্র ক্যাশিং-ডিএনএস সার্ভার হিসাবে কনফিগার করেছি এবং এটি ভালভাবে কাজ করছে (আমি ডিগের মাধ্যমে উন্নত ডিএনএস প্রতিক্রিয়া বার দেখছি)।

যাইহোক, আমি যে dnsmasqকোনও সময় কী ক্যাশে করছে তা বুঝতে চাই , যাতে আমি যে দক্ষতা অর্জন করছি (অর্থাত্ হিট রেট) তার সম্পর্কে আমি ভাবতে শুরু করতে পারি।

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

dnsmasqডিএনএস ক্যাশে কি কেবল স্মৃতিতে রাখা আছে? অথবা আমাকে কিছু লগ ফাইল মংিং করতে হবে?

উত্তর:


22

dnsmasqএই থ্রেড অনুসারে আমার অ্যাক্সেস নেই তবে শিরোনাম: ডিএনএসমাস্ক এটি ক্যাচ করছে? আপনি dnsmasqপ্রক্রিয়াতে সংকেত ইউএসআর 1 প্রেরণ করতে পারেন , এটি সিস্টেম লগের পরিসংখ্যানগুলি ডাম্প করার কারণে।

$ sudo pkill -USR1 dnsmasq

তারপরে সিস্টেম লগগুলি পরামর্শ করুন:

$ sudo tail /var/log/syslog
Jan 21 13:37:57 dnsmasq[29469]: time 1232566677
Jan 21 13:37:57 dnsmasq[29469]: cache size 150, 0/475 cache insertions re-used unexpired cache entries.
Jan 21 13:37:57 dnsmasq[29469]: queries forwarded 392, queries answered locally 16
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.222.222#53: queries sent 206, retried or failed 12
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.220.220#53: queries sent 210, retried or failed 6

দ্রষ্টব্য: আমি বিশ্বাস করি যে dnsmasqএটির ক্যাশে র‌্যামে ধরে রেখেছে।

সুতরাং আপনি যদি ক্যাশে ফেলে দিতে চান তবে আপনাকে -qযখন অনুরোধ dnsmasqকরা হয় তখন আপনাকে স্যুইচ সক্ষম করতে হবে । dnsmasqম্যান পেজে এটি উল্লেখ করা হয়েছে :

   -d, --no-daemon
        Debug mode: don't fork to the background, don't write a pid file, 
        don't change user id, generate a complete cache dump  on
        receipt on SIGUSR1, log to stderr as well as syslog, don't fork new 
        processes to handle TCP queries. Note that this option is for use in 
        debugging only, to stop dnsmasq daemonising in production, use -k.

   -q, --log-queries
        Log the results of DNS queries handled by dnsmasq. Enable a full 
        cache dump on receipt of SIGUSR1.

1
ধন্যবাদ, এটি কাজ করে বলে মনে হচ্ছে এবং এর মতো আউটপুট উত্পাদন করে: অক্টোবর 20 08:39:17 dnsmasq [4846]: সময় 1413790757 অক্টোবর 20 08:39:17 dnsmasq [4846]: ক্যাশে আকার 4096, 0/59976 ক্যাশে সন্নিবেশ পুনরায়- অপ্রত্যাশিত ক্যাশে এন্ট্রি ব্যবহার করা হয়েছে। অক্টোবর 20 08:39:17 ডিএনএমএসএএসসি [4846]: ক্যোয়ারী 13376 ফরোয়ার্ড করা হয়েছে, স্থানীয়ভাবে স্থানীয়ভাবে প্রশ্নের উত্তর দেওয়া হয়েছে 1326 সুতরাং আমার ধারণা মোট ক্যাশে প্রবেশের হিট: 1326/14702 যা প্রায় 9% 9 আমি যত বেশি সময় এটি চালিয়ে যাব এবং যে সাইটগুলিতে আমি ভিজিট করি তত বেশি সাইটগুলি ছেড়ে যায়, আমি অনুমান করি যে এটি ক্রপ হয়ে যাবে।
বাইনারিফ্রস্ট

ওপেনডব্লিউআরটি ভিত্তিক রাউটারগুলি ব্যবহার করুন logread | tail
ব্রায়ান

1
@ বাইনারিফ্রোস্টে কোনও ধারণাগুলি ডিএনএস ঠিকানা অনুসারে মেমরি ব্যবহার সম্পর্কে কোন ধারণা নেই? আসুন আমি বলি যে আমার 500,000 ক্যাশে আকার থাকলে সম্পূর্ণ রেকর্ডে কত মেমরি ব্যবহার করা হবে বলে আশা করা যায়?
স্ক্যাচ_বুজি

সিস্টেমে ব্যবহার করা সিস্টেমগুলিতে / var / log / syslog নেই এবং আউটপুটতে SIGUSR1 জারির পরে dnsmasq এর জন্য আমি কোনও প্রবেশিকা পাই না journalctl। Dnsmasq রেকর্ডগুলি ডাম্প করা উচিত যেখানে স্পষ্টভাবে নির্দিষ্ট করার কোন উপায় আছে?
সের্গেই কলডিয়াজন্য

2

ম্যান পৃষ্ঠা থেকে এই তথ্যটি পাওয়ার আরও একটি উপায়:

ডিএএনএসে CHAOS শ্রেণীর প্রশ্নের জবাব হিসাবে এবং ডোমেন বাইন্ডে টিএক্সটি টাইপ করুন ক্যাশে পরিসংখ্যান। ডোমেনের নামগুলি cacheize.bind, insertions.bind, evictions.bind, মিসেস.বাইন্ড, hits.bind, auth.bind এবং সার্ভার.বাইন্ড। এটি জিজ্ঞাসা করার জন্য উদাহরণ কমান্ড, ডিগ ইউটিলিটি ব্যবহার করা হবে

   dig +short chaos txt cachesize.bind
   dig +short chaos txt hits.bind
   dig +short chaos txt misses.bind

আপনার সিস্টেমে যদি সিস্টেমড-রেজোলিউশনের মতো কিছু থাকে তবে আপনার সাথে সরাসরি সার্ভারটি জিজ্ঞাসা করতে হবে:

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