Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-31 Thread Kostas Zorbadelos
David Diggles da...@elven.com.au writes:

 On Tue, May 29, 2012 at 01:44:51PM +0300, Kostas Zorbadelos wrote:
 Henning Brauer lists-open...@bsws.de writes:
 
  if it is really thread related and not sth small  stupid - try it.

 For testing purposes, do you have pf turned off, or a 1 line pf.conf, like:


pf is disabled during the tests.

 pass

 ?



Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-30 Thread David Diggles
On Tue, May 29, 2012 at 01:44:51PM +0300, Kostas Zorbadelos wrote:
 Henning Brauer lists-open...@bsws.de writes:
 
  if it is really thread related and not sth small  stupid - try it.

For testing purposes, do you have pf turned off, or a 1 line pf.conf, like:

pass

?



Large scale DNS anycast setup: OpenBSD performance issues

2012-05-29 Thread Kostas Zorbadelos
Greetings to all,

here is a followup of an older thread [1] regading the use of OpenBSD in
a large scale DNS anycast setup. To make the long story short, OpenBSD
fails to meet our resolving perfomance needs for the time being. The
main issue (from my understanding) is the lack of kernel-level thread
support (which is something hopefully to be addressed really soon with
rthreads).  
I stress tested BIND on Linux and OpenBSD in a VM based lab environment
using Nominum's resperf [2] tool (details below).
Our current numbers in the resolving customer-facing infrastructure are
around 10K queries/second at peak. All servers currently (linux based)
utilize more than a CPU to accomodate the load. 
I would have liked to introduce OpenBSD in my working environment
especially for the excellent networking features, but the current
performance numbers are prohibitive in our case. It will at least
have to wait until rthreads support is part of a release (and of course
I am more than willing to test snapshots if someone can direct me as to
which I should test).

The rest are the details (only for interested readers) :)

The lab environment consisted of two VMs with identical configuration on
top of VMWARE's ESXi 4.1.0. Each VM has 2 vCPUs (Intel Xeon X5650), 8GB
RAM and 2 NICs (BIND listens on the first interface and forwards all
resolving traffic in the second).

The systems tested were CentOS 6.2 and OpenBSD 5.1 with the default BIND 
(bind-9.7.3-8.P3.el6_2.2.x86_64 for CentOS, base system's BIND for
OpenBSD). 

kzorba@dmeg-dns1: ~ -sysctl hw
hw.machine=amd64
hw.model=Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
hw.ncpu=2
hw.byteorder=1234
hw.pagesize=4096
hw.disknames=cd0:,sd0:6f2e8c0759d7fce1,fd0:
hw.diskcount=3
hw.sensors.acpiac0.indicator0=On (power supply)
hw.sensors.vmt0.timedelta0=-5971.426309 secs, OK, Tue May 29
12:04:19.156
hw.cpuspeed=2659
hw.vendor=VMware, Inc.
hw.product=VMware Virtual Platform
hw.version=None
hw.serialno=VMware-56 4d ea ff 3c cb c5 ea-3a 4d e9 45 d9 73 01 50
hw.uuid=564deaff-3ccb-c5ea-3a4d-e945d9730150
hw.physmem=8588820480
hw.usermem=8588804096
hw.ncpufound=2
hw.allowpowerdown=1
 
I have Gbps bandwidth on all interfaces, so bandwidth cannot affect the
measurements. In all tests, I used an hour's real captured queries
traffic from our production resolvers.

The test scenaria were:

- 3 runs with resperf's default options with a BIND restart after each
  run to start with a clear cache

- 3 more runs with the options -m 2 -r 120 (that is go to at top
  20K/sec queries and reach that after 2 minutes) followed by restarts
  after every run

- 1 run with default options followed by an extra run without restart
  (cache utilization)

- 1 run with the options -m 2 -r 120 followed by an extra run
  without restart (cache utiliztaion)

