Hello all, sorry for the big mail that follows. These are my first attempts at fine tuning and stress testing in OpenBSD so excuse my ignorance. I am stress testing BIND as a resolver on Linux (CentOS 6) and OpenBSD (5.0 release). I will evaluate unbound since this will be included in base also later. I use BIND that comes with the operating systems (9.4.2-P2 in base for OpenBSD and bind-9.7.3 rpm that comes with CentOS 6), however this is rather irrelevant for my questions. I am trying to fill as much as I can in BIND's cache and I use 2 VMs with identical configuration (2 CPUs, 8GB RAM) for the systems to perform the tests. The tests are simple shell scripts running from a couple of clients that generate random names and ask (using dig(1)) for various RRs, most of them won't exist so the nameserver should cache a negative response. I have increased the caching ttl configs to both systems as
# 7 days max ttls for the stress tests max-ncache-ttl 604800; max-cache-ttl 604800; I run the tests for a couple of days, identical load on both systems. Here is the relevant top(1) and ps(1) output on both systems: OpenBSD --------- load averages: 0.39, 0.41, 0.40 openbsd-dns 14:23:05 37 processes: 36 idle, 1 on processor CPU0 states: 4.2% user, 0.0% nice, 2.2% system, 1.8% interrupt, 91.8% idle CPU1 states: 3.4% user, 0.0% nice, 3.8% system, 0.2% interrupt, 92.6% idle Memory: Real: 609M/1231M act/tot Free: 6728M Cache: 551M Swap: 0K/502M PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND 31077 named 2 0 592M 594M sleep/1 select 217:52 12.65% named 1970 _pflogd 4 0 728K 384K sleep/1 bpf 0:34 0.00% pflogd 1642 root 2 0 1240K 2124K sleep/0 select 0:29 0.00% sendmail ... kzorba@openbsd: ~ ->ps -ax -v | head PID STAT TIME SL RE PAGEIN VSZ RSS LIM TSIZ %CPU %MEM COMMAND 31077 S 216:21.22 0 127 7 606228 608260 8145988 1292 13.2 7.3 /usr/sbin/named 10103 Is 0:00.21 127 127 0 3500 3120 8145988 284 0.0 0.0 sshd: kzorba [priv] (sshd) 32112 S 0:00.53 5 127 0 3500 2316 8145988 284 0.0 0.0 sshd: kzorba@ttyp0 (sshd) 23004 Is 0:00.02 127 127 0 3420 3136 8145988 284 0.0 0.0 sshd: kzorba [priv] (sshd) 1816 S 0:00.06 0 127 0 3420 2292 8145988 284 0.0 0.0 sshd: kzorba@ttyp3 (sshd) 15380 Is 0:00.02 127 127 0 3376 3160 8145988 284 0.0 0.0 sshd: kzorba [priv] (sshd) 21925 Is 0:00.16 127 127 0 3372 3144 8145988 284 0.0 0.0 sshd: kzorba [priv] (sshd) 3237 I 0:00.08 127 127 0 3344 2336 8145988 284 0.0 0.0 sshd: kzorba@ttyp2 (sshd) 12462 I 0:00.40 22 127 0 3340 2296 8145988 284 0.0 0.0 sshd: kzorba@ttyp1 (sshd) CentOS 6 Linux --------------- top - 14:24:11 up 15 days, 23:29, 3 users, load average: 0.00, 0.00, 0.00 Tasks: 114 total, 1 running, 113 sleeping, 0 stopped, 0 zombie Cpu(s): 3.1%us, 2.4%sy, 0.0%ni, 92.8%id, 0.0%wa, 0.3%hi, 1.4%si, 0.0%st Mem: 8062104k total, 5052532k used, 3009572k free, 144560k buffers Swap: 5486188k total, 0k used, 5486188k free, 218556k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19542 named 20 0 4582m 4.3g 2564 S 11.6 55.3 193:28.88 named 1 root 20 0 19328 1528 1220 S 0.0 0.0 0:00.77 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.06 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:16.42 ksoftirqd/0 ... kzorba@linux~->ps aux | head -1 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND kzorba@linux~->ps aux | grep named named 19542 6.7 55.4 4692936 4468528 ? Ssl Apr18 194:02 /usr/sbin/named -u named -t /var/named/chroot I understand the kernel VM layers are completely different, but how come the named process on OpenBSD for the same load consumes so low resident memory? Also, why VZS < RSS on OpenBSD? The general question I am trying to answer is, can BIND utilize all available memory on the system (so I can arrange the amount of memory when I order the servers). I understand I need reading. Any pointers to documentation or hints are highly welcome. Regards, Kostas -- Kostas Zorbadelos twitter:@kzorbadelos http://gr.linkedin.com/in/kzorba ---------------------------------------------------------------------------- () www.asciiribbon.org - against HTML e-mail & proprietary attachments /\