- 2 runs giving a constant 15 minutes load to the systems with resperf's
  options -c 900 -m 2 -r 120 -i 5
  OpenBSD in these tests, failed to follow the load and the option I
  used to finish the test succesfully was -m 1 (that is in my lab
  setup it would accomodate a steady flow of 10K queries/sec at most)

In all cases, as you might expect OpenBSD had half (or less than half)
the performance of Linux. My outcome is the thread support. I really hope
I am not missing something else.

Any input highly welcome.
Regards,

Kostas

[1] http://marc.info/?l=openbsd-miscm=132395738031428w=2
[2] http://www.nominum.com/resources/measurement-tools



Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-29 Thread Tomas Bodzar
On Tue, May 29, 2012 at 11:26 AM, Kostas Zorbadelos kzo...@otenet.gr wrote:
 Greetings to all,

 here is a followup of an older thread [1] regading the use of OpenBSD in
 a large scale DNS anycast setup. To make the long story short, OpenBSD
 fails to meet our resolving perfomance needs for the time being. The
 main issue (from my understanding) is the lack of kernel-level thread
 support (which is something hopefully to be addressed really soon with
 rthreads).
 I stress tested BIND on Linux and OpenBSD in a VM based lab environment
 using Nominum's resperf [2] tool (details below).
 Our current numbers in the resolving customer-facing infrastructure are
 around 10K queries/second at peak. All servers currently (linux based)
 utilize more than a CPU to accomodate the load.
 I would have liked to introduce OpenBSD in my working environment
 especially for the excellent networking features, but the current
 performance numbers are prohibitive in our case. It will at least
 have to wait until rthreads support is part of a release (and of course
 I am more than willing to test snapshots if someone can direct me as to
 which I should test).

 The rest are the details (only for interested readers) :)

 The lab environment consisted of two VMs with identical configuration on
 top of VMWARE's ESXi 4.1.0. Each VM has 2 vCPUs (Intel Xeon X5650), 8GB
 RAM and 2 NICs (BIND listens on the first interface and forwards all
 resolving traffic in the second).

 The systems tested were CentOS 6.2 and OpenBSD 5.1 with the default BIND
 (bind-9.7.3-8.P3.el6_2.2.x86_64 for CentOS, base system's BIND for
 OpenBSD).

 kzorba@dmeg-dns1: ~ -sysctl hw
 hw.machine=amd64
 hw.model=Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
 hw.ncpu=2
 hw.byteorder=1234
 hw.pagesize=4096
 hw.disknames=cd0:,sd0:6f2e8c0759d7fce1,fd0:
 hw.diskcount=3
 hw.sensors.acpiac0.indicator0=On (power supply)
 hw.sensors.vmt0.timedelta0=-5971.426309 secs, OK, Tue May 29
 12:04:19.156
 hw.cpuspeed=2659
 hw.vendor=VMware, Inc.
 hw.product=VMware Virtual Platform
 hw.version=None
 hw.serialno=VMware-56 4d ea ff 3c cb c5 ea-3a 4d e9 45 d9 73 01 50
 hw.uuid=564deaff-3ccb-c5ea-3a4d-e945d9730150
 hw.physmem=8588820480
 hw.usermem=8588804096
 hw.ncpufound=2
 hw.allowpowerdown=1

 I have Gbps bandwidth on all interfaces, so bandwidth cannot affect the
 measurements. In all tests, I used an hour's real captured queries
 traffic from our production resolvers.

 The test scenaria were:

 - 3 runs with resperf's default options with a BIND restart after each
 B run to start with a clear cache

 - 3 more runs with the options -m 2 -r 120 (that is go to at top
 B 20K/sec queries and reach that after 2 minutes) followed by restarts
 B after every run

 - 1 run with default options followed by an extra run without restart
 B (cache utilization)

 - 1 run with the options -m 2 -r 120 followed by an extra run
 B without restart (cache utiliztaion)

 - 2 runs giving a constant 15 minutes load to the systems with resperf's
 B options -c 900 -m 2 -r 120 -i 5
 B OpenBSD in these tests, failed to follow the load and the option I
 B used to finish the test succesfully was -m 1 (that is in my lab
 B setup it would accomodate a steady flow of 10K queries/sec at most)

 In all cases, as you might expect OpenBSD had half (or less than half)
 the performance of Linux. My outcome is the thread support. I really hope
 I am not missing something else.

Probably you are aware that OpenBSD doesn't have VMware tools from
VMware available (they have impact) and that threading is enabled (and
not done yet) in OpenBSD -current so you are comparing something which
is not much comparable.


 Any input highly welcome.
 Regards,

 Kostas

 [1] http://marc.info/?l=openbsd-miscm=132395738031428w=2
 [2] http://www.nominum.com/resources/measurement-tools



Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-29 Thread Henning Brauer
* Kostas Zorbadelos kzo...@otenet.gr [2012-05-29 11:27]:
 here is a followup of an older thread [1] regading the use of OpenBSD in
 a large scale DNS anycast setup. To make the long story short, OpenBSD
 fails to meet our resolving perfomance needs for the time being. The
 main issue (from my understanding) is the lack of kernel-level thread
 support (which is something hopefully to be addressed really soon with
 rthreads).  

 I would have liked to introduce OpenBSD in my working environment
 especially for the excellent networking features, but the current
 performance numbers are prohibitive in our case. It will at least
 have to wait until rthreads support is part of a release (and of course
 I am more than willing to test snapshots if someone can direct me as to
 which I should test).

if it is really thread related and not sth small  stupid - try it.
http://your.favorite.mirror/pub/OpenBSD/snapshots/$arch/

also, you'd do yourself much of a favor by using real hardware and not
some crappy emulation of garbage.

-- 
Henning Brauer, h...@bsws.de, henn...@openbsd.org
BS Web Services, http://bsws.de, Full-Service ISP
Secure Hosting, Mail and DNS Services. Dedicated Servers, Root to Fully Managed
Henning Brauer Consulting, http://henningbrauer.com/



Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-29 Thread Kostas Zorbadelos
Henning Brauer lists-open...@bsws.de writes:

 if it is really thread related and not sth small  stupid - try it.
 http://your.favorite.mirror/pub/OpenBSD/snapshots/$arch/


Will do.

 also, you'd do yourself much of a favor by using real hardware and not
 some crappy emulation of garbage.

This is what I have for now. Real hardware will be bought in a few
months. I intend to do tests on real hardware as the VMWARE layer can
introduce stuff.

Will let you know how it turns out.



Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-29 Thread Daniel Melameth
On Tue, May 29, 2012 at 4:01 AM, Tomas Bodzar tomas.bod...@gmail.com wrote:
 Probably you are aware that OpenBSD doesn't have VMware tools from
 VMware available (they have impact)...

While I don't think it'd help here, you might want to see vmt(4) and vic(4)...



Re: Large scale DNS anycast setup: OpenBSD performance issues

2012-05-29 Thread Tomas Bodzar
On Tue, May 29, 2012 at 4:29 PM, Daniel Melameth dan...@melameth.com wrote:
 On Tue, May 29, 2012 at 4:01 AM, Tomas Bodzar tomas.bod...@gmail.com wrote:
 Probably you are aware that OpenBSD doesn't have VMware tools from
 VMware available (they have impact)...

 While I don't think it'd help here, you might want to see vmt(4) and vic(4)...

vmt(4) handles shutdown/reboot/suspend/resume and time synchronisation
vic(4) is just network device and probably doesn't support full range
of features

not any of them handles I/O, paging, SMP and other stuff where a lot
of other overhead is involved in VMware platform. That difference is
visible even in local test setup in VMware Player or VirtualBox